aboutsummaryrefslogtreecommitdiffstats
path: root/storageapi
Commit message (Collapse)AuthorAgeFilesLines
* Add noexcept to move constructors and operatorsHenning Baldersheim2020-01-212-3/+3
|
* Merge pull request #11822 from vespa-engine/balder/reduce-bytebuffer-exposureHenning Baldersheim2020-01-2113-225/+117
|\ | | | | Balder/reduce bytebuffer exposure
| * Add stream method and use memcpy over casting.Henning Baldersheim2020-01-214-2/+9
| |
| * Add TODO for next commit.Henning Baldersheim2020-01-201-1/+3
| |
| * Make it known that getting serialized size will always be expensive.Henning Baldersheim2020-01-202-2/+9
| |
| * GC a load of unused code. ByteBuffer towards read only.Henning Baldersheim2020-01-209-223/+98
| |
| * Unify towards nbostreamHenning Baldersheim2020-01-164-5/+6
| |
* | Add internal read consistency enum to storage protocol Get requestsTor Brede Vekterli2020-01-167-10/+90
|/
* Just use the stream method.Henning Baldersheim2020-01-161-8/+8
|
* Remove virtuality of DocumentId.Henning Baldersheim2020-01-141-10/+10
|
* Drop timestamp.hHenning Baldersheim2019-12-161-4/+2
|
* timeout as durationHenning Baldersheim2019-12-049-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 Vekterli2019-11-152-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 codeHenning Baldersheim2019-11-011-1/+0
|
* Suppress array bounds warning when compiling generated protobuf code.Tor Egge2019-08-231-2/+2
|
* Remove visitor ordering and order selection.Henning Baldersheim2019-08-094-14/+5
|
* Assignment is inaccessible (private in ancestor class ↵Tor Egge2019-07-311-1/+3
| | | | | | storage::api::StorageMessage). Add explicit delete of copy/move assignment for storage::api::MaintenanceCommand.
* Remove CppUnit dependencies in modulesTor Brede Vekterli2019-06-262-29/+1
| | | | Move test config helpers out of cppunit submodule.
* Add missing includes.Tor Egge2019-06-115-0/+5
|
* Avoid unknown warning options when using clang.Tor Egge2019-05-082-1/+5
|
* Ensure required response metadata is propagated to Reply instanceTor Brede Vekterli2019-04-243-5/+62
|
* Reapply protocol buffers for internal StorageAPI wire encodingTor Brede Vekterli2019-04-2321-725/+2304
|
* Revert "Use protocol buffers for internal StorageAPI wire encoding"Tor Brede Vekterli2019-04-1221-2304/+725
|
* Tag protocol switchover version as 7.40.5Tor Brede Vekterli2019-04-122-2/+2
|
* Address code review feedbackTor Brede Vekterli2019-04-107-82/+30
| | | | | | - don't state next tag in comments, we'll use `reserved` instead - restructure bucket info to version the checksum and not the info itself - add some comments
* Explicitly test response without bucket ID remappingTor Brede Vekterli2019-04-101-1/+12
|
* Add missing header pragma directiveTor Brede Vekterli2019-04-101-0/+2
|
* Misc cleanup and refactoringTor Brede Vekterli2019-04-094-77/+88
|
* Extend testing of encoded/decoded fieldsTor Brede Vekterli2019-04-082-171/+104
|
* Factor out shared protobuf codeTor Brede Vekterli2019-04-083-157/+186
|
* Refactor utility codec functions to build on top of each otherTor Brede Vekterli2019-04-082-62/+59
| | | | | | Also move protobuf includes out to a dedicated header file that hides the various cozy GCC warning suppressions we need for the `protoc`- generated code.
* Remove old 5.0 code path that generated data no one usedTor Brede Vekterli2019-04-081-44/+2
|
* Faster protobuf serialization without `std::string` indirectionTor Brede Vekterli2019-04-052-13/+25
|
* Break up protobufs into multiple files to avoid single, massive generated .h/.ccTor Brede Vekterli2019-04-058-408/+467
|
* Don't derive v7 serialization from a prior versioned protocolTor Brede Vekterli2019-04-057-42/+54
| | | | | | Make `ProtocolSerialization` a proper interface and introduce an intermediate `LegacyProtocolSerialization` class for the legacy versioned protocol implementations.
* Implement SetBucketState, Create/DestroyVisitor and RemoveLocationTor Brede Vekterli2019-04-054-19/+278
|
* Implement NotifyBucketChange, SplitBucket and JoinBucketsTor Brede Vekterli2019-04-053-2/+158
|
* Add support for ApplyBucketDiff and RequestBucketInfoTor Brede Vekterli2019-04-054-1/+256
|
* Add support for DeleteBucket, Merge and GetBucketDiffTor Brede Vekterli2019-04-053-75/+422
|
* Add start of protobuf serialization protocol implementationTor Brede Vekterli2019-04-0511-5/+814
|
* Make serialization tests version-parameterizableTor Brede Vekterli2019-04-051-58/+81
|
* Convert protocol serialization tests from CppUnit to GTestTor Brede Vekterli2019-04-053-506/+264
|
* Merge pull request #8900 from vespa-engine/arnej/no-more-pythonArne H Juul2019-03-291-3/+1
|\ | | | | stop using python script for cppunit tests
| * stop using python script for cppunit testsArne Juul2019-03-261-3/+1
| |
* | Minor C++ cleanupsTor Brede Vekterli2019-03-221-1/+0
| |
* | Basic handling of activate_cluster_state_version RPC in backendTor Brede Vekterli2019-03-145-0/+74
|/
* Add '()' to macro definition.Geir Storli2019-03-011-1/+1
|
* Simplify.Geir Storli2019-03-011-1/+0
|
* Reduce code duplication in gtest runners.Geir Storli2019-02-221-8/+2
|
* Add gtest runner in storageapi and migrate bucketinfotest from CppUnit to gtest.Geir Storli2019-02-185-27/+47
|