summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/matchengine
Commit message (Collapse)AuthorAgeFilesLines
* Continue serving search queries when in Maintenance node stateTor Brede Vekterli2021-11-241-10/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, entering maintenance state would implicitly deactivate all buckets on the searchnode and cause empty responses to be returned for searches. However, container query dispatch uses async health pings to decide which nodes to route queries to, so it would be possible for a node to still be used for queries for a few seconds until the ping discovered that the node should not be used. In the case of multiple groups without multiple ready replicas within the group, this would cause transient coverage loss since the dispatcher would not realize it should route queries to other groups instead. With this commit, maintenance edge behavior is changed as follows: - Buckets are _not_ deactivated when going from an available state to the maintenance state. However, they _are_ deactivate when going from maintenance state to an available state in order to avoid transient query duplicates immediately after the change. - Searches are executed as normal instead of returning empty replies when the node is in maintenance state. The following behavior is intentionally _not_ changed: - The search interface is still marked as offline when in maintenance state, as this signals that the node should be taken out of rotation. In particular, it's critical that the RPC health ping response is explicitly tagged as having zero active docs when the search interface is offline, even though many buckets may now actually be active. Otherwise, queries would not be gracefully drained from the node.
* Revert "Continue serving search queries when in Maintenance node state ↵Henning Baldersheim2021-11-231-54/+10
| | | | [run-systemtest]"
* Continue serving search queries when in Maintenance node stateTor Brede Vekterli2021-11-221-10/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, entering maintenance state would implicitly deactivate all buckets on the searchnode and cause empty responses to be returned for searches. However, container query dispatch uses async health pings to decide which nodes to route queries to, so it would be possible for a node to still be used for queries for a few seconds until the ping discovered that the node should not be used. In the case of multiple groups without multiple ready replicas within the group, this would cause transient coverage loss since the dispatcher would not realize it should route queries to other groups instead. With this commit, maintenance edge behavior is changed as follows: - Buckets are _not_ deactivated when going from an available state to the maintenance state. However, they _are_ deactivate when going from maintenance state to an available state in order to avoid transient query duplicates immediately after the change. - Searches are executed as normal instead of returning empty replies when the node is in maintenance state. The following behavior is intentionally _not_ changed: - The search interface is still marked as offline when in maintenance state, as this signals that the node should be taken out of rotation. In particular, it's critical that the RPC health ping response is explicitly tagged as having zero active docs when the search interface is offline, even though many buckets may now actually be active. Otherwise, queries would not be gracefully drained from the node.
* Update 2017 copyright notices.gjoranv2021-10-072-2/+2
|
* Use enable_shared_from_this to simplify interface and keep the details local.Henning Baldersheim2020-02-171-28/+26
|
* Remove files used by old unit test runner.Tor Egge2019-02-192-2/+0
|
* Revert "Hardwire matchengine to always be online."Geir Storli2018-03-211-1/+2
|
* Hardwire matchengine to always be online.Tor Egge2018-03-211-2/+1
|
* Remove unused methods for turning off matchengine.Tor Egge2018-03-201-20/+0
|
* Use standard locking in searchcore (pass 2).Tor Egge2017-12-111-8/+14
|
* Update copyright headersJon Bratseth2017-06-142-2/+2
|
* Revert "Update copyright headers"Jon Bratseth2017-06-142-2/+2
|
* Update copyright headersJon Bratseth2017-06-142-2/+2
|
* Revert "Copyright header"Jon Bratseth2017-06-132-2/+2
|
* Copyright headerJon Bratseth2017-06-132-2/+2
|
* Remove unused includeHenning Baldersheim2017-05-061-1/+0
|
* Remove unused parametersHenning Baldersheim2017-05-061-4/+2
|
* add override in searchcore moduleArne H Juul2017-04-121-4/+4
|
* deiniline destructorsHenning Baldersheim2017-03-091-0/+5
|
* No need for loggingHenning Baldersheim2016-11-191-4/+1
|
* Use forward declarations to avoid rebuilding the world when modifying the ↵Henning Baldersheim2016-11-171-3/+4
| | | | packet protocol.
* Declared test executables as tests with TEST parameterVegard Sjonfjell2016-06-161-1/+1
|
* PublishJon Bratseth2016-06-155-0/+232