Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Never block statecheckers | Henning Baldersheim | 2024-02-02 | 1 | -27/+0 |
| | |||||
* | Update copyright | Jon Bratseth | 2023-10-09 | 1 | -1/+1 |
| | |||||
* | Only block bucket remove operation if overlapping with pending message ↵ | Tor Brede Vekterli | 2021-10-15 | 1 | -2/+2 |
| | | | | | | | | | | target node Previously we'd block if there were pending messages to _any_ replica node for the bucket, which is a massive pessimization. This behavior also made it likely that a merge operation with one or more source-only replicas would end up being tagged as failed due to concurrent client load to the other replicas. | ||||
* | Update 2017 copyright notices. | gjoranv | 2021-10-07 | 1 | -1/+1 |
| | |||||
* | Rename BucketDBUpdater to TopLevelBucketDBUpdater. | Geir Storli | 2021-09-06 | 1 | -1/+1 |
| | |||||
* | Rename Distributor to TopLevelDistributor. | Geir Storli | 2021-09-06 | 1 | -1/+1 |
| | |||||
* | Rewrite ideal state manager tests to not use legacy test util. | Geir Storli | 2021-08-27 | 1 | -26/+22 |
| | |||||
* | Block ideal state ops when a pending cluster state is present | Tor Brede Vekterli | 2021-06-09 | 1 | -41/+35 |
| | | | | | | | | | | | | Since distributor stripes no longer have access to the top-level pending message tracking info, it's no longer possible to infer if a pending cluster state is happening by looking at the sent messages. Instead, do this more generally (and efficiently) by looking at the potential pending cluster state directly. Rewire the `isBlocked` logic to take in an operation context instead of just a `PendingMessageTracker`, giving it access to a lot more relevant information. | ||||
* | Make more Distributor internals only available to friended tests | Tor Brede Vekterli | 2021-05-03 | 1 | -12/+7 |
| | | | | Also add more assertions that such functions are only called in legacy mode. | ||||
* | Revert "Make more Distributor internals only available to friended tests" | Harald Musum | 2021-05-03 | 1 | -7/+12 |
| | |||||
* | Make more Distributor internals only available to friended tests | Tor Brede Vekterli | 2021-04-30 | 1 | -12/+7 |
| | | | | Also add more assertions that such functions are only called in legacy mode. | ||||
* | Stop exposing DistributorStripeComponent from IdealStateManager. | Geir Storli | 2021-03-23 | 1 | -8/+8 |
| | |||||
* | First steps of splitting distributor logic up into disjoint stripes | Tor Brede Vekterli | 2021-03-19 | 1 | -0/+1 |
| | | | | For now only a single stripe may be used. | ||||
* | Prefer activating ready replicas with more documents | Tor Brede Vekterli | 2021-02-22 | 1 | -4/+5 |
| | | | | | | | | | | | | | | | | | This goes contrary to the old behavior where we activated the replica the distributor thinks is "probably" most up to date, but where the information needed to make such a decision disappears upon bucket ownership transfer. In turn, this can cause highly sub-optimal replica activation if the distributors makes the wrong decision. Remove using the "trusted" concept entirely from the bucket activation heuristic in favor of a much more deterministic one based on replica readiness, document count and ideal state order. Also fixes an incidentally discovered old bug where an edge case in the cluster state's handling of node counts had the potential of not clearing pending maintenance operations if the newly unavailable node had a distribution key equal to `node count - 1`. | ||||
* | add ClusterContext API | Arne Juul | 2020-12-16 | 1 | -12/+10 |
| | | | | | | * 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. | ||||
* | Merge pull request #15795 from ↵ | Tor Brede Vekterli | 2020-12-14 | 1 | -1/+1 |
|\ | | | | | | | | | 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 | ||||
| * | Only let reindexing puts through locked bucket if their token matches that ↵ | Tor Brede Vekterli | 2020-12-11 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | | - Wire the clustername through as a reference to avoid referencing temporaries. | Henning Baldersheim | 2020-12-11 | 1 | -5/+5 |
|/ | |||||
* | Block ideal state operations towards buckets that are locked | Tor Brede Vekterli | 2020-12-07 | 1 | -9/+35 |
| | | | | | | | 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. | ||||
* | As we have have now removed the expensive Route member we can further ↵ | Henning Baldersheim | 2020-11-26 | 1 | -4/+7 |
| | | | | | | | | | | compact the message objects. - Compact StorageMessageAddress to 16 bytes by - using reference to cluster name. - Use small enums for protocol and node type. - Avoid having StorageMessage as separate allocation. - Avoid default values | ||||
* | Convert remaining CppUnit tests to GTest | Tor Brede Vekterli | 2019-06-25 | 1 | -105/+69 |
| | | | | | | Move base message sender stub out to common test module to avoid artificial dependency from persistence tests to the distributor tests. | ||||
* | Enable cluster state bundle in distributor. | Tor Egge | 2018-02-26 | 1 | -1/+1 |
| | |||||
* | Adjust distributor unit tests to handle global distributor bucket space. | Tor Egge | 2018-02-14 | 1 | -5/+26 |
| | |||||
* | Add bucket spaces to bucket DB status pages | Tor Brede Vekterli | 2018-01-12 | 1 | -1/+3 |
| | |||||
* | Add configurable bucket resolver and fixed space repo | Tor Brede Vekterli | 2017-12-15 | 1 | -6/+6 |
| | | | | | Make default (aka. placeholder) bucket space index 1, not 0. Bucket space index 0 is now considered an invalid space. | ||||
* | Use document::Bucket instead of document::BucketId in api | Tor Egge | 2017-10-26 | 1 | -2/+2 |
| | | | | | | checking for pending messages in PendingMessageTracker. Bucket space portion is still ignored by implementation. | ||||
* | Use document::Bucket in ideal state operation. | Tor Egge | 2017-10-26 | 1 | -10/+10 |
| | |||||
* | Revert "Revert "Use existing bucket space instead of placeholder value"" | Håkon Hallingstad | 2017-10-23 | 1 | -2/+4 |
| | |||||
* | Revert "Use existing bucket space instead of placeholder value" | Håkon Hallingstad | 2017-10-23 | 1 | -4/+2 |
| | |||||
* | Add bucket space to create visitor command. | Tor Egge | 2017-10-23 | 1 | -1/+1 |
| | |||||
* | Add bucket space to request bucket info command. | Tor Egge | 2017-10-23 | 1 | -1/+3 |
| | |||||
* | Move test function makeDocumentBucket to document module. | Tor Egge | 2017-10-20 | 1 | -2/+2 |
| | |||||
* | Take document::Bucket instead of document::BucketId as constructor | Tor Egge | 2017-10-17 | 1 | -1/+3 |
| | | | | argument to storage commands that inherit from BucketCommand. | ||||
* | Add ready state to bucket meta info printing | Tor Brede Vekterli | 2017-06-19 | 1 | -4/+4 |
| | |||||
* | Update copyright headers | Jon Bratseth | 2017-06-14 | 1 | -1/+1 |
| | |||||
* | Revert "Update copyright headers" | Jon Bratseth | 2017-06-14 | 1 | -1/+1 |
| | |||||
* | Update copyright headers | Jon Bratseth | 2017-06-14 | 1 | -1/+1 |
| | |||||
* | Revert "Copyright header" | Jon Bratseth | 2017-06-13 | 1 | -1/+1 |
| | |||||
* | Copyright header | Jon Bratseth | 2017-06-13 | 1 | -1/+1 |
| | |||||
* | - Optimize includes. | Henning Baldersheim | 2017-04-25 | 1 | -1/+0 |
| | | | | | - Move htmltable code to implementation file and add add override. - No virtual on override. | ||||
* | Revert "Balder/enforce override 2" | Arne H Juul | 2017-04-24 | 1 | -0/+1 |
| | |||||
* | Including storage now builds fine with override enforcement. | Henning Baldersheim | 2017-04-23 | 1 | -1/+0 |
| | |||||
* | add override in storage tests | Arne H Juul | 2017-04-11 | 1 | -2/+2 |
| | |||||
* | Further decouple some hpp files, config and the attributevector. | Henning Baldersheim | 2016-12-20 | 1 | -10/+3 |
| | |||||
* | Publish | Jon Bratseth | 2016-06-15 | 1 | -0/+268 |