aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/buckethandler/buckethandler_test.cpp
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2020-10-14 13:43:08 +0000
committerTor Brede Vekterli <vekterli@verizonmedia.com>2020-10-16 09:58:46 +0000
commit08e49539165ac2893002102c84395166e70dd727 (patch)
tree3dd32b258c1ca8ee475ce1b2bd6a41f658a6a15f /searchcore/src/tests/proton/documentdb/buckethandler/buckethandler_test.cpp
parentadac8d147c27cc80315dd8447a5a3280ab804049 (diff)
Greatly simplify bucket DB persistence provider bootstrap procedure
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.
Diffstat (limited to 'searchcore/src/tests/proton/documentdb/buckethandler/buckethandler_test.cpp')
0 files changed, 0 insertions, 0 deletions