summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/bucketdb/initializertest.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove legacy bucket DB initializer componentTor Brede Vekterli2020-10-191-596/+0
|
* Greatly simplify bucket DB persistence provider bootstrap procedureTor Brede Vekterli2020-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | The legacy bucket DB initialization logic was designed for the case where bucket information was spread across potentially millions of files residing on spinning rust drives. It was therefore async and running in parallel with client operations, adding much complexity in order to deal with a myriad of concurrency edge cases. Replace this with a very simple, synchronous init method that expects the provider to have the required information readily and cheaply available. This effectively removes the concept of a node's "initializing" state, moving directly from reported state Down to Up. Even though a node still technically starts up in Initializing state, we never end up reporting this to the Cluster Controller as the DB init completes before the RPC server stack is set up. Legacy bucket DB initializer code will be removed in a separate pass. Also simplify bucket DB interface contract for mutating iteration, indicating that it is done in an unspecified order.
* GC disk related code.Henning Baldersheim2020-10-151-9/+5
|
* Remove partitions from SPI.Tor Egge2020-10-141-30/+4
|
* Create generic B-tree bucket DB and content node DB implementationTor Brede Vekterli2020-06-251-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | This is the first stage of removing the legacy DB implementation. Support for B-tree specific functionality such as lock-free snapshot reads will be added soon. This commit is just for feature parity. Abstract away actual database implementation to allow it to be chosen dynamically at startup. This abstraction does incur some overhead via call indirections and type erasures of callbacks, so it's likely it will be removed once the transition to the new B-tree DB has been completed. Since the algorithms used for bucket key operations is so similar between the content node and distributor, a generic B-tree backed bucket database has been created. The distributor DB will be rewritten around this code very soon. Due to the strong coupling between bucket locking and actual DB implementation details, the new bucket DB has a fairly significant code overlap with the legacy implementation. This is to avoid spending time abstracting away and factoring out code for a legacy implementation that is to be removed entirely anyway. Remove existing LockableMap functionality not used or that's only used by tests.
* Remove CppUnit dependencies in modulesTor Brede Vekterli2019-06-261-2/+2
| | | | Move test config helpers out of cppunit submodule.
* Convert JudyArrayTest from CppUnit to GtestTor Brede Vekterli2019-06-071-12/+11
|
* Convert BucketManagerTest and InitializerTest to gtestTor Brede Vekterli2019-06-071-406/+101
| | | | | Still some residual vdstestlib CppUnit traces that will need cleaning up later.
* Adjust unit tests to expect global content bucket space.Tor Egge2018-02-121-4/+9
|
* 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
|
* - Optimize includes.Henning Baldersheim2017-04-251-1/+2
| | | | | - Move htmltable code to implementation file and add add override. - No virtual on override.
* Revert "Balder/enforce override 2"Arne H Juul2017-04-241-2/+1
|
* Including storage now builds fine with override enforcement.Henning Baldersheim2017-04-231-1/+2
|
* add override in storage testsArne H Juul2017-04-111-2/+2
|
* Ensure that we use unique directories.Henning Baldersheim2017-01-021-1/+2
|
* Include asciistream in implementation only.Henning Baldersheim2016-12-121-2/+3
|
* PublishJon Bratseth2016-06-151-0/+924