| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
For some assuredly exciting reason, `DocumentUpdate.serialize()` by
default uses the v6 protocol version instead of the HEAD version.
This caused tensor updates (which are only available on the HEAD
version) to fail serialization.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds an entirely new implementation of the internal MessageBus
DocumentAPI protocol, which shall be functionally 1-to-1 compatible
with the existing legacy protocol.
New protobuf schemas have been added to the top-level documentapi
module, which are separated into different domains of responsibility:
* CRUD messages
* Visiting messages
* Data inspection messages
As well as a schema for shared, common message types.
Both C++ and Java protocol implementations separate serialization and
deserialization into a codec abstraction per message type, which
hides the boilerplate required for Protobuf buffer management. The
Java version is a tad more verbose due to generics type-erasure.
This protocol does _not_ currently support lazy (de-)serialization
in Java, as the existing mechanisms for doing so are inherently tied
to the legacy protocol version. Performance tests will decide if we
need to introduce such functionality to the new protocol version.
To avoid having the new protocol go live in production, this commit
changes the semantics of how MessageBus version reporting works (at
least for the near future); instead of reporting the current Vespa
_release_ version, it reports the highest supported _protocol_ version.
This lets us conditionally enable the new protocol by reporting a
MessageBus version greater than or equal to the protocol version _iff_
the protocol should be active.
The new protocol is disabled by default.
Other changes:
* Protocol tests have been moved up one package directory level to
be aligned with the actual package of the classes they test. This
allows for using package-protected constructors in the serialization
tests.
* `DocumentDeserializer` now exposes the underlying document type
repo/manager. This is done to detangle `Document`/`DocumentUpdate`
deserialization from the underlying wire buffer management.
* `RemoveLocationMessage` at long last contains a bucket space,
which was forgotten when we initially added this concept to the
other messages, and where the pain of adding it in later was
too big (not so anymore!).
Unit tests for both C++ and Java have been hoisted from the legacy
test suite, cleaned up and extended with additional cases. The C++
tests use the old unit test kit and should receive a good follow-up
washing and GTest-rewrite.
**Important**: due to how MessageBus protocol versioning works, the
final protocol version is _not_ yet decided, as setting it requires
syncing against our build systems. A follow-up commit will assign
the final version as well as include all required binary test files.
|
|
|
|
| |
- That enables that numeric hashes are also handled efficiently, without resorting to strings.
|
|
|
|
| |
- Only use label when actual string representation is needed.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
vespa-engine/revert-30038-jonmv/leaner-token-buffer"
This reverts commit b771fbe5fe648cf4c64e04341542e11c2e21cb9d, reversing
changes made to 7b578506b5c4c59f4273e74af1f0db4a74f82175.
|
| |
|
| |
|
|
|
|
| |
This reverts commit c5a7723fb522a5aa2cff1a8662e1ddffc80c9de6.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
- Just use a presized array of native ints, instead of LinkedList.
|
|
|
|
| |
This reverts commit d976f82207c09b3215661e1d034ae9a42f28a63d.
|
| |
|
| |
|
|
|
|
|
|
|
| |
vespa-engine/revert-29314-bratseth/casing-take-2"
This reverts commit a72e949533a46d665440a9c72ca2b8fb58f3a9c3, reversing
changes made to 944d635d00e165166508ef23399e9ed65a87a9c8.
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
vespa-engine/jonmv/concrete-document-field-validation
Jonmv/concrete document field validation
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
| |
When this is true, non-existing cells in the input tensor is created
before applying the modify update.
The default cell value is 0.0 for REPLACE and ADD operations,
and 1.0 for MULTIPLY operation.
|
|
|
|
| |
This creates non-existing sub-spaces with default cell value first.
|
| |
|
| |
|
|
|
|
| |
Disable restriction only for parsers/generators which is likely to handle literals exceeding 5M
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
vespa-engine/havardpe/create-if-non-existent-for-document-put
add create-if-non-existent flag for document put
|
| | |
|
| | |
|