Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | K2V: Fix `end` parameter and add tests (fix #305)fix-k2v-305 | Alex Auvolat | 2022-05-17 | 2 | -2/+93 |
| | |||||
* | Make background runner terminate correctly | Alex Auvolat | 2022-05-17 | 1 | -15/+22 |
| | |||||
* | First implementation of K2V (#293) | Alex | 2022-05-10 | 78 | -1141/+5520 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Specification:** View spec at [this URL](https://git.deuxfleurs.fr/Deuxfleurs/garage/src/branch/k2v/doc/drafts/k2v-spec.md) - [x] Specify the structure of K2V triples - [x] Specify the DVVS format used for causality detection - [x] Specify the K2V index (just a counter of number of values per partition key) - [x] Specify single-item endpoints: ReadItem, InsertItem, DeleteItem - [x] Specify index endpoint: ReadIndex - [x] Specify multi-item endpoints: InsertBatch, ReadBatch, DeleteBatch - [x] Move to JSON objects instead of tuples - [x] Specify endpoints for polling for updates on single values (PollItem) **Implementation:** - [x] Table for K2V items, causal contexts - [x] Indexing mechanism and table for K2V index - [x] Make API handlers a bit more generic - [x] K2V API endpoint - [x] K2V API router - [x] ReadItem - [x] InsertItem - [x] DeleteItem - [x] PollItem - [x] ReadIndex - [x] InsertBatch - [x] ReadBatch - [x] DeleteBatch **Testing:** - [x] Just a simple Python script that does some requests to check visually that things are going right (does not contain parsing of results or assertions on returned values) - [x] Actual tests: - [x] Adapt testing framework - [x] Simple test with InsertItem + ReadItem - [x] Test with several Insert/Read/DeleteItem + ReadIndex - [x] Test all combinations of return formats for ReadItem - [x] Test with ReadBatch, InsertBatch, DeleteBatch - [x] Test with PollItem - [x] Test error codes - [ ] Fix most broken stuff - [x] test PollItem broken randomly - [x] when invalid causality tokens are given, errors should be 4xx not 5xx **Improvements:** - [x] Descending range queries - [x] Specify - [x] Implement - [x] Add test - [x] Batch updates to index counter - [x] Put K2V behind `k2v` feature flag Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/293 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me> | ||||
* | Update netapp to 0.4.4, fix #300v0.7.1netapp-0.4.4 | Alex Auvolat | 2022-05-09 | 1 | -1/+1 |
| | |||||
* | Fix `layout show` to not show changes when there are no changes (#297) | Alex | 2022-05-09 | 2 | -5/+22 |
| | | | | | | | | | fixes #295, partially Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/297 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me> | ||||
* | fix clippyfix-multipart-fragmentation | Alex Auvolat | 2022-04-19 | 1 | -1/+1 |
| | |||||
* | Prettier code for defragmentation | Alex Auvolat | 2022-04-19 | 1 | -104/+102 |
| | |||||
* | Defragmentation in UploadPartCopy: first pass (not pretty but it compiles) | Alex Auvolat | 2022-04-19 | 1 | -63/+122 |
| | |||||
* | remove size limitation in UploadPartCopy (#280) | withinboredom | 2022-04-19 | 1 | -12/+0 |
| | | | | | | | | | | | This removes the >1mb s3_copy restriction. This restriction doesn't seem to be documented anywhere (I could be wrong). It also causes some software to fail (such as #248). Co-authored-by: Rob Landers <landers.robert@gmail.com> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/280 Co-authored-by: withinboredom <landers.robert@gmail.com> Co-committed-by: withinboredom <landers.robert@gmail.com> | ||||
* | Add missing opentelemetry features | Alex Auvolat | 2022-04-08 | 1 | -1/+1 |
| | |||||
* | Update to netapp 0.4.2 (a tiny fix) | Alex Auvolat | 2022-04-07 | 4 | -4/+4 |
| | |||||
* | Bring maximum exponential backoff time down from 16h to 1h | Alex Auvolat | 2022-04-07 | 1 | -1/+5 |
| | |||||
* | New replication modes and their documentationfeature/documentation | Alex Auvolat | 2022-03-28 | 1 | -4/+13 |
| | |||||
* | fix a clippy lint | Alex Auvolat | 2022-03-28 | 1 | -1/+1 |
| | |||||
* | Add blocks in errored state to `garage stats` | Alex Auvolat | 2022-03-28 | 2 | -0/+11 |
| | |||||
* | Log admin GET requests at debug level instead of info | Alex Auvolat | 2022-03-28 | 1 | -1/+1 |
| | | | | to reduce noise in logs | ||||
* | Add feature flag for Kubernetes discovery | Alex Auvolat | 2022-03-24 | 6 | -79/+108 |
| | |||||
* | Make layout optimization work in relative termsbug/layout | Alex Auvolat | 2022-03-24 | 1 | -9/+14 |
| | |||||
* | Allow `garage layout assign` to assign to several nodes at once | Alex Auvolat | 2022-03-24 | 2 | -46/+56 |
| | |||||
* | Slight change and add comment to layout assignation algo | Alex Auvolat | 2022-03-24 | 1 | -37/+33 |
| | |||||
* | Small change to partition assignation algorithm | Alex Auvolat | 2022-03-24 | 2 | -9/+37 |
| | | | | | | This change helps ensure that nodes for each partition are spread over all datacenters, a property that wasn't ensured previously when going from a 2 DC deployment to a 3 DC deployment | ||||
* | Add lots of comments on how the resync queue works | Alex Auvolat | 2022-03-23 | 1 | -5/+96 |
| | | | | (I don't really want to change/refactor that code though) | ||||
* | Clippy | Alex Auvolat | 2022-03-23 | 2 | -5/+5 |
| | |||||
* | Make background tranquility a configurable parameter | Alex Auvolat | 2022-03-23 | 4 | -16/+25 |
| | |||||
* | Move block RC code to separate `rc.rs` | Alex Auvolat | 2022-03-23 | 3 | -136/+175 |
| | |||||
* | Move DataBlock out of manager.rs | Alex Auvolat | 2022-03-23 | 4 | -81/+86 |
| | |||||
* | Move block manager to separate module | Alex Auvolat | 2022-03-23 | 11 | -41/+64 |
| | |||||
* | cleanup | trinity-1686a | 2022-03-23 | 1 | -19/+4 |
| | |||||
* | add test for create bucket and put website with streaming signature | trinity-1686a | 2022-03-23 | 1 | -0/+84 |
| | |||||
* | add test framework for arbitraty S3 requests | trinity-1686a | 2022-03-23 | 12 | -16/+409 |
| | | | | and implement some basic test with it | ||||
* | garage_api: Update streaming payload stream unit tests | KokaKiwi | 2022-03-23 | 1 | -1/+1 |
| | |||||
* | garage_api: Handle streaming payload early in request handling | KokaKiwi | 2022-03-23 | 3 | -57/+61 |
| | |||||
* | Update netapp to v0.4.1update-netapp | Alex Auvolat | 2022-03-15 | 4 | -4/+4 |
| | |||||
* | Fix some new clippy lintsfix-resync | Alex Auvolat | 2022-03-14 | 14 | -37/+22 |
| | |||||
* | Add comment for fsync | Alex Auvolat | 2022-03-14 | 1 | -0/+5 |
| | |||||
* | Fix resync queue to not drop items | Alex Auvolat | 2022-03-14 | 1 | -16/+21 |
| | |||||
* | Spawn a single resync worker | Alex Auvolat | 2022-03-14 | 1 | -11/+7 |
| | |||||
* | Add appropriate fsync() calls in write_block | Alex Auvolat | 2022-03-14 | 1 | -2/+13 |
| | | | | to ensure that data is persisted properly | ||||
* | Implement exponential backoff for resync retriesfeature/opentelemetrybug/resync-exponential-backoff | Alex Auvolat | 2022-03-14 | 3 | -5/+106 |
| | |||||
* | Make admin server optional | Alex Auvolat | 2022-03-14 | 2 | -8/+15 |
| | |||||
* | Add wrapper over sled tree to count items (used for big queues) | Alex Auvolat | 2022-03-14 | 8 | -7/+118 |
| | |||||
* | Bump version to 0.7 because of incompatible Netapp | Alex Auvolat | 2022-03-14 | 9 | -31/+31 |
| | |||||
* | Add spans to table calls, change span names in RPC | Alex Auvolat | 2022-03-14 | 3 | -11/+54 |
| | |||||
* | add missing netapp telemetry feature | Alex Auvolat | 2022-03-14 | 2 | -2/+3 |
| | |||||
* | Refactoring: rename config files, make modifications less invasive | Alex Auvolat | 2022-03-14 | 4 | -144/+158 |
| | |||||
* | Add metrics to web endpoint | Alex Auvolat | 2022-03-14 | 5 | -17/+98 |
| | |||||
* | Add metrics to API endpoint | Alex Auvolat | 2022-03-14 | 7 | -38/+135 |
| | |||||
* | Refactor how durations are measured | Alex Auvolat | 2022-03-14 | 10 | -67/+97 |
| | |||||
* | Remove strum crate dependency; add protobuf nix dependency | Alex Auvolat | 2022-03-14 | 3 | -7/+2 |
| | |||||
* | Remove ... at end of hex IDs | Alex Auvolat | 2022-03-14 | 1 | -1/+1 |
| |