| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Now without unused expiry time extraction.
|
| |
|
|
|
|
|
| |
Also add functionality for extracting "notAfter" expiration time from
current certificate, which may later be added as an expiry metric.
|
|
|
|
|
|
|
| |
Has the obvious consistency caveats that if all your existing replicas are
down, the update will go through since the document from an weak consistency
perspective does not exist anywhere. But can be a useful feature if this
is an acceptable tradeoff.
|
|
|
|
| |
The feature has been default on since late May 2018.
|
| |
|
|
|
|
| |
Easier to track across nodes than hunting for log warnings.
|
|
|
|
|
|
|
|
|
|
| |
This should not happen during normal operation as the distributor
should be aware if bucket replicas are out of sync before deciding
whether an update requires a two-phase fallback.
Warning for now to see if it can be observed anywhere. The logic
surrounding the warning will likely be rewritten to treat this as
an explicit failure at a later point.
|
| |
|
| |
|
|\
| |
| | |
Arnej/drop dimension key
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* adding a "dimensionkey" would add an extra dimension to json
reporting, but used the Metric name as the value in that dimension.
This means there was no added information at all.
Also, the "operationtype" dimension wasn't populated with operation
types, even if it looked that way, because it wasn't used directly
but was cloned and the actual name would be the loadtype instead,
making it very confusing.
|
| |
| |
| |
| |
| | |
Since CreateIterator now does more than just in-memory metadata work (i.e. it
may hit the disk), it should not be given a fixed, very high priority.
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
| |
C++ portion of documentapi.
Remove corresponding document api cross language files.
Remove corresponding storageapi messages.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
state indicates that node changes from up to down state even if node
remains up according to baseline cluster state.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The expected semantics of c_str() (a null-terminated string) cannot
be satisfied with a string reference, so remove the function entirely
to prevent people from using it in buggy ways.
Replaces c_str() with data() in places where it is presumed safe,
otherwise constructs temporary string instances. Certain callsites
have been de-stringref'd in favor of regular strings, in particular
where C APIs have been transitively called. The vast majority of
these were called with string parameters anyway, so should not
cause much extra allocation.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Operations that are tagged as only requiring shared locking may run
concurrently with other shared lock operations. Operations requiring
exclusive locking (all mutations) can't run concurrently with any
other operations, shared or not.
Let operations be able to explicitly specify their locking requirements.
Default is exclusive locking, which shall give the same behavior as before.
Since this locking happens at a stripe granularity, it's vital that operations
are routed deterministically to the correct stripe based on their bucket.
|
|
|
|
|
|
|
|
|
|
| |
We have an SPI iterate() invariant that states the provider shall never
observe concurrent calls for the same iterator ID. If GetIter operations
can operate in shared locking mode, this invariant will no longer hold
if multiple GetIters for a single iterator ID can be pipelined in the
queue. We therefore ignore the config entirely.
This is not expected to cause any performance regressions in practice.
|
|\
| |
| | |
use LOG_ABORT not just abort()
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* abort() has the unfortunate effect that nothing is seen in the log,
just an event (which is usually not displayed); so ops people don't
see that the program is crashing at all.
* LOG_ABORT("message") will log an error with the message (and the file
and line) before calling abort(), so it's easy to see what happened.
* add or move <vespa/log/log.h> include and LOG_SETUP lines before
LOG_ABORT is used (or included).
|
| |/
|/|
| |
| |
| | |
Also change debug output to be Slime structure, since the encoded
string does not seem to have had the intended semantics.
|
|\ \
| | |
| | |
| | |
| | | |
vespa-engine/vekterli/debug-log-when-config-is-received-on-content-node
Debug log when new config is received on content node
|
| | | |
|
| | | |
|
|/ / |
|
|/
|
|
|
|
|
|
|
|
|
| |
2 - Use this buffer for re-serialization.
3 - Make deserialization lazy where possible.
Currently lazy on replay and when arriving over the storageapi.
Still needs to eager over documentapi.
4 - Deserialize eagerly in the persistence thread since those are plentyfull and not bottlenecked,
instead of in the single master thread.
Use real repo.
|
| |
|
|\ |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|