Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | - Honour max merge chunk size in one place. | Henning Baldersheim | 2020-10-26 | 5 | -21/+11 |
| | | | | - GC incomplete enable_merge_local_node_choose_docs_optimalization handling. | ||||
* | GC unused _maxBufferSize data member from ApplyBucketDiffReply | Henning Baldersheim | 2020-10-26 | 3 | -8/+3 |
| | |||||
* | - Add class comments. | Henning Baldersheim | 2020-10-19 | 2 | -10/+5 |
| | | | | | | - Reduce code visibility. - Clean up some unused members. - Some code unification. | ||||
* | Move join handling together with split handling. | Henning Baldersheim | 2020-10-18 | 3 | -18/+14 |
| | |||||
* | Simplify. | Henning Baldersheim | 2020-10-12 | 1 | -1/+1 |
| | |||||
* | No need for BucketInfo to be virtual just to make it printable. | Henning Baldersheim | 2020-10-12 | 4 | -39/+34 |
| | |||||
* | - GC the last usages of vespalib::Lock. | Henning Baldersheim | 2020-10-08 | 1 | -1/+0 |
| | | | | - Now it is only vespalib::Monitor left | ||||
* | Add noexcept as indicated by -Wnoeexcept | Henning Baldersheim | 2020-10-07 | 5 | -27/+25 |
| | |||||
* | Gracefully handle RPC header/payload decode failures | Tor Brede Vekterli | 2020-09-30 | 1 | -0/+4 |
| | |||||
* | Merge pull request #14524 from ↵ | Tor Brede Vekterli | 2020-09-24 | 11 | -6/+120 |
|\ | | | | | | | | | vespa-engine/vekterli/add-statbucket-storage-protocol-serialization-support Add StatBucket storage protocol (de-)serialization support | ||||
| * | Add StatBucket storage protocol (de-)serialization support | Tor Brede Vekterli | 2020-09-24 | 11 | -6/+120 |
| | | | | | | | | | | | | | | Adds both protobuf schema and type ID handling to protocol codec. Old protocol versions are not expected to handle this message, as StatBucket will run over the Document protocol instead of the Storage protocol in such cases. | ||||
* | | Reorder equality checks so that common case is cheaper | Tor Brede Vekterli | 2020-09-23 | 1 | -1/+1 |
|/ | | | | Node index and type are much more likely to differ than cluster. | ||||
* | Avoid address stringification in common lookup path | Tor Brede Vekterli | 2020-09-22 | 4 | -11/+68 |
| | | | | | | | | Precompute internal address hash over <cluster, type, index> tuple. No other fields are included in the hash, as this is only used for storage API lookups. Remove automatic resending field from address, as we never use MBus resending functionality in the backend communication protocols. | ||||
* | Add thread-safe encapsulation of protocol codec and live dependency updates | Tor Brede Vekterli | 2020-09-14 | 1 | -2/+3 |
| | |||||
* | Basic functionality for direct RPC for StorageAPI communication | Tor Brede Vekterli | 2020-09-14 | 3 | -15/+16 |
| | | | | | | | | This has several advantages: * Completely bypasses all MessageBus indirections * Explicit setup of RPC thread pool * Direct dispatch from RPC thread to persistence queue pool * Better control of encoding/decoding and buffer usage | ||||
* | - If document type has been resolved, use if for test-and-set too. | Henning Baldersheim | 2020-08-27 | 2 | -0/+13 |
| | | | | - Inline small frequently called methods. | ||||
* | Consolidate suppress warnings for protobuf sources. | Tor Egge | 2020-08-18 | 1 | -5/+2 |
| | |||||
* | Restore include of ostream in storageapi. | Tor Egge | 2020-08-17 | 1 | -0/+1 |
| | |||||
* | Use named constants instead of strings sprinkled all over. | Henning Baldersheim | 2020-08-04 | 2 | -7/+10 |
| | |||||
* | false != true | Henning Baldersheim | 2020-07-08 | 1 | -1/+1 |
| | |||||
* | Remove non-semantic changes prior to using a sequenced threadpool in mbus. | Henning Baldersheim | 2020-07-08 | 1 | -0/+2 |
| | |||||
* | Consolidate search for GTest. | Tor Egge | 2020-07-07 | 3 | -3/+0 |
| | |||||
* | avoid naked exit | Arne Juul | 2020-07-03 | 1 | -1/+1 |
| | |||||
* | Use find_package to find gtest library. | Tor Egge | 2020-06-29 | 3 | -3/+6 |
| | |||||
* | Add source target per module for generated sources. | Tor Egge | 2020-06-23 | 1 | -0/+2 |
| | |||||
* | Propagate tombstone info through protocol serialization | Tor Brede Vekterli | 2020-05-26 | 6 | -14/+72 |
| | | | | | | | For older versions that don't understand the explicit presence of tombstones for GetReply, make it appear as if the reply has simply returned a Not Found response. This makes behavior unchanged in an upgrade scenario. | ||||
* | Use atomic counter instead of locks for a counter. | Henning Baldersheim | 2020-04-20 | 2 | -27/+9 |
| | |||||
* | Reduce code duplication in test code. | Tor Egge | 2020-03-30 | 1 | -12/+5 |
| | |||||
* | Handle newer gtest versions where the legacy API is deprecated. | Tor Egge | 2020-03-29 | 1 | -1/+7 |
| | |||||
* | Reserve space for vector. | Henning Baldersheim | 2020-03-20 | 2 | -3/+3 |
| | | | | Varoius code cleanup for c++11. | ||||
* | Add count metric for number of documents garbage collected | Tor Brede Vekterli | 2020-02-24 | 5 | -8/+31 |
| | | | | | | | | | | | | | | | New distributor metric available as: ``` vds.idealstate.garbage_collection.documents_removed ``` Add documents removed statistics to `RemoveLocation` responses, which is what GC is currently built around. Could technically have been implemented as a diff of before/after BucketInfo, but GC is very low priority so many other mutating ops may have changed the bucket document set in the time span between sending the GC ops and receiving the replies. This relates to issue #12139 | ||||
* | Add noexcept to move constructors and operators | Henning Baldersheim | 2020-01-21 | 2 | -3/+3 |
| | |||||
* | Merge pull request #11822 from vespa-engine/balder/reduce-bytebuffer-exposure | Henning Baldersheim | 2020-01-21 | 13 | -225/+117 |
|\ | | | | | Balder/reduce bytebuffer exposure | ||||
| * | Add stream method and use memcpy over casting. | Henning Baldersheim | 2020-01-21 | 4 | -2/+9 |
| | | |||||
| * | Add TODO for next commit. | Henning Baldersheim | 2020-01-20 | 1 | -1/+3 |
| | | |||||
| * | Make it known that getting serialized size will always be expensive. | Henning Baldersheim | 2020-01-20 | 2 | -2/+9 |
| | | |||||
| * | GC a load of unused code. ByteBuffer towards read only. | Henning Baldersheim | 2020-01-20 | 9 | -223/+98 |
| | | |||||
| * | Unify towards nbostream | Henning Baldersheim | 2020-01-16 | 4 | -5/+6 |
| | | |||||
* | | Add internal read consistency enum to storage protocol Get requests | Tor Brede Vekterli | 2020-01-16 | 7 | -10/+90 |
|/ | |||||
* | Just use the stream method. | Henning Baldersheim | 2020-01-16 | 1 | -8/+8 |
| | |||||
* | Remove virtuality of DocumentId. | Henning Baldersheim | 2020-01-14 | 1 | -10/+10 |
| | |||||
* | Drop timestamp.h | Henning Baldersheim | 2019-12-16 | 1 | -4/+2 |
| | |||||
* | timeout as duration | Henning Baldersheim | 2019-12-04 | 9 | -60/+48 |
| | | | | | Conflicts: messagebus/src/vespa/messagebus/testlib/testserver.cpp | ||||
* | Use fast updates when replica metadata is out of sync but document itself is ↵ | Tor Brede Vekterli | 2019-11-15 | 2 | -3/+11 |
| | | | | | | | | | | | | | | | | | | | | | | | in sync When a bucket has replicas with mismatching metadata (i.e. they are out of sync), the distributor will initiate a write-repair for updates to avoid divergence of replica content. This is done by first sending a Get to all diverging replica sets, picking the highest timestamp and applying the update locally. The updated document is then sent out as a Put. This can be very expensive if document Put operations are disproportionally more expensive than partial updates, and also makes the distributor thread part of a contended critical path. This commit lets `TwoPhaseUpdateOperation` restart an update as a "fast path" update (partial updates sent directly to the nodes) if the initial read phase returns the same timestamp for the document across all replicas. It also removes an old (but now presumed unsafe) optimization where Get operations are only sent to replicas marked "trusted" even if others are out of sync with it. Since trustedness is a transient state that does not persist across restarts or bucket handoffs, it's not robust enough to be used for such purposes. Gets will now be sent to all out of sync replica groups regardless of trusted status. | ||||
* | Remove unused code | Henning Baldersheim | 2019-11-01 | 1 | -1/+0 |
| | |||||
* | Suppress array bounds warning when compiling generated protobuf code. | Tor Egge | 2019-08-23 | 1 | -2/+2 |
| | |||||
* | Remove visitor ordering and order selection. | Henning Baldersheim | 2019-08-09 | 4 | -14/+5 |
| | |||||
* | Assignment is inaccessible (private in ancestor class ↵ | Tor Egge | 2019-07-31 | 1 | -1/+3 |
| | | | | | | storage::api::StorageMessage). Add explicit delete of copy/move assignment for storage::api::MaintenanceCommand. | ||||
* | Remove CppUnit dependencies in modules | Tor Brede Vekterli | 2019-06-26 | 2 | -29/+1 |
| | | | | Move test config helpers out of cppunit submodule. | ||||
* | Add missing includes. | Tor Egge | 2019-06-11 | 5 | -0/+5 |
| |