summaryrefslogtreecommitdiffstats
path: root/persistence/src/tests
Commit message (Collapse)AuthorAgeFilesLines
* Include doc type name and GID in metadata iteration resultsTor Brede Vekterli2023-11-081-1/+1
| | | | | | | | | | | | | | Document type is fetched from the associated `IPersistenceHandler` on-demand; it is assumed the lifetime of the pointer must be valid for the entire lifetime of the iterator itself, as the latter holds a valid handler snapshot. For simplicity, it's possible to _not_ pass in a handler, in which case the doc type name will be implicitly empty. Some expected `DocEntry` sizes have been adjusted, as we now report the size of the document type and GID alongside the base type size.
* Update copyrightJon Bratseth2023-10-097-7/+7
|
* Reduce use of Identifiable for document::DatatTypeHenning Baldersheim2022-03-031-0/+1
|
* Revert "Revert "Balder/refactor docentry""Henning Baldersheim2022-01-072-10/+64
|
* Revert "Balder/refactor docentry"Arnstein Ressem2022-01-072-64/+10
|
* - Flags -> Enum.Henning Baldersheim2022-01-062-12/+12
| | | | - Consistently use DocEntryList as type for std::vector<spi::DocEntry::UP>
* Only care about size of payload. Also add payload containing only doctype ↵Henning Baldersheim2022-01-061-5/+20
| | | | and gid
* Use enum class for the flags.Henning Baldersheim2022-01-062-12/+12
|
* Simplify by avoid both DocumentSize and PersistedDocumentSize. That is the same.Henning Baldersheim2022-01-062-48/+27
|
* Simplify DocEntry to get a clean interface with multiple implementations, ↵Henning Baldersheim2022-01-061-0/+60
| | | | | | instead of an mutant. Also add tests for the different variations a DocEntry can have.
* track namespace move in documenttypes.defArne H Juul2021-12-021-1/+1
| | | | | | | * For C++ code this introduces a "document::config" namespace, which will sometimes conflict with the global "config" namespace. * Move all forward-declarations of the types DocumenttypesConfig and DocumenttypesConfigBuilder to a common header file.
* Handle case where bucket spaces have differing maintenance state for a nodeTor Brede Vekterli2021-11-241-10/+10
| | | | | | | | | | | 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-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-27/+0
| | | | [run-systemtest]"
* Handle case where bucket spaces have differing maintenance state for a nodeTor Brede Vekterli2021-11-231-10/+10
| | | | | | | | | | | 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-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-077-7/+7
|
* Use a helper for bool -> vespalib::TrinaryHenning Baldersheim2021-02-191-7/+11
|
* Use a trinary to also handle temporary mismatching bucket used bits.Henning Baldersheim2021-02-191-7/+8
|
* Remove partitions from SPI.Tor Egge2020-10-141-1/+1
|
* Revert "Revert "Balder/use an actual fieldset repo""Henning Baldersheim2020-08-201-2/+2
|
* Revert "Balder/use an actual fieldset repo"Arnstein Ressem2020-08-191-2/+2
|
* Change api so that we can drop clone from the interface and prepare for ↵Henning Baldersheim2020-08-141-2/+2
| | | | using a true repo.
* doc: -> id:Henning Baldersheim2019-08-161-11/+11
|
* Migrate persistence unit tests from cppunit to gtest.Tor Egge2019-04-176-100/+80
|
* stop using python script for cppunit testsArne Juul2019-03-261-3/+1
|
* Use forward declared DocumentTypeRepo.Tor Egge2018-04-041-0/+1
|
* Stop using nested typedef for shared pointer to const DocumentTypeRepo.Tor Egge2018-04-042-2/+2
|
* Move FixedBucketSpaces to document module.Tor Egge2018-02-012-65/+0
|
* Add configurable bucket resolver and fixed space repoTor Brede Vekterli2017-12-152-0/+65
| | | | | Make default (aka. placeholder) bucket space index 1, not 0. Bucket space index 0 is now considered an invalid space.
* Add bucketSpace argument to ↵Tor Egge2017-11-201-1/+3
| | | | storage::spi::PersistenceProvider::setClusterState() method.
* Rename storage::spi::test::makeBucket to storage::spi::test::makeSpiBucket.Tor Egge2017-10-201-2/+2
|
* Take document::Bucket instead of document::BucketId as constructorTor Egge2017-10-181-1/+4
| | | | argument to more storage commands.
* Use document::Bucket in storage::spi::Bucket to add bucket space.Tor Egge2017-10-041-1/+1
|
* Remove unused support for SPI over RPC.Tor Egge2017-10-0311-1388/+0
|
* Update copyright headersJon Bratseth2017-06-1417-16/+17
|
* Revert "Update copyright headers"Jon Bratseth2017-06-1417-17/+16
|
* Update copyright headersJon Bratseth2017-06-1417-16/+17
|
* Revert "Copyright header"Jon Bratseth2017-06-1317-17/+16
|
* Copyright headerJon Bratseth2017-06-1317-16/+17
|
* Rename persistence conformance test backend.Tor Egge2017-06-132-2/+2
|
* Forward declare ByteBuffer and FastOS_ThreadHenning Baldersheim2017-06-062-0/+2
|
* Removed frt.h from header files to reduce include volume.Henning Baldersheim2017-06-011-0/+3
|
* Add node retirement accessor to SPI cluster stateTor Brede Vekterli2017-04-261-0/+28
|
* Optimize includes and add override.Henning Baldersheim2017-04-267-57/+36
|
* Revert "Balder/enforce override 2"Arne H Juul2017-04-246-35/+55
|
* override and optimise includes.Henning Baldersheim2017-04-232-12/+2
|
* Use overrideHenning Baldersheim2017-04-234-43/+33
|
* add override in persistence moduleArne H Juul2017-04-106-45/+32
|
* remove most usage of LinkedPtr from vespaHaavard2017-03-272-5/+5
|