garage/Cargo.lock

4416 lines
102 KiB
Plaintext
Raw Permalink Normal View History

# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
2021-03-11 15:54:15 +00:00
version = 3
[[package]]
name = "addr2line"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
dependencies = [
"gimli",
]
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
2023-01-30 00:14:03 +00:00
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-01-30 00:14:03 +00:00
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
dependencies = [
2023-01-23 19:29:06 +00:00
"cfg-if",
"getrandom",
"once_cell",
"version_check",
]
2020-04-21 12:54:55 +00:00
[[package]]
name = "aho-corasick"
version = "1.0.4"
2020-04-21 12:54:55 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
2020-04-21 12:54:55 +00:00
dependencies = [
2020-11-02 14:48:39 +00:00
"memchr",
2020-04-21 12:54:55 +00:00
]
2023-06-25 20:12:26 +00:00
[[package]]
name = "allocator-api2"
version = "0.2.16"
2023-06-25 20:12:26 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
2023-06-25 20:12:26 +00:00
[[package]]
name = "android-tzdata"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
[[package]]
2023-01-23 19:29:06 +00:00
name = "android_system_properties"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-01-23 19:29:06 +00:00
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
dependencies = [
2023-01-23 19:29:06 +00:00
"libc",
]
2023-04-25 10:34:26 +00:00
[[package]]
name = "anstream"
version = "0.5.0"
2023-04-25 10:34:26 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
2023-04-25 10:34:26 +00:00
dependencies = [
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
"utf8parse",
]
[[package]]
name = "anstyle"
version = "1.0.2"
2023-04-25 10:34:26 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea"
2023-04-25 10:34:26 +00:00
[[package]]
name = "anstyle-parse"
2023-06-25 20:12:26 +00:00
version = "0.2.1"
2023-04-25 10:34:26 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
2023-04-25 10:34:26 +00:00
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
dependencies = [
"windows-sys",
2023-04-25 10:34:26 +00:00
]
[[package]]
name = "anstyle-wincon"
version = "2.1.0"
2023-04-25 10:34:26 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
2023-04-25 10:34:26 +00:00
dependencies = [
"anstyle",
"windows-sys",
]
[[package]]
name = "anyhow"
version = "1.0.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
2021-03-15 21:36:41 +00:00
[[package]]
name = "arc-swap"
2023-01-23 19:29:06 +00:00
version = "1.6.0"
2021-03-15 21:36:41 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-01-23 19:29:06 +00:00
checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
2021-03-15 21:36:41 +00:00
2020-11-20 22:37:34 +00:00
[[package]]
name = "arrayvec"
2021-03-18 18:33:15 +00:00
version = "0.5.2"
2020-11-20 22:37:34 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-18 18:33:15 +00:00
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
2020-11-20 22:37:34 +00:00
First implementation of K2V (#293) **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>
2022-05-10 11:16:57 +00:00
[[package]]
name = "assert-json-diff"
2023-01-23 19:29:06 +00:00
version = "2.0.2"
First implementation of K2V (#293) **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>
2022-05-10 11:16:57 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-01-23 19:29:06 +00:00
checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
First implementation of K2V (#293) **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>
2022-05-10 11:16:57 +00:00
dependencies = [
"serde",
"serde_json",
]
2022-07-22 16:20:27 +00:00
[[package]]
name = "async-compression"
version = "0.4.1"
2022-07-22 16:20:27 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6"
2022-07-22 16:20:27 +00:00
dependencies = [
"futures-core",
"memchr",
"pin-project-lite",
"tokio",
"zstd",
"zstd-safe",
2022-07-22 16:20:27 +00:00
]
[[package]]
name = "async-stream"
2023-06-25 20:12:26 +00:00
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
dependencies = [
"async-stream-impl",
"futures-core",
2023-06-25 20:12:26 +00:00
"pin-project-lite",
]
[[package]]
name = "async-stream-impl"
2023-06-25 20:12:26 +00:00
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.29",
]
2021-10-14 09:50:12 +00:00
[[package]]
name = "async-trait"
version = "0.1.73"
2021-10-14 09:50:12 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
2021-10-14 09:50:12 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.29",
2021-10-14 09:50:12 +00:00
]
2020-04-21 12:54:55 +00:00
[[package]]
name = "autocfg"
version = "1.1.0"
2020-04-21 12:54:55 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
2023-06-25 20:12:26 +00:00
[[package]]
name = "aws-config"
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bcdcf0d683fe9c23d32cf5b53c9918ea0a500375a9fb20109802552658e576c9"
2020-04-21 12:54:55 +00:00
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-credential-types",
"aws-http",
"aws-sdk-sso",
"aws-sdk-sts",
"aws-smithy-async",
"aws-smithy-client",
"aws-smithy-http",
"aws-smithy-http-tower",
"aws-smithy-json",
"aws-smithy-types",
"aws-types",
"bytes",
"fastrand 1.9.0",
2023-06-25 20:12:26 +00:00
"hex",
"http",
"hyper",
"ring",
"time 0.3.28",
2023-06-25 20:12:26 +00:00
"tokio",
"tower",
"tracing",
"zeroize",
2020-04-21 12:54:55 +00:00
]
[[package]]
2023-06-25 20:12:26 +00:00
name = "aws-credential-types"
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "1fcdb2f7acbc076ff5ad05e7864bdb191ca70a6fd07668dc3a1a8bcd051de5ae"
dependencies = [
"aws-smithy-async",
"aws-smithy-types",
"fastrand 1.9.0",
2023-06-25 20:12:26 +00:00
"tokio",
"tracing",
"zeroize",
]
[[package]]
name = "aws-endpoint"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "8cce1c41a6cfaa726adee9ebb9a56fcd2bbfd8be49fd8a04c5e20fd968330b04"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-smithy-http",
"aws-smithy-types",
"aws-types",
"http",
"regex",
"tracing",
]
[[package]]
name = "aws-http"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "aadbc44e7a8f3e71c8b374e03ecd972869eb91dd2bc89ed018954a52ba84bc44"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-credential-types",
"aws-smithy-http",
"aws-smithy-types",
"aws-types",
"bytes",
"http",
"http-body",
"lazy_static",
"percent-encoding",
"pin-project-lite",
"tracing",
]
[[package]]
name = "aws-sdk-s3"
2023-06-25 20:12:26 +00:00
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "fba197193cbb4bcb6aad8d99796b2291f36fa89562ded5d4501363055b0de89f"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-credential-types",
"aws-endpoint",
"aws-http",
"aws-sig-auth",
2023-06-25 20:12:26 +00:00
"aws-sigv4",
"aws-smithy-async",
"aws-smithy-checksums",
"aws-smithy-client",
"aws-smithy-eventstream",
2023-06-25 20:12:26 +00:00
"aws-smithy-http",
"aws-smithy-http-tower",
2023-06-25 20:12:26 +00:00
"aws-smithy-json",
"aws-smithy-types",
"aws-smithy-xml",
"aws-types",
"bytes",
"http",
"http-body",
2023-06-25 20:12:26 +00:00
"once_cell",
"percent-encoding",
"regex",
"tokio-stream",
"tower",
"tracing",
2023-06-25 20:12:26 +00:00
"url",
]
[[package]]
2023-06-25 20:12:26 +00:00
name = "aws-sdk-sso"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "c8b812340d86d4a766b2ca73f740dfd47a97c2dff0c06c8517a16d88241957e4"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-credential-types",
"aws-endpoint",
"aws-http",
"aws-sig-auth",
"aws-smithy-async",
"aws-smithy-client",
"aws-smithy-http",
"aws-smithy-http-tower",
"aws-smithy-json",
"aws-smithy-types",
"aws-types",
2023-06-25 20:12:26 +00:00
"bytes",
"http",
2023-06-25 20:12:26 +00:00
"regex",
"tokio-stream",
"tower",
"tracing",
]
[[package]]
2023-06-25 20:12:26 +00:00
name = "aws-sdk-sts"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "265fac131fbfc188e5c3d96652ea90ecc676a934e3174eaaee523c6cec040b3b"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-credential-types",
"aws-endpoint",
"aws-http",
"aws-sig-auth",
"aws-smithy-async",
"aws-smithy-client",
"aws-smithy-http",
"aws-smithy-http-tower",
"aws-smithy-json",
"aws-smithy-query",
"aws-smithy-types",
"aws-smithy-xml",
"aws-types",
"bytes",
"http",
"regex",
2023-06-25 20:12:26 +00:00
"tower",
"tracing",
]
[[package]]
name = "aws-sig-auth"
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b94acb10af0c879ecd5c7bdf51cda6679a0a4f4643ce630905a77673bfa3c61"
dependencies = [
"aws-credential-types",
"aws-sigv4",
"aws-smithy-eventstream",
"aws-smithy-http",
"aws-types",
"http",
"tracing",
]
[[package]]
name = "aws-sigv4"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "9d2ce6f507be68e968a33485ced670111d1cbad161ddbbab1e313c03d37d8f4c"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-smithy-eventstream",
"aws-smithy-http",
"bytes",
"form_urlencoded",
"hex",
"hmac",
"http",
"once_cell",
"percent-encoding",
"regex",
"sha2",
"time 0.3.28",
"tracing",
]
[[package]]
name = "aws-smithy-async"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "13bda3996044c202d75b91afeb11a9afae9db9a721c6a7a427410018e286b880"
dependencies = [
"futures-util",
"pin-project-lite",
"tokio",
"tokio-stream",
]
[[package]]
name = "aws-smithy-checksums"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "07ed8b96d95402f3f6b8b57eb4e0e45ee365f78b1a924faf20ff6e97abf1eae6"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-smithy-http",
"aws-smithy-types",
"bytes",
"crc32c",
"crc32fast",
"hex",
"http",
"http-body",
"md-5",
"pin-project-lite",
"sha1",
"sha2",
"tracing",
]
[[package]]
name = "aws-smithy-client"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "0a86aa6e21e86c4252ad6a0e3e74da9617295d8d6e374d552be7d3059c41cedd"
dependencies = [
"aws-smithy-async",
2023-06-25 20:12:26 +00:00
"aws-smithy-http",
"aws-smithy-http-tower",
2023-06-25 20:12:26 +00:00
"aws-smithy-types",
"bytes",
"fastrand 1.9.0",
"http",
"http-body",
"hyper",
2023-06-25 20:12:26 +00:00
"hyper-rustls 0.23.2",
"lazy_static",
"pin-project-lite",
2023-06-25 20:12:26 +00:00
"rustls 0.20.8",
"tokio",
"tower",
"tracing",
]
[[package]]
name = "aws-smithy-eventstream"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "460c8da5110835e3d9a717c61f5556b20d03c32a1dec57f8fc559b360f733bb8"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-smithy-types",
"bytes",
"crc32fast",
]
[[package]]
name = "aws-smithy-http"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "2b3b693869133551f135e1f2c77cb0b8277d9e3e17feaf2213f735857c4f0d28"
dependencies = [
"aws-smithy-eventstream",
2023-06-25 20:12:26 +00:00
"aws-smithy-types",
"bytes",
"bytes-utils",
"futures-core",
"http",
"http-body",
"hyper",
"once_cell",
"percent-encoding",
"pin-project-lite",
2023-06-25 20:12:26 +00:00
"pin-utils",
"tokio",
"tokio-util 0.7.8",
"tracing",
]
[[package]]
2023-06-25 20:12:26 +00:00
name = "aws-smithy-http-tower"
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "3ae4f6c5798a247fac98a867698197d9ac22643596dc3777f0c76b91917616b9"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-smithy-http",
"aws-smithy-types",
"bytes",
"http",
"http-body",
"pin-project-lite",
2023-06-25 20:12:26 +00:00
"tower",
"tracing",
]
[[package]]
2023-06-25 20:12:26 +00:00
name = "aws-smithy-json"
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "23f9f42fbfa96d095194a632fbac19f60077748eba536eb0b9fecc28659807f8"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-smithy-types",
]
[[package]]
2023-06-25 20:12:26 +00:00
name = "aws-smithy-query"
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "98819eb0b04020a1c791903533b638534ae6c12e2aceda3e6e6fba015608d51d"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-smithy-types",
"urlencoding",
]
[[package]]
name = "aws-smithy-types"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "16a3d0bf4f324f4ef9793b86a1701d9700fbcdbd12a846da45eed104c634c6e8"
dependencies = [
"base64-simd",
"itoa",
"num-integer",
"ryu",
"time 0.3.28",
]
[[package]]
name = "aws-smithy-xml"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "b1b9d12875731bd07e767be7baad95700c3137b56730ec9ddeedb52a5e5ca63b"
dependencies = [
"xmlparser",
]
[[package]]
name = "aws-types"
2023-06-25 20:12:26 +00:00
version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "6dd209616cc8d7bfb82f87811a5c655dc97537f592689b18743bddf5dc5c4829"
dependencies = [
2023-06-25 20:12:26 +00:00
"aws-credential-types",
"aws-smithy-async",
"aws-smithy-client",
2023-06-25 20:12:26 +00:00
"aws-smithy-http",
"aws-smithy-types",
"http",
"rustc_version",
"tracing",
]
[[package]]
name = "backoff"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
dependencies = [
"getrandom",
"instant",
"rand",
]
[[package]]
name = "backtrace"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
dependencies = [
"addr2line",
"cc",
2023-01-23 19:29:06 +00:00
"cfg-if",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
]
2020-11-22 10:04:33 +00:00
[[package]]
name = "base64"
2023-01-23 19:29:06 +00:00
version = "0.13.1"
2020-11-22 10:04:33 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-01-23 19:29:06 +00:00
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
2020-11-22 10:04:33 +00:00
[[package]]
name = "base64"
version = "0.21.3"
2020-11-22 10:04:33 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53"
2020-11-22 10:04:33 +00:00
[[package]]
name = "base64-simd"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195"
dependencies = [
"outref",
"vsimd",
]
Abstract database behind generic interface and implement alternative drivers (#322) - [x] Design interface - [x] Implement Sled backend - [x] Re-implement the SledCountedTree hack ~~on Sled backend~~ on all backends (i.e. over the abstraction) - [x] Convert Garage code to use generic interface - [x] Proof-read converted Garage code - [ ] Test everything well - [x] Implement sqlite backend - [x] Implement LMDB backend - [ ] (Implement Persy backend?) - [ ] (Implement other backends? (like RocksDB, ...)) - [x] Implement backend choice in config file and garage server module - [x] Add CLI for converting between DB formats - Exploit the new interface to put more things in transactions - [x] `.updated()` trigger on Garage tables Fix #284 **Bugs** - [x] When exporting sqlite, trees iterate empty?? - [x] LMDB doesn't work **Known issues for various back-ends** - Sled: - Eats all my RAM and also all my disk space - `.len()` has to traverse the whole table - Is actually quite slow on some operations - And is actually pretty bad code... - Sqlite: - Requires a lock to be taken on all operations. The lock is also taken when iterating on a table with `.iter()`, and the lock isn't released until the iterator is dropped. This means that we must be VERY carefull to not do anything else inside a `.iter()` loop or else we will have a deadlock! Most such cases have been eliminated from the Garage codebase, but there might still be some that remain. If your Garage-over-Sqlite seems to hang/freeze, this is the reason. - (adapter uses a bunch of unsafe code) - Heed (LMDB): - Not suited for 32-bit machines as it has to map the whole DB in memory. - (adpater uses a tiny bit of unsafe code) **My recommendation:** avoid 32-bit machines and use LMDB as much as possible. **Converting databases** is actually quite easy. For example from Sled to LMDB: ```bash cd src/db cargo run --features cli --bin convert -- -i path/to/garage/meta/db -a sled -o path/to/garage/meta/db.lmdb -b lmdb ``` Then, just add this to your `config.toml`: ```toml db_engine = "lmdb" ``` Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/322 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me>
2022-06-08 08:01:44 +00:00
[[package]]
name = "bincode"
version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
dependencies = [
"serde",
]
[[package]]
name = "bitflags"
2021-10-14 09:50:12 +00:00
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-14 09:50:12 +00:00
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
2021-02-23 16:52:28 +00:00
[[package]]
name = "blake2"
version = "0.10.6"
2021-02-23 16:52:28 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
2021-02-23 16:52:28 +00:00
dependencies = [
"digest",
2020-04-06 19:02:15 +00:00
]
2022-07-18 15:18:47 +00:00
[[package]]
name = "block-buffer"
2023-06-25 20:12:26 +00:00
version = "0.10.4"
2022-07-18 15:18:47 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
2022-07-18 15:18:47 +00:00
dependencies = [
"generic-array",
]
[[package]]
name = "bumpalo"
2023-06-25 20:12:26 +00:00
version = "3.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
[[package]]
Abstract database behind generic interface and implement alternative drivers (#322) - [x] Design interface - [x] Implement Sled backend - [x] Re-implement the SledCountedTree hack ~~on Sled backend~~ on all backends (i.e. over the abstraction) - [x] Convert Garage code to use generic interface - [x] Proof-read converted Garage code - [ ] Test everything well - [x] Implement sqlite backend - [x] Implement LMDB backend - [ ] (Implement Persy backend?) - [ ] (Implement other backends? (like RocksDB, ...)) - [x] Implement backend choice in config file and garage server module - [x] Add CLI for converting between DB formats - Exploit the new interface to put more things in transactions - [x] `.updated()` trigger on Garage tables Fix #284 **Bugs** - [x] When exporting sqlite, trees iterate empty?? - [x] LMDB doesn't work **Known issues for various back-ends** - Sled: - Eats all my RAM and also all my disk space - `.len()` has to traverse the whole table - Is actually quite slow on some operations - And is actually pretty bad code... - Sqlite: - Requires a lock to be taken on all operations. The lock is also taken when iterating on a table with `.iter()`, and the lock isn't released until the iterator is dropped. This means that we must be VERY carefull to not do anything else inside a `.iter()` loop or else we will have a deadlock! Most such cases have been eliminated from the Garage codebase, but there might still be some that remain. If your Garage-over-Sqlite seems to hang/freeze, this is the reason. - (adapter uses a bunch of unsafe code) - Heed (LMDB): - Not suited for 32-bit machines as it has to map the whole DB in memory. - (adpater uses a tiny bit of unsafe code) **My recommendation:** avoid 32-bit machines and use LMDB as much as possible. **Converting databases** is actually quite easy. For example from Sled to LMDB: ```bash cd src/db cargo run --features cli --bin convert -- -i path/to/garage/meta/db -a sled -o path/to/garage/meta/db.lmdb -b lmdb ``` Then, just add this to your `config.toml`: ```toml db_engine = "lmdb" ``` Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/322 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me>
2022-06-08 08:01:44 +00:00
name = "bytemuck"
2023-06-25 20:12:26 +00:00
version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-06-25 20:12:26 +00:00
checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
2021-01-15 18:12:08 +00:00
[[package]]
name = "byteorder"
2021-03-18 18:33:15 +00:00
version = "1.4.3"
2021-10-14 09:50:12 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-18 18:33:15 +00:00
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
2021-10-14 09:50:12 +00:00
[[package]]
name = "bytes"
version = "1.4.0"
2021-01-15 18:12:08 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
[[package]]
name = "bytes-utils"
2023-01-23 19:29:06 +00:00
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-01-23 19:29:06 +00:00
checksum = "e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9"