summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/persistence
Commit message (Collapse)AuthorAgeFilesLines
...
* Use enum class for the flags.Henning Baldersheim2022-01-061-4/+4
|
* Simplify DocEntry to get a clean interface with multiple implementations, ↵Henning Baldersheim2022-01-061-0/+1
| | | | | | instead of an mutant. Also add tests for the different variations a DocEntry can have.
* _executor -> _threadHenning Baldersheim2021-12-091-2/+2
|
* Add init_fun to vespalib::Thread too to figure out what the thread is used for.Henning Baldersheim2021-12-091-1/+3
|
* Decrement persistence thread merge counter when syncronous processing is ↵Tor Brede Vekterli2021-12-031-0/+4
| | | | | | | | | | | | | | | | | | complete Add a generic interface for letting an operation know that the synchronous parts of its processing in the persistence thread is complete. This allows a potentially longer-running async operation to free up any limits that were put in place when it was taking up synchronous thread resources. Currently only used by merge-related operations (that may dispatch many async ops). Since we have a max upper bound for how many threads in a stripe may be processing merge ops at the same time (to avoid blocking client ops), we previously could effectively stall the pipelining of merges caused by hitting the concurrency limit even if all persistence threads were otherwise idle (waiting for prior async merge ops to complete). We now explicitly decrease the merge concurrency counter once the synchronous processing is done, allowing us to take on further merges immediately.
* Add metrics for active operations on service layer.Tor Egge2021-12-012-0/+151
|
* Update operation metrics for delayed or chained merge handler replies.Tor Egge2021-11-241-2/+76
|
* Actually test maintenance -> down node state transitionTor Brede Vekterli2021-11-241-1/+1
|
* Handle case where bucket spaces have differing maintenance state for a nodeTor Brede Vekterli2021-11-241-26/+83
| | | | | | | | | | | Only skip deactivating buckets if the entire _node_ is marked as maintenance state, i.e. the node has maintenance state across all bucket spaces provided in the bundle. Otherwise treat the state transition as if the node goes down, deactivating all buckets. Also ensure that the bucket deactivation logic above the SPI is identical to that within Proton. This avoids bucket DBs getting out of sync between the two.
* Update merge latency metrics after async writes have completed.Tor Egge2021-11-231-2/+37
|
* Revert "Continue serving search queries when in Maintenance node state ↵Henning Baldersheim2021-11-231-83/+26
| | | | [run-systemtest]"
* Handle case where bucket spaces have differing maintenance state for a nodeTor Brede Vekterli2021-11-231-26/+83
| | | | | | | | | | | Only skip deactivating buckets if the entire _node_ is marked as maintenance state, i.e. the node has maintenance state across all bucket spaces provided in the bundle. Otherwise treat the state transition as if the node goes down, deactivating all buckets. Also ensure that the bucket deactivation logic above the SPI is identical to that within Proton. This avoids bucket DBs getting out of sync between the two.
* GC unused codeHenning Baldersheim2021-11-202-16/+0
|
* Remove redundant sync_allHenning Baldersheim2021-11-201-1/+0
|
* Let removeAsync handle list of documents.Henning Baldersheim2021-11-183-6/+14
|
* Move BucketIdFactory to test fixture.Henning Baldersheim2021-11-186-21/+13
|
* Move removeLocation over to Asynchandler and issue all removes for one ↵Henning Baldersheim2021-11-171-4/+9
| | | | | | bucket before waiting for the replies. Prepare RemoveResult to contain more replies.
* Rename ISequencedTaskExecutor::sync() to sync_all().Tor Egge2021-10-281-1/+1
|
* Merge pull request #19735 from ↵Geir Storli2021-10-283-0/+80
|\ | | | | | | | | vespa-engine/toregge/handover-tracker-to-apply-bucket-diff-state-on-exceptions Handover tracker to ApplyBucketDiffState on exceptions.
| * Handover tracker to ApplyBucketDiffState on exceptions.Tor Egge2021-10-263-0/+80
| |
* | Update 2019 Oath copyrights.gjoranv2021-10-272-2/+2
|/
* Adjust dummy persistence spi semantics towards proton spi semantics whenTor Egge2021-10-251-4/+4
| | | | | | | bucket doesn't exist: * getBucketInfo() returns success with empty bucket info * createIterator() returns success * iterate() returns empty complete result.
* Merge pull request #19717 from ↵Geir Storli2021-10-252-4/+8
|\ | | | | | | | | vespa-engine/toregge/delay-apply-bucket-diff-state-deletion-try-2 Delay deletion of ApplyBucketState.
| * Delay deletion of ApplyBucketState.Tor Egge2021-10-252-4/+8
| |
* | create/delete bucket will never throw.Henning Baldersheim2021-10-254-9/+7
| |
* | Async createBucketHenning Baldersheim2021-10-253-7/+7
|/
* Add class comment for MergeHandlerTest.Tor Egge2021-10-211-0/+4
|
* Delay replies for async apply bucket diff.Tor Egge2021-10-212-28/+92
|
* Eliminate ApplyBucketDiffEntryResult.Tor Egge2021-10-201-21/+39
|
* Merge pull request #19643 from ↵Geir Storli2021-10-201-4/+3
|\ | | | | | | | | vespa-engine/toregge/update-merge-latency-metrics-from-operation-complete-callbacks Update merge handler put/remove latency metrics from operation complete callback.
| * Update merge handler put/remove latency metrics from operation complete ↵Tor Egge2021-10-191-4/+3
| | | | | | | | callback.
* | Change editMergeStatus to return a shared pointer to merge statusTor Egge2021-10-191-19/+19
| | | | | | | | to ensure it remains live while being used in merge handler.
* | Merge pull request #19625 from vespa-engine/balder/only-keep-async-variantsHenning Baldersheim2021-10-193-38/+64
|\ \ | | | | | | Only keep async variant to simplify what to implement and what fallba…
| * | Only keep async variant to simplify what to implement and what fallback ↵Henning Baldersheim2021-10-183-38/+64
| |/ | | | | | | there are.
* / Pass message tracker to MergeHandler::handleApplyBucketDiffReply.Tor Egge2021-10-191-21/+21
|/ | | | | | This enables handover of bucket lock (part of message tracker) to be forwarded to ApplyBucketDiffState to keep bucket locked until async writes have been completed and service layer bucket db has been updated.
* Implement async delete bucket.Henning Baldersheim2021-10-183-8/+17
|
* Add class representing async state for applying bucket diff to local node.Tor Egge2021-10-153-71/+151
|
* Update Verizon Media copyright notices.gjoranv2021-10-073-3/+3
|
* Update 2017 copyright notices.gjoranv2021-10-0727-27/+27
|
* Report max address space used in attribute vector components from content ↵Geir Storli2021-08-201-29/+15
| | | | | | | nodes (proton) to the cluster controller. This is more generic than explicit address space values for enum store and multi value. This is used in the cluster controller to determine whether to block external feed.
* - Change error handling so that both synchonous and asynchronous errors can ↵Henning Baldersheim2021-02-231-14/+14
| | | | | | | | be reported back from bucket executor. - Treat remapping as an error. - For lidspace compaction job iterator is reset and will be recreated on next invocation. - For bucketmove th ebucket is rechecked and either discarded or restarted.
* - Reduce visibility of ClusterState and Distribution.Henning Baldersheim2021-02-195-2/+9
|
* use size literals in storageArne Juul2021-02-152-7/+9
|
* Make the noise level used when deciding whether to report resource usage ↵Geir Storli2021-02-041-12/+34
| | | | configurable.
* Revert "Properly track execution of BucketTasks and provide sync() and ↵Henning Baldersheim2021-02-021-34/+0
| | | | order… "
* Properly track execution of BucketTasks and provide sync() and orderly shutdown.Henning Baldersheim2021-02-021-0/+34
|
* Revert "Implement BucketExecutor::sync."Henning Baldersheim2021-02-021-34/+0
|
* Use conditional notify instead of sleep.Henning Baldersheim2021-02-011-0/+1
|
* Implement BucketExecutor::sync.Henning Baldersheim2021-02-011-0/+33
|
* Wire reporting of attribute resource usage all the way to the cluster ↵Geir Storli2021-01-291-0/+22
| | | | controller via the host info API.