Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #31660 from vespa-engine/havardpe/remove-testapp | Henning Baldersheim | 5 days | 1 | -1/+1 |
|\ | | | | | remove TEST_APPHOOK, TEST_INIT, TEST_DONE and TestApp | ||||
| * | remove TEST_APPHOOK, TEST_INIT, TEST_DONE and TestApp | Håvard Pettersen | 5 days | 1 | -1/+1 |
| | | |||||
* | | Rename vdslib library to vespa_vdslib. | Tor Egge | 5 days | 1 | -1/+1 |
|/ | |||||
* | Rename persistence library to vespa_persistence. | Tor Egge | 6 days | 3 | -5/+5 |
| | |||||
* | Rename document library to vespa_document. | Tor Egge | 9 days | 1 | -1/+1 |
| | |||||
* | Add distribution config bundle to `ClusterStateBundle` in C++ | Tor Brede Vekterli | 14 days | 1 | -2/+2 |
| | | | | | | | | | | | | | | Move distribution config transforms to vdslib so that the distribution config bundle can contain derived configs for all bucket spaces in one central place. This is part of the prerequisite work needed before we can start pushing distribution config from the cluster controller and rewiring how distribution config is propagated and used in the backends. Also, rename `Distribution::serialize()` to `Distribution::serialized()` since it returns a const ref to a cached serialized form and does not do on-demand serialization. | ||||
* | Pass trace level as `uint32_t`, which is the underlying type | Tor Brede Vekterli | 2024-04-10 | 2 | -10/+10 |
| | |||||
* | Add persistence provider conformance test for metadata iteration | Tor Brede Vekterli | 2023-11-08 | 1 | -14/+44 |
| | |||||
* | Include doc type name and GID in metadata iteration results | Tor Brede Vekterli | 2023-11-08 | 2 | -2/+2 |
| | | | | | | | | | | | | | | Document type is fetched from the associated `IPersistenceHandler` on-demand; it is assumed the lifetime of the pointer must be valid for the entire lifetime of the iterator itself, as the latter holds a valid handler snapshot. For simplicity, it's possible to _not_ pass in a handler, in which case the doc type name will be implicitly empty. Some expected `DocEntry` sizes have been adjusted, as we now report the size of the document type and GID alongside the base type size. | ||||
* | Test remove by gid for nonexisting gid and for gid with tombstone. | Tor Egge | 2023-11-07 | 3 | -3/+31 |
| | |||||
* | Compare all elements of DocTypeGidAndTimestamp. | Tor Egge | 2023-11-06 | 1 | -2/+5 |
| | |||||
* | Add removeByGidAsync() to spi. | Tor Egge | 2023-11-06 | 8 | -0/+197 |
| | |||||
* | Update copyright | Jon Bratseth | 2023-10-09 | 60 | -60/+60 |
| | |||||
* | GC void ignoreNewFeatures flag always false. | Henning Baldersheim | 2023-08-09 | 1 | -1/+1 |
| | |||||
* | Reduce creation of Document instances without DocumentTypeRepo. | Geir Storli | 2023-03-13 | 1 | -2/+2 |
| | |||||
* | 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 |
| | |||||
* | Avoid excessive inlining. | Henning Baldersheim | 2023-02-11 | 2 | -42/+54 |
| | |||||
* | Change from typedef to using in persistence C++ code. | Geir Storli | 2022-12-21 | 8 | -10/+10 |
| | |||||
* | Remove stacksize from the thread pools and thread executors. | Henning Baldersheim | 2022-12-20 | 1 | -1/+1 |
| | |||||
* | Revert "Revert "Unify access to assets needed during rank-setup."" | Henning Baldersheim | 2022-09-07 | 1 | -2/+2 |
| | |||||
* | Revert "Unify access to assets needed during rank-setup." | Tor Egge | 2022-09-07 | 1 | -2/+2 |
| | |||||
* | Unify access to assets needed during rank-setup. | Henning Baldersheim | 2022-09-06 | 1 | -2/+2 |
| | |||||
* | remove unused doxygen setup files | Arne Juul | 2022-08-29 | 1 | -994/+0 |
| | |||||
* | Add support for two-phase document garbage collection | Tor Brede Vekterli | 2022-08-17 | 2 | -0/+30 |
| | | | | | | | | | | | | | | If enabled, garbage collection is performed in two phases (metadata gathering and deletion) instead of just a single phase. Two-phase GC allows for ensuring the same set of documents is deleted across all nodes and explicitly takes write locks on the distributor to prevent concurrent feed ops to GC'd documents from potentially creating inconsistencies. Two-phase GC is only used _iff_ all replica content nodes support the feature _and_ it's enabled in config. An additional field has been added to the feature negotiation functionality to communicate support from content nodes to distributors. | ||||
* | Don't add tombstone in dummy persistence when a newer entry already exists | Tor Brede Vekterli | 2022-08-17 | 2 | -5/+52 |
| | | | | | | | This better mirrors how Proton actually works, since it's not a multi version store. Since only the highest timestamped entry for a document is the one that is ever considered on a node, there's no point in storing an explicit tombstone that cannot be referenced. | ||||
* | Add wrapper for <doc id, timestamp> tuple and update APIs to use this | Tor Brede Vekterli | 2022-07-07 | 9 | -12/+69 |
| | | | | | Feels more intuitive to have a tuple that implies "document foo at timestamp bar" rather than the current inverse of "timestamp bar with document foo". | ||||
* | Collapse persistencetypes into persistence | Henning Baldersheim | 2022-05-18 | 4 | -1/+121 |
| | |||||
* | - Move persitence/spi/types.h under to persitence/spi/types.h | Henning Baldersheim | 2022-05-18 | 3 | -3/+3 |
| | | | | - Cut dependency to persistencetypes for searchlib. | ||||
* | GC unused code and dependencies | Henning Baldersheim | 2022-05-14 | 1 | -5/+0 |
| | |||||
* | Don't attempt to actually execute document moves from a cancelled bucket mover | Tor Brede Vekterli | 2022-05-12 | 2 | -3/+63 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents the following race condition where the bucket mover logic fails to notify the content layer that the bucket sub DB status has changed for a particular bucket: 1. Bucket state is changed over SPI, a mover is created and registered and a BucketTask is scheduled onto the persistence queues to actually do the document reads and finalize the move. 2. Before the bucket task is executed, bucket state is changed again over the SPI. A new mover is created, the old one is cancelled (tagging mover as not consistent) and another BucketTask is scheduled onto the persistence queues. Note: the old task still remains. 3. Old bucket task is executed and performs the actual document moving despite being cancelled. No notification is done towards the content layer since the mover was tagged as not being consistent. 4. New bucket task is executed and tries to move the same document set as the old mover. Since the documents are no longer present in the source document DB, the moves fail. This tags the mover as inconsistent and no notification is done. Bucket is automatically rechecked, but since all docs are already moved away there is nothing more to do and no subsequent mover is created. This means the "should notify?" edge is not triggered and the content layer remains blissfully unaware of any sub DB changes. This commit simply changes cancellation to actually inhibit document moves from taking place. This lets the preempting mover successfully complete its moves, thus triggering the notify-edge as expected. | ||||
* | GC unused Context parameter | Henning Baldersheim | 2022-03-31 | 10 | -323/+259 |
| | |||||
* | Remove copy constructors. | Henning Baldersheim | 2022-03-28 | 1 | -108/+46 |
| | |||||
* | Use both lvalue and rvalue specifier to avoid explicit std::move() | Henning Baldersheim | 2022-03-28 | 1 | -3/+1 |
| | |||||
* | Avoid the need for clone by using unique_ptr. | Henning Baldersheim | 2022-03-28 | 1 | -2/+1 |
| | |||||
* | Avoid need to copy/clone FieldUpdate | Henning Baldersheim | 2022-03-27 | 1 | -49/+16 |
| | |||||
* | Move BucketIdListResult | Henning Baldersheim | 2022-03-09 | 4 | -20/+25 |
| | |||||
* | Reduce visibility of document::Document | Henning Baldersheim | 2022-03-07 | 1 | -0/+1 |
| | |||||
* | Reduce use of Identifiable for document::DatatType | Henning Baldersheim | 2022-03-03 | 2 | -0/+5 |
| | |||||
* | Since we schedule the last chunk for commit in triggerSyncNow, we can assert ↵ | Henning Baldersheim | 2022-03-02 | 1 | -2/+2 |
| | | | | | | that we will be fully synced on the next pull when it happens in the singleCommitter thread. That allows for further simplification. | ||||
* | Revert "Revert "Balder/refactor docentry"" | Henning Baldersheim | 2022-01-07 | 11 | -230/+320 |
| | |||||
* | Revert "Balder/refactor docentry" | Arnstein Ressem | 2022-01-07 | 11 | -320/+230 |
| | |||||
* | - Flags -> Enum. | Henning Baldersheim | 2022-01-06 | 7 | -71/+65 |
| | | | | - Consistently use DocEntryList as type for std::vector<spi::DocEntry::UP> | ||||
* | Only care about size of payload. Also add payload containing only doctype ↵ | Henning Baldersheim | 2022-01-06 | 6 | -30/+74 |
| | | | | and gid | ||||
* | Use enum class for the flags. | Henning Baldersheim | 2022-01-06 | 6 | -47/+44 |
| | |||||
* | Simplify by avoid both DocumentSize and PersistedDocumentSize. That is the same. | Henning Baldersheim | 2022-01-06 | 7 | -164/+153 |
| | |||||
* | Simplify DocEntry to get a clean interface with multiple implementations, ↵ | Henning Baldersheim | 2022-01-06 | 10 | -90/+156 |
| | | | | | | instead of an mutant. Also add tests for the different variations a DocEntry can have. | ||||
* | Declare noexcept move constructor and assignment for storage::spi::Result. | Tor Egge | 2021-12-11 | 2 | -0/+4 |
| | |||||
* | more descriptive name for header file | Arne H Juul | 2021-12-02 | 1 | -1/+1 |
| |