jaydoane commented on PR #4458: URL: https://github.com/apache/couchdb/pull/4458#issuecomment-1466587632
I was concerned that during a rolling upgrade containing this change, it might be possible for a selector containing the new `op_regex` to be processed by a node that has not yet been upgraded, so I attempted to test such a configuration. I configured a dev cluster with `node1` running on https://github.com/apache/couchdb/commit/f40147b262ca007d07bb5f48c345b31b46b80629, and `node2` & `node3` on https://github.com/apache/couchdb/commit/8ec7b578848903b9a152934c7ef0f57e69d8946d. This was more difficult than I expected, and required: - Turning off the code reloader I normally use. - Making the mango ebin directory sticky so it wouldn't automatically reload updated code. - Making sure the old code was loaded on nodes 2 & 3, so it would stick there. - Checking the md5 hashes of e.g. `mango_idx_text` on different nodes to ensure they were as expected. But once I had created the desired configuration, I was unable to induce any errors using the document, selector, and index in the above example. I also ran the python mango tests (modified to create dbs with q=2,n=3) against that mixed cluster, and likewise didn't see any errors stemming from `op_regex`. At this point, I'm fairly convinced that this change shouldn't cause problems during rolling upgrades, but I'm still open to a good argument one way or another. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
