summaryrefslogtreecommitdiffstats
path: root/storage
Commit message (Collapse)AuthorAgeFilesLines
* Use default destructor outside class definition.Geir Storli2020-10-221-2/+6
|
* Reduce code duplication by consolidating setup of PersistenceHandler.Geir Storli2020-10-221-39/+38
|
* Reduce code duplication by consolidating setup of FileStorHandler.Geir Storli2020-10-221-160/+76
|
* Reduce code duplication by using TestFileStorComponents in more tests.Geir Storli2020-10-221-121/+39
|
* Test that new repo is reflected in cached value in PersistenceUtil.Henning Baldersheim2020-10-211-1/+15
|
* Add generation counter to StorageComponent to detect if repos have changed ↵Henning Baldersheim2020-10-209-25/+52
| | | | | | and need reload. Happy path where you do not need any reload is a single atomic relaxed load as opposed to at least 3 atomic locked instructions.
* Merge pull request #14970 from vespa-engine/balder/gc-unused-disk-count-codeHenning Baldersheim2020-10-2014-107/+78
|\ | | | | GC unused disk dimension.
| * Use simple assert insteadHenning Baldersheim2020-10-201-3/+1
| |
| * GC unused disk dimension.Henning Baldersheim2020-10-2014-106/+79
| |
* | Fix forward declarations.Tor Egge2020-10-206-6/+6
| |
* | Merge pull request #14979 from vespa-engine/toregge/remove-spi-partitionid-typeHenning Baldersheim2020-10-203-12/+5
|\ \ | | | | | | Remove storage::spi::PartitionId type.
| * | Remove storage::spi::PartitionId type.Tor Egge2020-10-203-12/+5
| |/
* / Allow for faster access of thread local variable.Henning Baldersheim2020-10-202-2/+8
|/ | | | | This is possible since we do not load our code explicit as dynamic library. Also replace __thread by standard c++ linkage thread_local.
* Do not access an object that has been moved away.Henning Baldersheim2020-10-201-1/+1
|
* Take number of response threads and number of network threads into account.Henning Baldersheim2020-10-202-1/+4
|
* Use existing utility method for creating Mergehandler.Henning Baldersheim2020-10-201-2/+1
|
* Add a registered threadlocal persistence handler.Henning Baldersheim2020-10-202-16/+27
|
* constifyHenning Baldersheim2020-10-202-2/+2
|
* Add a create and register method for creating PersistenceHandlers.Henning Baldersheim2020-10-202-7/+15
|
* Make component menber constHenning Baldersheim2020-10-204-63/+31
|
* Further reduce the semi global tentacles.Henning Baldersheim2020-10-196-26/+40
|
* - Avoid using PersitenceUtil as a global object that can reach everything. ↵Henning Baldersheim2020-10-1918-125/+69
| | | | | | | Only wire in what is needed. - GC unused code and make it explicit what is private and what is public. - Remove some traces of diskCount.
* Merge pull request #14951 from vespa-engine/balder/split-thread-and-handlerHenning Baldersheim2020-10-1924-345/+367
|\ | | | | Split the persistence thread and the message handler.
| * - Add class comments.Henning Baldersheim2020-10-1911-43/+44
| | | | | | | | | | | | - Reduce code visibility. - Clean up some unused members. - Some code unification.
| * Split the persistence thread and the message handler.Henning Baldersheim2020-10-1922-334/+355
| | | | | | | | | | | | - Let FileStorManager own and control the Component and PersistenceHandler separately from the Persistence thread. - Let FileStorManager allocate and control stripe assignment.
* | Merge pull request #14946 from vespa-engine/vekterli/avoid-unsafe-functor-movingHenning Baldersheim2020-10-191-17/+1
|\ \ | | | | | | Don't perform unsafe std::move of functor when it may be used again
| * | Don't perform unsafe std::move of functor when it may be used againTor Brede Vekterli2020-10-191-17/+1
| | | | | | | | | | | | | | | | | | | | | All callsites explicitly wrapped the functor in `std::ref`, which is why this hasn't been a problem in practice (likely no-op move). Also remove unused DB iteration methods.
* | | Remove legacy bucket DB initializer componentTor Brede Vekterli2020-10-197-1672/+1
| |/ |/|
* | Follow up PR commentsHenning Baldersheim2020-10-196-8/+13
| | | | | | | | | | - Improve comments, and some minor syntax. - const auto
* | Factor out handling of the remaining messages.Henning Baldersheim2020-10-189-243/+293
| |
* | Move join handling together with split handling.Henning Baldersheim2020-10-187-162/+152
| |
* | Do not retrieve config once for every thread.Henning Baldersheim2020-10-1811-40/+38
| |
* | We must detect changes in document config.Henning Baldersheim2020-10-185-5/+6
| |
* | Reduce usage of ComponentHenning Baldersheim2020-10-188-30/+34
| |
* | Factor out handling of operations that might change bucket ownership.Henning Baldersheim2020-10-1815-255/+324
|/
* Merge pull request #14931 from vespa-engine/geirst/file-stor-handler-interfaceHenning Baldersheim2020-10-1810-282/+137
|\ | | | | Change FileStorHandler into an interface that FileStorHandlerImpl imp…
| * Change FileStorHandler into an interface that FileStorHandlerImpl implements.Geir Storli2020-10-1610-282/+137
| |
* | Fix forward declarations.Tor Egge2020-10-162-3/+3
| |
* | Include stdexcept to get declaration of std::runtime_error.Tor Egge2020-10-161-0/+1
|/
* Merge pull request #14917 from ↵Tor Brede Vekterli2020-10-1626-108/+216
|\ | | | | | | | | vespa-engine/vekterli/simplify-bucket-db-persistence-provider-bootstrap-procedure Greatly simplify bucket DB persistence provider bootstrap procedure
| * Greatly simplify bucket DB persistence provider bootstrap procedureTor Brede Vekterli2020-10-1626-108/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Factor out a handler for async operations to decouple code.Henning Baldersheim2020-10-1616-318/+377
|/
* - Remove unused members.Henning Baldersheim2020-10-158-73/+27
| | | | | - Use the same ServiceLayerComponent. - GC unused code.
* Merge pull request #14900 from ↵Henning Baldersheim2020-10-152-210/+120
|\ | | | | | | | | vespa-engine/balder/collapse-disk-into-filestorhandler-impl Avoid one indirection for the disk state.
| * Avoid one indirection for the disk state.Henning Baldersheim2020-10-152-210/+120
| |
* | There will always be a sequencer.Henning Baldersheim2020-10-157-65/+49
|/
* Update commentHenning Baldersheim2020-10-151-1/+1
|
* Do not change number of executors, and update comments.Henning Baldersheim2020-10-152-3/+3
|
* GC disk related code.Henning Baldersheim2020-10-1540-686/+403
|
* Merge pull request #14877 from ↵Henning Baldersheim2020-10-146-411/+4
|\ | | | | | | | | vespa-engine/balder/gc-unused-code-and-use-condition_variable GC unuse code and use std::mutex/std:condition_variable over vespalib…