| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
switch to new-style config
|
| | |
|
|/
|
|
|
|
|
|
| |
fixup (per application):
- maybe ignore SIGPIPE
- wire argc/argv
untangle Vespa Test Framework
strip down deprecated TestApp
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Avoids some implicit conversions. Add `starts_with` to `vespalib::string`
and `vespalib::stringref` to allow drop-in replacement for Document API code.
|
| |
|
|
|
|
|
| |
Avoids some implicit conversions. Add `starts_with` to `vespalib::string`
and `vespalib::stringref` to allow drop-in replacement for Document API code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
thawing/freezing
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
users of Slime.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
vespa-engine/balder/use-wait_until-to-reduce-need-for-sampling-time
Use wait_until and a deadline instead of a timeout.
|
| | |
|
| |
| |
| |
| | |
This reduces the need to smaple the time significantly.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Instead of having one abstract throttler created from bootstrap config,
explicitly create one dynamic and one unlimited throttler and allow for
atomically switching between the two based on received config.
The `MergeHandler` component will now always fetch the current throttler
from the `FileStorHandler` instead of caching it at construction time.
This commit removes the `restart` annotation on the existing throttler
type config enums.
|
|
|
|
|
|
| |
based on base VESPA_TIMER_HZ to use for random waiting
when doing a poll based appraoch.
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/fix-storage-slobrok-threading-edge-cases
Gracefully flush pending Slobrok task on content node RPC teardown [run-systemtest]
|
| |
| |
| |
| |
| |
| |
| | |
Prior code had an ad-hoc (and undocumented) sleep that would hopefully
delay the rest of the test until there was mutual Slobrok visibility, but
which was not guaranteed and usually over-pessimized. Replace with
explicit checks of Slobrok mirrors.
|
| |
| |
| |
| |
| | |
Avoids race between transport connection destruction in one FNET thread
and processing unregistration task in another FNET thread.
|
|/ |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/configurable-per-merge-feed-op-throttling
Make it possible to configure what aspects of merges should be throttled [run-systemtest]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add live config for choosing whether merges should be throttled
on a per-feed operation (`MergeHandler`) level, or on an `ApplyBucketDiff`
persistence thread level.
This is intended to be a temporary feature while we do experiments, so
some liberties are taken with regards to how holes are punched in the
various abstraction layers.
|
|/
|
|
|
| |
- Also use the common transport for config subscriptions.
- Put The TransportConfig in the fnet namespace.
|
| |
|
| |
|
|
|
|
| |
proton.
|
|
|
|
| |
frequency of various tasks.
|
|
|
|
| |
from config.
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/fix-data-race-in-persistence-test-mock
Fix data race for persistence provider test mock
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the cluster controller publishes a cluster state where at least
one node is marked as maintenance in the default space but is up
in the global space, global bucket merges are pending in the cluster.
We want these merges to complete ASAP, and to avoid starvation caused
by distributors that finish their global merges quicker than others
(or whose global bucket ops get preempted), allow for _completely_
inhibiting merges to buckets in the default space when global buckets
are pending.
Requires a live config flag to be set to actually be taken into account
in the bucket synchronization state checker.
Flag is tracked per distributor bucket space (per stripe) and is
automatically cleared once a cluster state is received without pending
global merges.
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/add-distributor-config-for-default-space-merge-inhibition
Add config for default bucket space merge inhibition during global merges
|