aboutsummaryrefslogtreecommitdiffstats
path: root/storageserver
Commit message (Collapse)AuthorAgeFilesLines
* Let deadlock detector dump stack of potentially deadlocked threadsTor Brede Vekterli2022-06-021-0/+1
| | | | | | | | | | | Enable cross-thread stack tracing as part of signal handler init code in both storage and proton daemons. Make deadlock detector parameters live configurable. Remove existing `restart` config definition annotations to reflect this. Remove dumping of bucket DB locks which hasn't really worked for a long time now.
* Fold searchlib_uca into searchlibHenning Baldersheim2022-05-211-1/+0
|
* We only need to expose a single libstorage.so. No need to split up in ↵Henning Baldersheim2022-05-181-1/+1
| | | | storage storgae_storageserver and storage_distributor.
* Revert "Revert "Collapse vsm into streamingvisitors""Henning Baldersheim2022-05-151-1/+1
|
* Revert "Collapse vsm into streamingvisitors"Henning Baldersheim2022-05-151-1/+1
|
* Collapse vsm into streamingvisitorsHenning Baldersheim2022-05-141-1/+1
|
* remove FastOS_ApplicationHåvard Pettersen2022-04-081-12/+13
| | | | | | | | fixup (per application): - maybe ignore SIGPIPE - wire argc/argv untangle Vespa Test Framework strip down deprecated TestApp
* Logging is not signal safe (implicit allocs), so don't do it inside the ↵Tor Brede Vekterli2022-03-031-1/+0
| | | | signal handler
* Make ConfigUri constructors explicit and use same context where possible in ↵Henning Baldersheim2022-02-206-9/+8
| | | | proton.
* Add explicit on constructor and deinline destructors.Henning Baldersheim2022-02-071-1/+1
|
* Reduce code visibility and include only what you need from config library.Henning Baldersheim2022-02-062-1/+4
|
* track namespace move in documenttypes.defArne H Juul2021-12-022-2/+2
| | | | | | | * 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.
* Update 2019 Oath copyrights.gjoranv2021-10-271-1/+1
|
* Update 2017 copyright notices.gjoranv2021-10-0718-18/+18
|
* Flip to always use the new distributor stripe code path.Geir Storli2021-09-161-7/+13
| | | | If the number of stripes is not configured, we tune it based on the sampled number of CPU cores.
* Add safeguards for num distributor stripes being set to -1.Geir Storli2021-09-071-1/+1
|
* avoid deadlock on signal lockArne Juul2021-06-021-3/+1
| | | | | | | * a signal handler is not a thread * if the main thread holds the lock when the signal handler is invoked in the same thread, it will deadlock * holding the lock is not necessary for notify_one()
* Add validation of the number of distributor stripes from config and add more ↵Geir Storli2021-06-011-3/+19
| | | | | | asserts. This ensures the number of stripes is a power of 2 and within MaxStripes boundary.
* Propagate num_distributor_stripes cfg to Distributor ctor and instantiate ↵Geir Storli2021-04-222-8/+9
| | | | | | | BucketDBUpdater if needed. At the same time remove the manageActiveBucketCopies flag, which has been true since the Storage provider was removed years ago.
* Include exception where needed and use std:.make_uniqueHenning Baldersheim2021-01-181-1/+2
|
* Improve handling of exceptions during distributor startupTor Brede Vekterli2021-01-051-2/+2
| | | | | | | | | | | | Remove call to requestShutdown which could try to use components that weren't properly set up yet. Only used for _maybe_ being able to scream an error to the cluster controller, but this has very limited usefulness in practice. Since exceptions are categorized and logged with backtrace at the root application main level, remove redundant logging. Also enforce component shutdown for network setup exceptions (not sure why this wasn't there to start with).
* - Reorder members for compactness.Henning Baldersheim2020-11-231-13/+14
| | | | | - Avoid needing the definition of Error everywhere. - use std::make_xxx and other c++11 constructs.
* Add stripe bits config and wire to implementationTor Brede Vekterli2020-10-301-3/+9
| | | | | Default is zero bits, which causes the standard, non-striped implementation to be used.
* Use std::mutex and std:.condition_variable and GC some unused code.Henning Baldersheim2020-10-131-14/+13
|
* Add support for setting storage chain builder for distributor node.Tor Egge2020-09-292-2/+14
|
* Enable setting of storage chain builder for service layer process.Tor Egge2020-09-252-0/+16
|
* Revert "Revert "Balder/use an actual fieldset repo""Henning Baldersheim2020-08-202-3/+3
|
* Revert "Balder/use an actual fieldset repo"Arnstein Ressem2020-08-192-3/+3
|
* Change api so that we can drop clone from the interface and prepare for ↵Henning Baldersheim2020-08-142-3/+3
| | | | using a true repo.
* Consolidate search for GTest.Tor Egge2020-07-071-1/+0
|
* Merge pull request #13798 from ↵Tor Brede Vekterli2020-07-062-6/+2
|\ | | | | | | | | vespa-engine/vekterli/remove-legacy-distributor-bucket-database-implementation Remove legacy distributor bucket DB implementation and config wiring
| * Remove legacy distributor bucket DB implementation and config wiringTor Brede Vekterli2020-07-032-6/+2
| |
* | use std::_Exit()Arne Juul2020-07-031-2/+3
|/
* Merge pull request #13706 from ↵Tor Brede Vekterli2020-06-303-6/+21
|\ | | | | | | | | vespa-engine/vekterli/btree-bucket-db-support-on-content-node Create generic B-tree bucket DB and content node DB implementation
| * Wire config for enabling content node B-tree bucket DBTor Brede Vekterli2020-06-251-2/+17
| |
| * Create generic B-tree bucket DB and content node DB implementationTor Brede Vekterli2020-06-252-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Use find_package to find gtest library.Tor Egge2020-06-291-1/+2
|/
* Add a rank feature that will use the distribution key to provide a globally ↵Henning Baldersheim2020-06-221-2/+2
| | | | | | unique number. unique = (docId << 16 | distributionKey)
* Relate to vespalib::duration instead of uint32_tHenning Baldersheim2020-01-021-1/+2
|
* FastOS_THread::Sleep -> std::chrono::sleep_forHenning Baldersheim2019-12-041-1/+1
| | | | | Renamed Timer -> ScheduledExecutor. Do not include thread.h when not needed in header files.
* Move streaming search classes from namespace storage -> streaming.Geir Storli2019-11-281-1/+1
|
* FastOS_Time -> std::chrono.Henning Baldersheim2019-11-206-30/+30
|
* Add config option for using B-tree bucket DB in distributorTor Brede Vekterli2019-09-242-12/+17
| | | | | | Still disabled by default; this will be swapped later. Expose read guard generation for easier debugging. Add some explicit tests for read guard snapshot semantics.
* Remove v6 and v7 from java side.Henning Baldersheim2019-08-211-9/+0
|
* Use proper scope for enum constants.Tor Egge2019-07-302-3/+3
|
* Remove CppUnit dependencies in modulesTor Brede Vekterli2019-06-261-1/+1
| | | | Move test config helpers out of cppunit submodule.
* Rewrite storageserver tests from cppunit to gtest.Geir Storli2019-05-289-1356/+55
| | | | | Also remove a set of tests that have been ignored / disabled for 8 years. These were highly unstable integration tests. System tests should cover such cases instead.
* Simplify the supervisor responsibilityHenning Baldersheim2019-05-101-38/+37
|
* stop using python script for cppunit testsArne Juul2019-03-261-3/+1
|
* Adjust forward declarations in storageserver.Tor Egge2019-02-032-2/+2
|