aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/buckethandler/buckethandler_test.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyrightJon Bratseth2023-10-091-1/+1
|
* Deinline large destructors and clean up some code based on clion hints.Henning Baldersheim2023-02-011-16/+14
|
* Remove stacksize from the thread pools and thread executors.Henning Baldersheim2022-12-201-1/+1
|
* Handle case where bucket spaces have differing maintenance state for a nodeTor Brede Vekterli2021-11-241-0/+13
| | | | | | | | | | | Only skip deactivating buckets if the entire _node_ is marked as maintenance state, i.e. the node has maintenance state across all bucket spaces provided in the bundle. Otherwise treat the state transition as if the node goes down, deactivating all buckets. Also ensure that the bucket deactivation logic above the SPI is identical to that within Proton. This avoids bucket DBs getting out of sync between the two.
* Continue serving search queries when in Maintenance node stateTor Brede Vekterli2021-11-241-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-42/+1
| | | | [run-systemtest]"
* Handle case where bucket spaces have differing maintenance state for a nodeTor Brede Vekterli2021-11-231-0/+13
| | | | | | | | | | | Only skip deactivating buckets if the entire _node_ is marked as maintenance state, i.e. the node has maintenance state across all bucket spaces provided in the bundle. Otherwise treat the state transition as if the node goes down, deactivating all buckets. Also ensure that the bucket deactivation logic above the SPI is identical to that within Proton. This avoids bucket DBs getting out of sync between the two.
* Continue serving search queries when in Maintenance node stateTor Brede Vekterli2021-11-221-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make setActiveState async.Henning Baldersheim2021-10-171-2/+3
|
* Shortcut bucket creation if it already exist.Henning Baldersheim2021-10-131-0/+5
|
* Update 2017 copyright notices.gjoranv2021-10-071-1/+1
|
* Reduce visibility and do not provide syncable when not necessary.Henning Baldersheim2021-03-021-0/+2
|
* When making callbacks like notifying about new bucket show the gurad that is ↵Henning Baldersheim2021-02-141-18/+6
| | | | | | held. Then this guard can used instead of possibly making a deadlock if trying to take it yourself.
* Remove IGidCompare interface.Tor Egge2020-11-111-2/+0
|
* Stop using PartitionId in searchcore module.Tor Egge2020-10-161-1/+0
|
* Remove partitions from SPI.Tor Egge2020-10-141-2/+1
|
* Reuse document meta store state from prepare step instead of doingTor Egge2020-10-061-1/+1
| | | | a new lookup in btree mapping from gid to lid during live feed.
* Remove the use and testing of legacy groupdoc/userdoc/orderdoc document ids.Henning Baldersheim2019-08-091-2/+3
|
* Rename storage::spi::test::makeBucket to storage::spi::test::makeSpiBucket.Tor Egge2017-10-201-2/+2
|
* Use document::Bucket in storage::spi::Bucket to add bucket space.Tor Egge2017-10-041-1/+3
|
* Update copyright headersJon Bratseth2017-06-141-1/+1
|
* Revert "Update copyright headers"Jon Bratseth2017-06-141-1/+1
|
* Update copyright headersJon Bratseth2017-06-141-1/+1
|
* Revert "Copyright header"Jon Bratseth2017-06-131-1/+1
|
* Copyright headerJon Bratseth2017-06-131-1/+1
|
* Checkpount for removing fastos from testsHenning Baldersheim2017-06-011-1/+0
|
* add override in searchcore moduleArne H Juul2017-04-121-2/+2
|
* Adjust test description (no longer fake size).Tor Egge2017-03-071-1/+1
|
* Stop faking document sizes, real values are now available.Tor Egge2017-03-071-7/+7
|
* Track document sizes in bucket db.Tor Egge2017-03-071-4/+5
| | | | Extend document meta store save/load to handle document sizes.
* use docSize more consistently.Tor Egge2017-03-061-1/+1
| | | | Revert some changes to document meta store unit test.
* Change document meta store api to require document size as argument toTor Egge2017-03-061-1/+1
| | | | | | | | put method. Adjust unit tests to supply (dummy) document size. Change feed view to supply document size.
* PublishJon Bratseth2016-06-151-0/+265