| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\
| |
| |
| |
| | |
vespa-engine/vekterli/ensure-internal-messages-flushed-prior-to-rpc-shutdown
Ensure internal messages are flushed before shutting down RPC subsystem
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This moves RPC shutdown from being the _first_ thing that happens
to being the _last_ thing that happens during storage chain shutdown.
To avoid concurrent client requests from the outside reaching internal
components during the flushing phases, the Bouncer component will now
explicitly and immediately reject incoming RPCs after closing and all
replies will be silently swallowed (no one is listening for them at that
point anyway).
|
| | |
|
|/ |
|
|
|
|
|
|
|
| |
Only the reply dispatcher functionality is ever used.
Also rename shutdown function to raise less eyebrows from a case
of mistaken identity with `std::terminate`...
|
|
|
|
|
|
| |
For a long time now, content nodes have transitioned directly
from Down to Up on startup, and they will never pass through an
Initializing state (remnant from spinning rust days).
|
| |
|
|
|
|
|
|
| |
Although unused, its presence in the chain causes an indirect
call for each message passing by in either direction, which is
entirely pointless.
|
|
|
|
|
|
| |
Serialization code can safely be removed, as no revert-related
messages have ever flown across the wire in the new serialization
format.
|
|
|
|
|
|
| |
This is a remnant from the VDS days and can only work when the
backend is a multi-version store. Code has been explicitly config
model-disabled for Proton since day one.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces cancellation of pending operations/messages to
content nodes in the following scenarios:
* One or more content nodes become unavailable in a newly
received cluster state version (triggered when first received,
i.e. at the pending state start edge).
* One or more nodes are removed from the distribution config.
* The set of available distributors changes, which in turn
changes the ownership of a fraction of the set of super buckets.
Pending operations to buckets that were owned by the current
distributor in the previous state, but not in the new state,
are all cancelled.
Introduce cancellation support for internal maintenance operations.
As part of this, move `CancelScope` tracking out into the parent
`Operation` class to unify cancellation tracking across both
client and maintenance operations.
Remove interface vs. impl indirection for `PersistenceMessageTracker`
since it's only ever had a single implementation and it likely never
will have another.
|
|\
| |
| |
| |
| | |
vespa-engine/vekterli/add-predicated-bucket-msg-fn-to-message-tracker
Enumerate pending message IDs on a bucket predicate basis
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Lets a caller selectively enumerate all IDs of messages pending
towards buckets that match a caller-provided predicate function.
A separate message ID callback is invoked per distinct message.
Also remove hard-coded multi-index numeric indices in favor of
named constants.
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
| |
- Use explicit index based vector iteration as we are exposing index.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- noexcept
- less default values in methods
|
|\
| |
| | |
Unify and modernize code and layout
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
distribution config
For a node to be considered available, it needs to be present and
available in the current cluster state, as well as be part of a
valid group in the distribution config itself.
If either of these conditions are not satisfied, the node will be
considered unavailable. The distributor will remove all knowledge
of replicas on such nodes from its internal bucket DB.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- Remove parameters not used.
- Make template parameter runtime parameter.
|
|
|
|
|
|
| |
A sequence of length n is defined as a function whose domain is
equal to 1..n (note: 1-indexing), so just use the domain directly
instead of manually constructing the range.
|
|\
| |
| | |
Minor spec simplifications
|
| |
| |
| |
| |
| |
| |
| |
| | |
- Nat (the set of natural numbers) is already present in Integers,
so no need to extend Naturals.
- Instead of computing cardinality of constant sets to verify that
that the provided set has at least one element, just compare against
the empty set.
|
| |
| |
| |
| | |
sections" MERGEOK"
|