You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
we have only instruction on ManticoreSearch installation at the manual but not about package upgrade. The only mention Changelog#Upgrade is
In case you run Manticoresearch in a distributed environment with multiple instances make sure your first upgrade agents, then the masters.
however it is not clear why agents should be upgraded first (as they could receive request with the old API version from master then reply with the same version as request received) but sending the request with the new API version cause the old agent to reply with the error.
There is no mention of how to upgrade from the very old versions - to upgrade only one agent and make sure it receives and replies well or check Changelog about breaking change in the API protocol in case of the distributed index.
That node with the indexer should be upgraded the last to make indexes these could be loaded by the old and the new daemons.
Need to keep separate RT and plain indexes from the upgraded daemon and old daemon as old daemon can not load indexes of the new versions, ie can not restore backup of the new version indexes into installation with the old daemon.
Need to keep in mind all previous points while upgrading nodes at the cluster. As replication protocol version along with the index version could be changed in the new package. This way if upgraded node would be a donor it breaks the joiner node with the old daemon by the new index version. As there is no check on donor selection that version matches.
It could be better to join the upgraded node with the Galera option gmcast.segment=20 to make sure the new nodes will form the new segment and do not SST the new indexes into the old nodes.
Or upgrade cluster with full shutdown and upgrade all nodes at the same time.
The text was updated successfully, but these errors were encountered:
Can you please elaborate more on the gmcast.segment=20 approach: how can it be done in Manticore Search? What commands on what nodes and in what order should be executed?
The idea of the point 5 is to make separation of the old and new nodes at the cluster. That could be done by assign another gmcast.segment value for the new nodes.
I was sure that command
SET CLUSTER a GLOBAL 'gmcast.segment' = 20;
does that. However after test I see it returns error that gmcast.segment can not be changed in runtime. That means the node needs to join with this option set. However as we do not have command that remove node from cluster now such scenario looks not very friendly due to many manual steps:
user should stop the node
remove cluster property from the manticore.json to prevent node rejoin the cluster on start
upgrade daemon package
start the node
after node started issue cluster join with the Galera options
join cluster CLUSTER_NAME at 'ADDRESS:PORT' 'gmcast.segment=20' as options
this way the new nodes will form another segment at the cluster and will not be selected as donor for old nodes and will not push index with the new format into the old daemons.
After all nodes got upgraded it could be better to remove gmcast.segment option to reduce possible clutter in the cluster management. That also could be done now only after node got stopped and manually edit manticore.json deleting the options property.
Maybe we should not to mention point 5 and suggest to upgrade the cluster via full cluster restart described at our manual
we have only instruction on ManticoreSearch installation at the manual but not about package upgrade. The only mention Changelog#Upgrade is
It could be better to join the upgraded node with the Galera option gmcast.segment=20 to make sure the new nodes will form the new segment and do not SST the new indexes into the old nodes.
Or upgrade cluster with full shutdown and upgrade all nodes at the same time.
The text was updated successfully, but these errors were encountered: