| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/only-fetch-doc-id-when-splitting
Only fetch document IDs in bucket when splitting, not whole documents
|
| |
| |
| |
| |
| |
| |
| | |
Splitting code only needs to look at the document IDs to figure out
the distribution of the target buckets. Remove tracking of document
sizes (which did need the whole documents) since it was only used
in a warning log message.
|
|/ |
|
|\
| |
| |
| |
| | |
vespa-engine/toregge/use-stricter-version-of-dynamic-cast
Use stricter version of dynamic_cast.
|
| | |
|
|\ \
| | |
| | | |
- Do not stop persitence thread until it has been interrupted.
|
| | |
| | |
| | |
| | |
| | | |
- fetch messages even if closed to allow draining the Q.
- GC unused code.
|
|\ \ \
| |_|/
|/| | |
Add is_split_group_bucket() utility method.
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Reduce loglevel debug -> spam
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | | |
vespa-engine/toregge/delay-using-std-string-starts-with
Don't use method not available on gcc 8 until we drop support for gcc 8.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Include mutex header file when needed.
|
| |/ / |
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
vespa-engine/balder/gc-remap-queue-after-disk-move
GC unused remapQueueAfterDiskMove method.
|
| |/ |
|
|/ |
|
|\
| |
| | |
Arnej/storage cluster context
|
| |
| |
| |
| |
| |
| |
| | |
* add noexcept to new APIs
* use "const auto *"
* add documentation comments
* add copyright
|
| | |
|
| |
| |
| |
| |
| |
| | |
* instead of asking various components for clustername (as reference
to string) and then taking the pointer to it, add an API for getting
the pointer which has the correct contract documented.
|
| | |
|
|\ \
| |/
|/|
| |
| | |
vespa-engine/toregge/handle-more-up-states-variants
Store more variants of ideal service layer nodes for a given bucket in hash table.
|
| |
| |
| |
| | |
bits > 33.
|
| |
| |
| |
| | |
table.
|
| |
| |
| |
| |
| |
| | |
that require it.
- Clean up some old members and code not used any more.
|
|/
|
|
|
|
|
|
|
|
| |
Instead of sending `REJECTED` when lock token does not match, send
`TEST_AND_SET_CONDITION_FAILED` from distributors. The reindexing visitor
will detect this and remap the failure code to `ABORTED` while
simultaneously failing the backend visitor.
`ABORTED` will be considered transient by the visiting client, allowing
it to retry towards another distributor without the whole thing
having to fail out.
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/use-random-bucket-lock-passthrough-token-for-reindexing-visitors
Only let reindexing puts through locked bucket if their TaS token matches that of the lock
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
of the lock
Avoids race condition edge case where reindexing puts from an outdated
visitor may pass through a bucket lock intended for a newly created
visitor operation
Tokens are 128-bit values derived from a CSPRNG, so uniqueness is for
all intents and purposes guaranteed.
|
|\ \
| | |
| | |
| | |
| | | |
vespa-engine/balder/wire-cluster-name-as-reference-all-the-way
- Wire the clustername through as a reference to avoid referencing te…
|
| |/ |
|
|\ \
| |/
|/|
| |
| | |
vespa-engine/geirst/optimize-two-phase-update-operation
Avoid lookup bucket database entries two times when handling fast pat…
|
| |
| |
| |
| | |
update operation.
|
|\ \
| | |
| | | |
Extend use of bucket ownership hash.
|
| |/ |
|
|\ \
| |/
|/|
| |
| | |
vespa-engine/toregge/remove-internal-bucket-join-command
Remove InternalBucketJoinCommand and InternalBucketJoinReply.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since reindexing visitors take a bucket lock when they arrive and
wait for pending ops to drain before they start, doing so when there's
a pending merge risks starving the bucket for a long time. This is
because merges may linger for a long time in the merge throttling
queues in the cluster. By not starting such visitors if there is a
pending merge, we avoid this edge case. Functionality is already in
place to inhibit merges from starting if there's an active bucket lock
present.
|
|/ |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/block-ideal-state-ops-towards-locked-buckets
Block ideal state operations towards buckets that are locked
|
| |
| |
| |
| |
| |
| |
| | |
Prevents ideal state ops from modifying buckets that are being used
in a read-for-write context.
Move `OperationSequencer` to main `Distributor` to more easily
facilitate sharing of it across components.
|
|/ |
|