Merge branch 'main' into next-0.10

This commit is contained in:
Alex Auvolat
2024-02-13 11:24:56 +01:00
163 changed files with 11978 additions and 4516 deletions
+16 -16
View File
@@ -19,26 +19,26 @@ garage_rpc.workspace = true
garage_util.workspace = true
garage_table.workspace = true
opentelemetry = "0.17"
opentelemetry.workspace = true
arc-swap = "1.5"
async-trait = "0.1.7"
bytes = "1.0"
bytesize = "1.2"
hex = "0.4"
tracing = "0.1"
rand = "0.8"
arc-swap.workspace = true
async-trait.workspace = true
bytes.workspace = true
bytesize.workspace = true
hex.workspace = true
tracing.workspace = true
rand.workspace = true
async-compression = { version = "0.4", features = ["tokio", "zstd"] }
zstd = { version = "0.12", default-features = false }
async-compression.workspace = true
zstd.workspace = true
serde = { version = "1.0", default-features = false, features = ["derive", "rc"] }
serde_bytes = "0.11"
serde.workspace = true
serde_bytes.workspace = true
futures = "0.3"
futures-util = "0.3"
tokio = { version = "1.0", default-features = false, features = ["rt", "rt-multi-thread", "io-util", "net", "time", "macros", "sync", "signal", "fs"] }
tokio-util = { version = "0.7", features = ["io"] }
futures.workspace = true
futures-util.workspace = true
tokio.workspace = true
tokio-util.workspace = true
[features]
system-libs = [ "zstd/pkg-config" ]
+4 -4
View File
@@ -53,6 +53,9 @@ pub const INLINE_THRESHOLD: usize = 3072;
// to delete the block locally.
pub(crate) const BLOCK_GC_DELAY: Duration = Duration::from_secs(600);
pub type BlockStream =
Pin<Box<dyn Stream<Item = Result<Bytes, std::io::Error>> + Send + Sync + 'static>>;
/// RPC messages used to share blocks of data between nodes
#[derive(Debug, Serialize, Deserialize)]
pub enum BlockRpc {
@@ -326,10 +329,7 @@ impl BlockManager {
&self,
hash: &Hash,
order_tag: Option<OrderTag>,
) -> Result<
Pin<Box<dyn Stream<Item = Result<Bytes, std::io::Error>> + Send + Sync + 'static>>,
Error,
> {
) -> Result<BlockStream, Error> {
let (header, stream) = self.rpc_get_raw_block_streaming(hash, order_tag).await?;
match header {
DataBlockHeader::Plain => Ok(stream),