aboutsummaryrefslogtreecommitdiffstats
path: root/storage
Commit message (Collapse)AuthorAgeFilesLines
* Require DocumentAPI capabilities for content node doc API mbus callsTor Brede Vekterli2022-08-251-0/+3
|
* Add factory functions for creating capability requirement filtersTor Brede Vekterli2022-08-232-6/+2
| | | | Refactor existing request access filter creation to use these.
* Merge pull request #23750 from ↵Tor Brede Vekterli2022-08-231-0/+17
|\ | | | | | | | | vespa-engine/vekterli/add-cc-api-server-capability-filter Add capability filter to cluster controller API RPCs on content nodes
| * Add capability filter to cluster controller API RPCs on content nodesTor Brede Vekterli2022-08-231-0/+17
| |
* | Let compiler warn on missing switch cases for enumsTor Brede Vekterli2022-08-232-3/+3
|/ | | | Minor cleanup sweep.
* Merge pull request #23701 from vespa-engine/vekterli/two-phase-document-gcTor Brede Vekterli2022-08-2229-135/+955
|\ | | | | Add support for two-phase document garbage collection [run-systemtest]
| * Add support for two-phase document garbage collectionTor Brede Vekterli2022-08-1729-135/+955
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If enabled, garbage collection is performed in two phases (metadata gathering and deletion) instead of just a single phase. Two-phase GC allows for ensuring the same set of documents is deleted across all nodes and explicitly takes write locks on the distributor to prevent concurrent feed ops to GC'd documents from potentially creating inconsistencies. Two-phase GC is only used _iff_ all replica content nodes support the feature _and_ it's enabled in config. An additional field has been added to the feature negotiation functionality to communicate support from content nodes to distributors.
* | Hide hash implementation details.Henning Baldersheim2022-08-193-4/+4
| |
* | Use xxhash for all BucketId hash sets and maps.Henning Baldersheim2022-08-193-43/+22
|/
* Avoid holding ref to last generated operationTor Brede Vekterli2022-07-191-2/+2
| | | | | Move ref away to avoid an unneeded refcount bump and avoid leaving behind a lingering strong reference to the last generated operation.
* Add capability request access filter to internal StorageAPI RPC methodTor Brede Vekterli2022-07-111-0/+4
| | | | | | | | This should always succeed today, as authz rules by default grant all capabilities. But since this is a very hot call path, we'll learn very quickly if the capability check incurs a measurable overhead; it is not expected to do so in practice (really just a virtual function call and a few bitwise ops).
* Merge pull request #23415 from ↵Henning Baldersheim2022-07-076-11/+11
|\ | | | | | | | | vespa-engine/vekterli/add-separate-id-and-timestamp-wrapper Add wrapper for <doc id, timestamp> tuple and update APIs to use this
| * Add wrapper for <doc id, timestamp> tuple and update APIs to use thisTor Brede Vekterli2022-07-076-11/+11
| | | | | | | | | | Feels more intuitive to have a tuple that implies "document foo at timestamp bar" rather than the current inverse of "timestamp bar with document foo".
* | Add back dispatch_on_encode and dispatch_on_decode that still has overridesHenning Baldersheim2022-07-071-0/+10
|/
* GC unused numThreads too.Henning Baldersheim2022-07-072-5/+0
|
* GC temporary dispatch flags.Henning Baldersheim2022-07-071-9/+0
|
* Never dispatch to network helper threads.Henning Baldersheim2022-07-061-2/+0
|
* Control events-before-wakeup for mbus too.Henning Baldersheim2022-07-042-0/+4
|
* GC unused optimize_for configHenning Baldersheim2022-07-011-2/+0
|
* Merge pull request #23316 from ↵Tor Brede Vekterli2022-07-0118-1952/+31
|\ | | | | | | | | vespa-engine/vekterli/remove-legacy-storage-protocol-versions GC all legacy storage protocol serialization versions
| * GC all legacy storage protocol serialization versionsTor Brede Vekterli2022-07-0118-1952/+31
| | | | | | | | | | | | Legacy version negotiation only happens over MessageBus transport, which is now removed. Current StorageAPI RPC transport always uses the newest version directly since it's built around Protobuf.
* | GC removed configHenning Baldersheim2022-07-011-12/+0
|/
* Remove legacy MessageBus StorageAPI transport fallbackTor Brede Vekterli2022-06-305-150/+26
| | | | | Direct P2P RPC has been the preferred way for years, and we don't need the fallback now that we're on Vespa 8.
* Always skip messenger and communicationmanager when you can.Henning Baldersheim2022-06-292-22/+4
|
* GC long gone use_direct_storageapi_rpc.Henning Baldersheim2022-06-281-5/+0
|
* Remove 'requireSequencing' as an option.Henning Baldersheim2022-06-262-2/+1
| | | | As a consequence move protocol and params resolution to common code so that it is always handled in the decoding/encoding thread.
* Remove .sum from metric nameHenning Baldersheim2022-06-162-2/+2
|
* Remove legacy distribution hash fallbackTor Brede Vekterli2022-06-097-219/+29
| | | | | Was used to handle rolling upgrades between versions with different semantics a long time ago on the 7 branch.
* Set project version to 8-SNAPSHOTgjoranv2022-06-081-2/+2
|
* cleanup unused second pass statsArne H Juul2022-06-082-10/+4
|
* Remove '.sum' form vds sum metrics.Henning Baldersheim2022-06-0812-112/+72
| | | | | | | | Remove '.sum' from metric names for storage node and also remove the average metrics for the same. Remove '.sum' from distributor metrics set and remove distributor average metrics. GC '.sum' from distributor metric names. Remove '.alldisks' from metric names and update tests. GC '.alldisks' from filestor metrics.
* Remove most use of vespalib::rmdirTor Egge2022-06-034-12/+12
|
* Let deadlock detector dump stack of potentially deadlocked threadsTor Brede Vekterli2022-06-0214-137/+159
| | | | | | | | | | | 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.
* use separate lock for statsHåvard Pettersen2022-05-242-6/+25
|
* use cached queue size for metrics to avoid lock inversionHåvard Pettersen2022-05-232-5/+24
|
* Fold fastlib into vespalib and gc some unused code.Henning Baldersheim2022-05-211-1/+0
| | | | Also move some code only used by juniper up into juniper test module.
* hold lock while modifying merge states mapHåvard Pettersen2022-05-201-2/+6
|
* Merge pull request #22683 from ↵Håvard Pettersen2022-05-201-2/+4
|\ | | | | | | | | vespa-engine/havardpe/wait-for-locks-to-be-released-when-deleting-file-stor-handler-impl wait for locks to be released in the destructor
| * hold lock while notifying during final touchHåvard Pettersen2022-05-201-1/+0
| |
| * wait for locks to be released in the destructorHåvard Pettersen2022-05-201-1/+4
| |
* | Fold staging_vespalib into vespalibHenning Baldersheim2022-05-202-4/+3
| |
* | read cluster state while holding lockHåvard Pettersen2022-05-202-11/+11
|/ | | | | will also avoid error messages like 'message discarded due to cluster being UP'
* Fold storageapi into storage.Henning Baldersheim2022-05-19105-2/+11537
|
* Merge pull request #22662 from ↵Tor Brede Vekterli2022-05-191-1/+0
|\ | | | | | | | | vespa-engine/havardpe/delay-slobrok-register-destruction delay destruction of the slobrok register component
| * delay destruction of the slobrok register componentHåvard Pettersen2022-05-191-1/+0
| |
* | Depend on storage instead of storageframeworkHenning Baldersheim2022-05-182-2/+2
| |
* | Collapse storageframework back into storage.Henning Baldersheim2022-05-1872-1/+3371
|/
* Merge pull request #22640 from ↵Henning Baldersheim2022-05-181-2/+2
|\ | | | | | | | | vespa-engine/balder/move-from-staging-vespalib-too-vespalib Move state_server, metrivs and some all executors from staging_vespal…
| * Move state_server, metrivs and some all executors from staging_vespalib too ↵Henning Baldersheim2022-05-181-2/+2
| | | | | | | | vespalib.
* | We only need to expose a single libstorage.so. No need to split up in ↵Henning Baldersheim2022-05-186-16/+14
|/ | | | storage storgae_storageserver and storage_distributor.