Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | use separate lock for stats | Håvard Pettersen | 2022-05-24 | 2 | -6/+25 |
| | |||||
* | use cached queue size for metrics to avoid lock inversion | Håvard Pettersen | 2022-05-23 | 2 | -5/+24 |
| | |||||
* | Fold fastlib into vespalib and gc some unused code. | Henning Baldersheim | 2022-05-21 | 1 | -1/+0 |
| | | | | Also move some code only used by juniper up into juniper test module. | ||||
* | hold lock while modifying merge states map | Håvard Pettersen | 2022-05-20 | 1 | -2/+6 |
| | |||||
* | Merge pull request #22683 from ↵ | Håvard Pettersen | 2022-05-20 | 1 | -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 touch | Håvard Pettersen | 2022-05-20 | 1 | -1/+0 |
| | | |||||
| * | wait for locks to be released in the destructor | Håvard Pettersen | 2022-05-20 | 1 | -1/+4 |
| | | |||||
* | | Fold staging_vespalib into vespalib | Henning Baldersheim | 2022-05-20 | 2 | -4/+3 |
| | | |||||
* | | read cluster state while holding lock | Håvard Pettersen | 2022-05-20 | 2 | -11/+11 |
|/ | | | | | will also avoid error messages like 'message discarded due to cluster being UP' | ||||
* | Fold storageapi into storage. | Henning Baldersheim | 2022-05-19 | 105 | -2/+11537 |
| | |||||
* | Merge pull request #22662 from ↵ | Tor Brede Vekterli | 2022-05-19 | 1 | -1/+0 |
|\ | | | | | | | | | vespa-engine/havardpe/delay-slobrok-register-destruction delay destruction of the slobrok register component | ||||
| * | delay destruction of the slobrok register component | Håvard Pettersen | 2022-05-19 | 1 | -1/+0 |
| | | |||||
* | | Depend on storage instead of storageframework | Henning Baldersheim | 2022-05-18 | 2 | -2/+2 |
| | | |||||
* | | Collapse storageframework back into storage. | Henning Baldersheim | 2022-05-18 | 72 | -1/+3371 |
|/ | |||||
* | Merge pull request #22640 from ↵ | Henning Baldersheim | 2022-05-18 | 1 | -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 Baldersheim | 2022-05-18 | 1 | -2/+2 |
| | | | | | | | | vespalib. | ||||
* | | We only need to expose a single libstorage.so. No need to split up in ↵ | Henning Baldersheim | 2022-05-18 | 6 | -16/+14 |
|/ | | | | storage storgae_storageserver and storage_distributor. | ||||
* | - Move persitence/spi/types.h under to persitence/spi/types.h | Henning Baldersheim | 2022-05-18 | 2 | -2/+2 |
| | | | | - Cut dependency to persistencetypes for searchlib. | ||||
* | Ensure stripe pool threads vector is fully visible to all started stripes | Tor Brede Vekterli | 2022-05-16 | 2 | -2/+3 |
| | |||||
* | Remove disabled unit test that triggered compiler warnings | Tor Egge | 2022-05-16 | 1 | -42/+0 |
| | | | | (gcc 12 on aarch64 platform). | ||||
* | Merge pull request #22445 from ↵ | Henning Baldersheim | 2022-05-05 | 3 | -4/+32 |
|\ | | | | | | | | | vespa-engine/vekterli/atomic-visitor-queue-size-read Expose a relaxed atomic view of visitor queue size and use it for metric callback | ||||
| * | Expose a relaxed atomic view of visitor queue size and use it for metric ↵ | Tor Brede Vekterli | 2022-05-04 | 3 | -4/+32 |
| | | | | | | | | | | | | callback Avoids having to take a mutex that may potentially trigger lock order inversion | ||||
* | | GC unused metrics | Henning Baldersheim | 2022-05-03 | 2 | -8/+1 |
|/ | |||||
* | Revert "Add lock around visitor queue size read during metric snapshot callback" | Tor Egge | 2022-05-03 | 1 | -1/+0 |
| | |||||
* | Make StorageNode stop-request flag atomic | Tor Brede Vekterli | 2022-05-03 | 2 | -5/+10 |
| | | | | Also change requestShutdown() to be safe in the face of concurrent calls. | ||||
* | Add lock around visitor queue size read during metric snapshot callback | Tor Brede Vekterli | 2022-05-03 | 1 | -0/+1 |
| | | | | Mutex should have very little contention in the common case. | ||||
* | Re-acquire state lock before checking if any fields were set by the state ↵ | Tor Brede Vekterli | 2022-05-02 | 1 | -2/+3 |
| | | | | listener | ||||
* | Add debug logging when receiving bucket info for a single requested bucket | Tor Brede Vekterli | 2022-04-29 | 1 | -0/+2 |
| | |||||
* | Thread-safe distribution change propagation in top level distributor component | Tor Brede Vekterli | 2022-04-29 | 3 | -12/+13 |
| | |||||
* | Make MinimumUsedBitsTracker thread safe for both reads and writes | Tor Brede Vekterli | 2022-04-28 | 1 | -13/+22 |
| | |||||
* | Merge pull request #22180 from ↵ | Tor Brede Vekterli | 2022-04-22 | 1 | -0/+1 |
|\ | | | | | | | | | vespa-engine/vekterli/add-doc-selection-support-for-literal-bool-values Add document selection support for literal bool values [run-systemtest] | ||||
| * | Support boolean literals in subexpressions for C++ document selection, not ↵ | Tor Brede Vekterli | 2022-04-20 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | just as expression leaves Adds a new `BoolValueNode` type and the appropriate AST visiting overloads for it. For the sake of comparisons, node is treated as a numeric value node with value in {0, 1}. | ||||
* | | Make dynamic throttling and shared field writer default in config def files. | Geir Storli | 2022-04-20 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #22105 from vespa-engine/arnej/just-new-config-files | Henning Baldersheim | 2022-04-12 | 2 | -216/+259 |
|\ | | | | | switch to new-style config | ||||
| * | switch to new-style config | Arne H Juul | 2022-04-12 | 2 | -216/+259 |
| | | |||||
* | | remove FastOS_Application | Håvard Pettersen | 2022-04-08 | 1 | -17/+16 |
|/ | | | | | | | | fixup (per application): - maybe ignore SIGPIPE - wire argc/argv untangle Vespa Test Framework strip down deprecated TestApp | ||||
* | Add missing include statements. Check for atomic wait support. | Tor Egge | 2022-04-05 | 2 | -0/+2 |
| | |||||
* | GC unused Context parameter | Henning Baldersheim | 2022-03-31 | 18 | -241/+161 |
| | |||||
* | Minor simplifications after PR feedback. | Henning Baldersheim | 2022-03-29 | 1 | -1/+1 |
| | |||||
* | Remove copy constructors. | Henning Baldersheim | 2022-03-28 | 4 | -71/+36 |
| | |||||
* | Use both lvalue and rvalue specifier to avoid explicit std::move() | Henning Baldersheim | 2022-03-28 | 4 | -12/+9 |
| | |||||
* | Avoid the need for clone by using unique_ptr. | Henning Baldersheim | 2022-03-28 | 4 | -8/+6 |
| | |||||
* | Avoid need to copy/clone FieldUpdate | Henning Baldersheim | 2022-03-27 | 4 | -14/+6 |
| | |||||
* | Use vespalib::string in TestAndSetCondition | Tor Brede Vekterli | 2022-03-24 | 1 | -1/+1 |
| | | | | | Avoids some implicit conversions. Add `starts_with` to `vespalib::string` and `vespalib::stringref` to allow drop-in replacement for Document API code. | ||||
* | Revert "Use vespalib::string in TestAndSetCondition" | Tor Brede Vekterli | 2022-03-24 | 1 | -1/+1 |
| | |||||
* | Use vespalib::string in TestAndSetCondition | Tor Brede Vekterli | 2022-03-24 | 1 | -1/+1 |
| | | | | | Avoids some implicit conversions. Add `starts_with` to `vespalib::string` and `vespalib::stringref` to allow drop-in replacement for Document API code. | ||||
* | Clean up and refactor visitor management code | Tor Brede Vekterli | 2022-03-18 | 5 | -118/+101 |
| | |||||
* | Fix visitor manager test TSan mutex inversion warning and refactor deadline ↵ | Tor Brede Vekterli | 2022-03-18 | 6 | -60/+76 |
| | | | | | | | | | | | | | handling Defer starting main message dispatch thread until test has enqueued a message that will be immediately timed out. Avoids having to depend on taking an internal mutex in the test to prevent racing with queue handoffs. Taking said mutex triggered a mutex order inversion warning in TSan. Also refactor visitor queue deadline handling by moving to a strongly typed time point. This removes some manual unit scaling arithmetic that did not appear to be entirely correct in the first place. | ||||
* | Add comment with rationale for using atomic value updates instead of tree ↵ | Tor Brede Vekterli | 2022-03-14 | 1 | -0/+10 |
| | | | | thawing/freezing | ||||
* | Make B-tree bucket database values atomic to ensure well-defined access | Tor Brede Vekterli | 2022-03-11 | 3 | -24/+98 |
| | | | | | | | | | | | | | Existing implementation already used explicit acquire/release fences to ensure visibility from writer to concurrent readers, but the values written/read were not of an atomic type and thus _technically_ considered a data race. This commit adds an AtomicValueWrapper wrapper to vespalib which looks and acts much like the existing AtomicEntryRef, but for primitive types that are not related to EntryRefs. The bucket DB B-tree primitive u64 value type is replaced with an atomic wrapper and explicit memory fences are replaced with release stores and acquire loads on the atomic values themselves to ensure they form correct pairs between writer and readers. |