Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove vdstestlib module | Tor Brede Vekterli | 2024-05-16 | 1 | -3/+0 |
| | | | | Was only used by `DirConfig`. | ||||
* | Add new Protobuf-based MessageBus DocumentAPI protocol | Tor Brede Vekterli | 2024-02-16 | 2 | -0/+11 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | Update expected files | Bjørn Christian Seime | 2024-02-13 | 41 | -41/+41 |
| | |||||
* | Followup on review comments and initialize members explicit. | Henning Baldersheim | 2024-02-05 | 1 | -2/+10 |
| | |||||
* | GC unused distributor_auto_ownership_transfer_on_whole_group_down | Henning Baldersheim | 2024-02-03 | 3 | -26/+21 |
| | |||||
* | - Avoid inefficient generic template. | Henning Baldersheim | 2023-12-29 | 3 | -33/+48 |
| | | | | - Add explicit implementations for the types needed. | ||||
* | Update copyright | Jon Bratseth | 2023-10-09 | 82 | -82/+82 |
| | |||||
* | Use hashmap and sort instead of std::map | Henning Baldersheim | 2023-08-18 | 1 | -5/+11 |
| | |||||
* | - Avoid going via a temporary IdealNodesList. | Henning Baldersheim | 2023-08-14 | 7 | -231/+45 |
| | | | | | | | - Use ConstArrayRef to hide implementation. - Store all 3 node categories in a single vector. - Use a small_vector that can handle redundancy up to 5 without requiring extra memory allocation. - Build a hash_map if redundancy/groups > 32 for constant lookup time. | ||||
* | When splitting a large number of nodes into their leaf groups you end up ↵ | Henning Baldersheim | 2023-08-11 | 2 | -2/+6 |
| | | | | | | with many vectors with only a single node in them. Then it is more efficient to use a small_vector that keeps the 4 first entries within. Reduces # allocations and avoids indirection. | ||||
* | Merge pull request #28023 from vespa-engine/balder/minor-layout-cleanup | Henning Baldersheim | 2023-08-11 | 2 | -24/+20 |
|\ | | | | | Minor code health. | ||||
| * | Minor code health. | Henning Baldersheim | 2023-08-10 | 2 | -24/+20 |
| | | |||||
* | | Reduce use of default values in method calls | Henning Baldersheim | 2023-08-10 | 3 | -114/+60 |
| | | |||||
* | | Unify code layout | Henning Baldersheim | 2023-08-10 | 2 | -61/+37 |
|/ | |||||
* | Generate fast lookup table for ideal once | Henning Baldersheim | 2023-08-10 | 1 | -7/+2 |
| | |||||
* | GC void ignoreNewFeatures flag always false. | Henning Baldersheim | 2023-08-09 | 3 | -27/+20 |
| | |||||
* | - Use a hashmap for string Node/NodeState in ClusterState for fast lookup. | Henning Baldersheim | 2023-08-09 | 3 | -11/+21 |
| | | | | - Do explicit sort when serializing. | ||||
* | Common code for node serialization too. | Henning Baldersheim | 2023-08-09 | 2 | -43/+40 |
| | |||||
* | All are up if NONE are printed.... | Henning Baldersheim | 2023-08-09 | 1 | -1/+1 |
| | |||||
* | Avoid short-circuit optimization trap... | Henning Baldersheim | 2023-08-09 | 2 | -8/+8 |
| | |||||
* | Modernize code and prepare for changing map implementation. | Henning Baldersheim | 2023-08-09 | 3 | -151/+132 |
| | |||||
* | Merge pull request #27990 from vespa-engine/balder/minor-noexcept | Henning Baldersheim | 2023-08-09 | 3 | -18/+14 |
|\ | | | | | Add noexcept and minor style changes | ||||
| * | Add noexcept and minor style changes | Henning Baldersheim | 2023-08-08 | 3 | -18/+14 |
| | | |||||
* | | Add noexcept | Henning Baldersheim | 2023-08-08 | 2 | -11/+11 |
|/ | |||||
* | Add back needed code | Harald Musum | 2023-07-07 | 1 | -0/+11 |
| | |||||
* | Cleanup, simplify, remove dead code. No functional changes | Harald Musum | 2023-07-07 | 19 | -340/+211 |
| | |||||
* | Minor refactoring and start of some new test | Harald Musum | 2023-07-05 | 1 | -2/+2 |
| | |||||
* | Add necessary options to use failOnWarnings | gjoranv | 2023-06-05 | 1 | -0/+1 |
| | |||||
* | Add bundle type to all CORE bundles. | gjoranv | 2023-05-25 | 1 | -0/+3 |
| | |||||
* | Deserialize match features in SearchResult used in streaming search. | Geir Storli | 2023-05-02 | 2 | -15/+73 |
| | |||||
* | Serialize match features in vdslib::SearchResult. | Tor Egge | 2023-04-28 | 3 | -18/+214 |
| | |||||
* | Add match features to search result in vdslib module. | Tor Egge | 2023-04-27 | 3 | -7/+67 |
| | |||||
* | Build with jdk20 | Jon Bratseth | 2023-04-17 | 1 | -2/+2 |
| | |||||
* | Use std::distance to find distance between two iterators. | Tor Egge | 2023-04-03 | 1 | -2/+3 |
| | |||||
* | Use return value from std::unique. | Tor Egge | 2023-04-03 | 1 | -1/+2 |
| | |||||
* | More understandable errors, and implement inner convert | Jon Bratseth | 2023-03-31 | 1 | -8/+8 |
| | |||||
* | Don't use record, fails when running system tests | Harald Musum | 2023-03-28 | 1 | -3/+21 |
| | |||||
* | Deprecate distributor_auto_ownership_transfer_on_whole_group_down | Harald Musum | 2023-03-28 | 3 | -649/+11 |
| | | | | | Stop using the config value (same as currrent default value, which is true). Also: distribution config does not have this field, only stor-distribution config has | ||||
* | Merge pull request #26604 from vespa-engine/hmusum/cleanup-cluster-controller-2 | Harald Musum | 2023-03-28 | 1 | -5/+0 |
|\ | | | | | Simplify and add todo about removing disk_distribution in Vespa 9 | ||||
| * | Simplify and add todo about removing disk_distribution in Vespa 9 | Harald Musum | 2023-03-28 | 1 | -5/+0 |
| | | |||||
* | | Remove obsolete maven updateReleaseInfo parameter | Harald Musum | 2023-03-28 | 1 | -3/+0 |
|/ | | | | Removed in maven-deploy-plugin 3.0 and later, see https://issues.apache.org/jira/browse/MDEPLOY-240 | ||||
* | Minor cleanup, no functional changes | Harald Musum | 2023-03-27 | 4 | -46/+34 |
| | |||||
* | Move test code to test class | Harald Musum | 2023-03-26 | 1 | -39/+0 |
| | |||||
* | re-apply "remove fastos" | Håvard Pettersen | 2023-03-01 | 1 | -1/+0 |
| | | | | This reverts commit 003f019d7579e49f4ec7609ef8eac26ada6ae753. | ||||
* | Revert "remove fastos" | Harald Musum | 2023-02-28 | 1 | -0/+1 |
| | |||||
* | remove fastos | Håvard Pettersen | 2023-02-28 | 1 | -1/+0 |
| | |||||
* | Timestamp used in NodeState must have well defined resolution in order to ↵ | Henning Baldersheim | 2023-02-07 | 3 | -20/+16 |
| | | | | | | compare for exactness. Revert back to using an uint64_t for representing it as seconds since epoch. | ||||
* | Let default max timeout be 600s | Henning Baldersheim | 2023-02-07 | 1 | -2/+1 |
| | |||||
* | it => token and some formatting | Henning Baldersheim | 2023-02-07 | 1 | -51/+31 |
| | |||||
* | Revert "Revert "Use steady_time for vdslib::NodeState MERGEOK"" | Henning Baldersheim | 2023-02-07 | 3 | -45/+45 |
| |