From 1434303f93e8d01e4354cc2093ea9318da7903b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 28 Jan 2025 14:13:18 +0100 Subject: [PATCH 01/33] feat: enable reader to skip blocks --- mater/lib/src/async_varint.rs | 12 +++-- mater/lib/src/cid.rs | 88 +++++++++++++++++++++++++++++++++++ mater/lib/src/lib.rs | 1 + mater/lib/src/multicodec.rs | 7 +-- mater/lib/src/stores/file.rs | 9 ++-- mater/lib/src/v1/mod.rs | 14 +++++- mater/lib/src/v1/reader.rs | 86 ++++++++++++++++++++++++++++------ mater/lib/src/v2/index.rs | 2 +- mater/lib/src/v2/reader.rs | 15 +++++- 9 files changed, 202 insertions(+), 32 deletions(-) create mode 100644 mater/lib/src/cid.rs diff --git a/mater/lib/src/async_varint.rs b/mater/lib/src/async_varint.rs index 3920cc174..4a3e8c098 100644 --- a/mater/lib/src/async_varint.rs +++ b/mater/lib/src/async_varint.rs @@ -35,7 +35,8 @@ where Ok(b) } -/// Returns either the decoded integer, or an error. +/// Returns either the decoded integer and number of bytes used by the encoding, +/// or an error. /// /// In general, this always reads a whole varint. If the encoded varint's value /// is bigger than the valid value range of `VI`, then the value is truncated. @@ -44,7 +45,7 @@ where /// /// Borrowed from: /// -pub(crate) async fn read_varint(reader: &mut R) -> Result +pub(crate) async fn read_varint(reader: &mut R) -> Result<(VI, usize), io::Error> where R: AsyncRead + Unpin, VI: VarInt, @@ -91,6 +92,7 @@ impl VarIntProcessor { ..VarIntProcessor::default() } } + fn push(&mut self, b: u8) -> Result<(), io::Error> { if self.i >= self.maxsize { return Err(io::Error::new( @@ -102,11 +104,13 @@ impl VarIntProcessor { self.i += 1; Ok(()) } + fn finished(&self) -> bool { self.i > 0 && (self.buf[self.i - 1] & MSB == 0) } - fn decode(&self) -> Option { - Some(VI::decode_var(&self.buf[0..self.i])?.0) + + fn decode(&self) -> Option<(VI, usize)> { + Some(VI::decode_var(&self.buf[0..self.i])?) } } diff --git a/mater/lib/src/cid.rs b/mater/lib/src/cid.rs new file mode 100644 index 000000000..51e65f691 --- /dev/null +++ b/mater/lib/src/cid.rs @@ -0,0 +1,88 @@ +use ipld_core::cid::{multihash::Multihash, CidGeneric, Error, Version}; +use tokio::io::{AsyncRead, AsyncReadExt}; + +use crate::{async_varint::read_varint, IDENTITY_CODE}; + +pub trait MultihashExt { + async fn read_async(r: R) -> Result<(Self, usize), Error> + where + Self: Sized, + R: AsyncRead + Unpin; +} + +pub trait CidExt { + async fn read_bytes_async(r: R) -> Result<(Self, usize), Error> + where + Self: Sized, + R: AsyncRead + Unpin; + + /// Returns Some(data) if the CID is an identity. If not, None is returned. + fn get_identity_data(&self) -> Option<&[u8]>; +} + +impl CidExt for CidGeneric { + fn get_identity_data(&self) -> Option<&[u8]> { + (self.hash().code() == IDENTITY_CODE).then(|| self.hash().digest()) + } + + /// Async implementation of + /// https://github.com/multiformats/rust-cid/blob/eb03f566e9bfb19bad79b2691dbcb2541627c0b3/src/cid.rs#L143C12-L143C22 + async fn read_bytes_async(mut r: R) -> Result<(Self, usize), Error> + where + R: AsyncRead + Unpin, + { + let (version, version_bytes_read): (u64, usize) = read_varint(&mut r).await?; + let (codec, codec_bytes_read): (u64, usize) = read_varint(&mut r).await?; + + // CIDv0 has the fixed `0x12 0x20` prefix + if [version, codec] == [0x12, 0x20] { + const DIGEST_SIZE: usize = 32; + let mut digest = [0u8; DIGEST_SIZE]; + r.read_exact(&mut digest).await?; + let mh = Multihash::wrap(version, &digest).expect("Digest is always 32 bytes."); + + let bytes_read = version_bytes_read + codec_bytes_read + DIGEST_SIZE; + return Ok((Self::new_v0(mh)?, bytes_read)); + } + + let version = Version::try_from(version)?; + match version { + Version::V0 => Err(Error::InvalidExplicitCidV0), + Version::V1 => { + let (mh, multihash_bytes_read) = Multihash::read_async(r).await?; + let bytes_read = version_bytes_read + codec_bytes_read + multihash_bytes_read; + Ok((Self::new(version, codec, mh)?, bytes_read)) + } + } + } +} + +impl MultihashExt for Multihash { + /// Async implementation of + /// https://github.com/multiformats/rust-multihash/blob/90a6c19ec71ced09469eec164a3586aafeddfbbd/src/multihash.rs#L271 + async fn read_async(mut r: R) -> Result<(Self, usize), Error> + where + Self: Sized, + R: AsyncRead + Unpin, + { + let (code, code_bytes_read): (u64, usize) = read_varint(&mut r).await?; + let (size, size_bytes_read): (u8, usize) = read_varint(&mut r).await?; + + if size > S as u8 || size > u8::MAX { + return Err(Error::ParsingError); + } + + let mut digest = [0; S]; + r.read_exact(&mut digest[..size as usize]) + .await + .map_err(|_| Error::ParsingError)?; + + let multihash = Multihash::wrap(code, &digest) + .map_err(|_| Error::ParsingError)? + .truncate(size); + + let bytes_read = code_bytes_read + size_bytes_read + size as usize; + + Ok((multihash, bytes_read)) + } +} diff --git a/mater/lib/src/lib.rs b/mater/lib/src/lib.rs index cb60d2383..739d237c1 100644 --- a/mater/lib/src/lib.rs +++ b/mater/lib/src/lib.rs @@ -11,6 +11,7 @@ #![deny(unsafe_code)] mod async_varint; +mod cid; mod multicodec; mod stores; mod unixfs; diff --git a/mater/lib/src/multicodec.rs b/mater/lib/src/multicodec.rs index 9a7393833..b0c08059c 100644 --- a/mater/lib/src/multicodec.rs +++ b/mater/lib/src/multicodec.rs @@ -2,7 +2,7 @@ //! as per the [code table](https://github.com/multiformats/multicodec/blob/c954a787dc6a17d099653e5f90d26fbd177d2074/table.csv). use digest::Digest; -use ipld_core::cid::{multihash::Multihash, CidGeneric}; +use ipld_core::cid::multihash::Multihash; pub const SHA_256_CODE: u64 = 0x12; pub const SHA_512_CODE: u64 = 0x13; @@ -42,8 +42,3 @@ where Multihash::wrap(H::CODE, &hashed_bytes) .expect("the digest should be valid (enforced by the type system)") } - -// Returns Some(data) if the CID is an identity. If not, None is returned. -pub fn get_identity_data(cid: &CidGeneric) -> Option<&[u8]> { - (cid.hash().code() == IDENTITY_CODE).then(|| cid.hash().digest()) -} diff --git a/mater/lib/src/stores/file.rs b/mater/lib/src/stores/file.rs index c6471929d..804b18c97 100644 --- a/mater/lib/src/stores/file.rs +++ b/mater/lib/src/stores/file.rs @@ -10,7 +10,8 @@ use tokio::{ }; use crate::{ - multicodec::{get_identity_data, SHA_256_CODE}, + cid::CidExt, + multicodec::SHA_256_CODE, v1::{self, read_block, write_block}, v2::{self}, CarV1Header, CarV2Header, Characteristics, Error, Index, IndexEntry, MultihashIndexSorted, @@ -138,7 +139,7 @@ impl FileBlockstore { /// Check if the store contains a block with the cid. In case of IDENTITY /// CID it always returns true. pub async fn has(&self, cid: Cid) -> Result { - if get_identity_data(&cid).is_some() { + if cid.get_identity_data().is_some() { return Ok(true); } @@ -150,7 +151,7 @@ impl FileBlockstore { /// from the cid is returned. pub async fn get(&self, cid: Cid) -> Result>, Error> { // If CID is an identity - if let Some(data) = get_identity_data(&cid) { + if let Some(data) = cid.get_identity_data() { return Ok(Some(data.to_owned())); } @@ -186,7 +187,7 @@ impl FileBlockstore { /// expect that the CID correctly represents the data being passed. In case /// of the identity CID, nothing is written to the store. pub async fn put_keyed(&self, cid: &Cid, data: &[u8]) -> Result<(), Error> { - if get_identity_data(&cid).is_some() { + if cid.get_identity_data().is_some() { return Ok(()); } diff --git a/mater/lib/src/v1/mod.rs b/mater/lib/src/v1/mod.rs index 5ab3efb75..d3aea088c 100644 --- a/mater/lib/src/v1/mod.rs +++ b/mater/lib/src/v1/mod.rs @@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize}; use crate::multicodec::{RAW_CODE, SHA_256_CODE}; pub use crate::v1::{reader::Reader, writer::Writer}; pub(crate) use crate::v1::{ - reader::{read_block, read_header}, + reader::{read_block, read_header, skip_block}, writer::{write_block, write_header}, }; @@ -62,6 +62,18 @@ impl Default for Header { } } +/// BlockMetadata contains metadata about a block's section in a CAR file/stream. +#[derive(Debug, Clone, Copy, PartialEq)] +pub struct BlockMetadata { + /// Cid of the block + cid: Cid, + /// Offset of the data section relative to the start of the underlying + /// reader. + data_offset_source: u64, + /// Size of the data section of the block + data_size: u64, +} + #[cfg(test)] mod tests { use std::io::Cursor; diff --git a/mater/lib/src/v1/reader.rs b/mater/lib/src/v1/reader.rs index 0e201cd00..d4d762361 100644 --- a/mater/lib/src/v1/reader.rs +++ b/mater/lib/src/v1/reader.rs @@ -1,16 +1,17 @@ -use std::io::Cursor; +use std::io::SeekFrom; use ipld_core::{cid::Cid, codec::Codec}; use serde_ipld_dagcbor::codec::DagCborCodec; -use tokio::io::{AsyncRead, AsyncReadExt}; +use tokio::io::{AsyncRead, AsyncReadExt, AsyncSeek, AsyncSeekExt}; -use crate::{async_varint::read_varint, v1::Header, v2::PRAGMA, Error}; +use super::BlockMetadata; +use crate::{async_varint::read_varint, cid::CidExt, v1::Header, v2::PRAGMA, Error}; pub(crate) async fn read_header(mut reader: R) -> Result where R: AsyncRead + Unpin, { - let header_length: usize = read_varint(&mut reader).await?; + let header_length: usize = read_varint(&mut reader).await?.0; let mut header_buffer = vec![0; header_length]; reader.read_exact(&mut header_buffer).await?; @@ -45,19 +46,39 @@ pub(crate) async fn read_block(mut reader: R) -> Result<(Cid, Vec), Error where R: AsyncRead + Unpin, { - let full_block_length: usize = read_varint(&mut reader).await?; - let mut full_block_buffer = vec![0; full_block_length]; - reader.read_exact(&mut full_block_buffer).await?; + let (full_block_length, _): (u64, usize) = read_varint(&mut reader).await?; + let (cid, cid_bytes_read) = Cid::read_bytes_async(&mut reader).await?; + dbg!(&cid); - // We're cheating to get Seek - let mut full_block_cursor = Cursor::new(full_block_buffer); - let cid = Cid::read_bytes(&mut full_block_cursor)?; + let data_size = full_block_length as usize - cid_bytes_read; + let mut data_buffer = vec![0; data_size]; + reader.read_exact(&mut data_buffer).await?; - let data_start_position = full_block_cursor.position() as usize; - let mut full_block_buffer = full_block_cursor.into_inner(); + Ok((cid, data_buffer)) +} + +pub(crate) async fn skip_block(mut reader: R) -> Result +where + R: AsyncRead + AsyncSeek + Unpin, +{ + // Length of the block. This length contains the length of the cid and data. + let (full_block_length, _): (u64, usize) = read_varint(&mut reader).await?; - // NOTE(@jmg-duarte,19/05/2024): could we avoid getting a new vector here and just drop the beginning? - Ok((cid, full_block_buffer.split_off(data_start_position))) + // Cid of the block + let (cid, cid_bytes_read) = Cid::read_bytes_async(&mut reader).await?; + + // Data section position and size + let data_offset_source = reader.stream_position().await?; + let data_size = full_block_length - cid_bytes_read as u64; + + // Skip block data section + reader.seek(SeekFrom::Current(data_size as i64)).await?; + + Ok(BlockMetadata { + cid, + data_offset_source, + data_size, + }) } /// Low-level CARv1 reader. @@ -104,15 +125,27 @@ where } } +impl Reader +where + R: AsyncRead + AsyncSeek + Unpin, +{ + /// Reads a [`BlockMetadata`] and skips its content. + pub async fn skip_block(&mut self) -> Result { + skip_block(&mut self.reader).await + } +} + #[cfg(test)] mod tests { + use std::{os::unix::fs::MetadataExt, str::FromStr}; + use ipld_core::cid::Cid; use sha2::Sha256; use tokio::{fs::File, io::BufReader}; use crate::{ multicodec::{generate_multihash, RAW_CODE}, - v1::reader::Reader, + v1::{reader::Reader, BlockMetadata}, Error, }; @@ -158,6 +191,29 @@ mod tests { assert_eq!(block, contents); } + #[tokio::test] + async fn block_metadata_reader() { + let contents = tokio::fs::read("tests/fixtures/original/lorem.txt") + .await + .unwrap(); + let contents_multihash = generate_multihash::(&contents); + let contents_cid = Cid::new_v1(RAW_CODE, contents_multihash); + + let file = File::open("tests/fixtures/car_v1/lorem.car").await.unwrap(); + let reader = BufReader::new(file); + let mut reader = Reader::new(reader); + let header = reader.read_header().await.unwrap(); + + assert_eq!(header.version, 1); + assert_eq!(header.roots.len(), 1); + assert_eq!(header.roots[0], contents_cid); + + let metadata = reader.skip_block().await.unwrap(); + assert_eq!(metadata.cid, contents_cid); + assert_eq!(metadata.data_offset_source, 97); + assert_eq!(metadata.data_size as usize, contents.len()); + } + #[tokio::test] async fn v2_header() { let file = File::open("tests/fixtures/car_v2/lorem.car").await.unwrap(); diff --git a/mater/lib/src/v2/index.rs b/mater/lib/src/v2/index.rs index 56e942290..969f34d8e 100644 --- a/mater/lib/src/v2/index.rs +++ b/mater/lib/src/v2/index.rs @@ -293,7 +293,7 @@ pub(crate) async fn read_index(mut reader: R) -> Result where R: AsyncRead + Unpin, { - let index_type: u64 = read_varint(&mut reader).await?; + let index_type: u64 = read_varint(&mut reader).await?.0; return match index_type { INDEX_SORTED_CODE => Ok(Index::IndexSorted(read_index_sorted(&mut reader).await?)), MULTIHASH_INDEX_SORTED_CODE => Ok(Index::MultihashIndexSorted( diff --git a/mater/lib/src/v2/reader.rs b/mater/lib/src/v2/reader.rs index caa6d689f..0c7a74adb 100644 --- a/mater/lib/src/v2/reader.rs +++ b/mater/lib/src/v2/reader.rs @@ -1,8 +1,9 @@ use ipld_core::cid::Cid; -use tokio::io::{AsyncRead, AsyncReadExt, AsyncSeekExt, AsyncWriteExt, BufReader}; +use tokio::io::{AsyncRead, AsyncReadExt, AsyncSeek, AsyncSeekExt, AsyncWriteExt, BufReader}; use super::index::read_index; use crate::{ + v1::BlockMetadata, v2::{index::Index, Characteristics, Header, PRAGMA}, Error, }; @@ -150,6 +151,18 @@ where } } +impl Reader +where + R: AsyncRead + AsyncSeek + Unpin, +{ + /// Skips the next block and only returns a [`BlockMetadata`]. This is + /// useful in cases when we don't need the block's content. + + pub async fn skip_block(&mut self) -> Result { + crate::v1::skip_block(&mut self.reader).await + } +} + /// Function verifies that a given CID matches the CID for the CAR file in the given reader pub async fn verify_cid(reader: R, contents_cid: Cid) -> Result<(), Error> { let mut reader = Reader::new(BufReader::new(reader)); From b5542b1f3b17ac6845b667a9b11be62adbb2552c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 28 Jan 2025 14:19:51 +0100 Subject: [PATCH 02/33] remove comment --- mater/lib/src/v1/reader.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/mater/lib/src/v1/reader.rs b/mater/lib/src/v1/reader.rs index d4d762361..87971d939 100644 --- a/mater/lib/src/v1/reader.rs +++ b/mater/lib/src/v1/reader.rs @@ -48,7 +48,6 @@ where { let (full_block_length, _): (u64, usize) = read_varint(&mut reader).await?; let (cid, cid_bytes_read) = Cid::read_bytes_async(&mut reader).await?; - dbg!(&cid); let data_size = full_block_length as usize - cid_bytes_read; let mut data_buffer = vec![0; data_size]; From 13ffd4641ef820b33f90921eaa44feaa88195520 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 28 Jan 2025 14:22:18 +0100 Subject: [PATCH 03/33] small change --- mater/lib/src/v1/reader.rs | 3 ++- mater/lib/src/v2/reader.rs | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mater/lib/src/v1/reader.rs b/mater/lib/src/v1/reader.rs index 87971d939..f394c9a08 100644 --- a/mater/lib/src/v1/reader.rs +++ b/mater/lib/src/v1/reader.rs @@ -128,7 +128,8 @@ impl Reader where R: AsyncRead + AsyncSeek + Unpin, { - /// Reads a [`BlockMetadata`] and skips its content. + /// Skips the next block and only returns a [`BlockMetadata`]. This is + /// useful in cases when we don't need the block's content. pub async fn skip_block(&mut self) -> Result { skip_block(&mut self.reader).await } diff --git a/mater/lib/src/v2/reader.rs b/mater/lib/src/v2/reader.rs index 0c7a74adb..138263ca3 100644 --- a/mater/lib/src/v2/reader.rs +++ b/mater/lib/src/v2/reader.rs @@ -157,7 +157,6 @@ where { /// Skips the next block and only returns a [`BlockMetadata`]. This is /// useful in cases when we don't need the block's content. - pub async fn skip_block(&mut self) -> Result { crate::v1::skip_block(&mut self.reader).await } From 9c8ec50f4da90905d396e76aa7eb678134ed8385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 28 Jan 2025 14:48:27 +0100 Subject: [PATCH 04/33] build fixes --- mater/lib/src/async_varint.rs | 2 +- mater/lib/src/cid.rs | 6 +++--- mater/lib/src/v1/reader.rs | 4 +--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/mater/lib/src/async_varint.rs b/mater/lib/src/async_varint.rs index 4a3e8c098..86a022ad7 100644 --- a/mater/lib/src/async_varint.rs +++ b/mater/lib/src/async_varint.rs @@ -110,7 +110,7 @@ impl VarIntProcessor { } fn decode(&self) -> Option<(VI, usize)> { - Some(VI::decode_var(&self.buf[0..self.i])?) + VI::decode_var(&self.buf[0..self.i]) } } diff --git a/mater/lib/src/cid.rs b/mater/lib/src/cid.rs index 51e65f691..43dc8f0f3 100644 --- a/mater/lib/src/cid.rs +++ b/mater/lib/src/cid.rs @@ -66,9 +66,9 @@ impl MultihashExt for Multihash { R: AsyncRead + Unpin, { let (code, code_bytes_read): (u64, usize) = read_varint(&mut r).await?; - let (size, size_bytes_read): (u8, usize) = read_varint(&mut r).await?; + let (size, size_bytes_read): (u64, usize) = read_varint(&mut r).await?; - if size > S as u8 || size > u8::MAX { + if size > S as u64 || size > u8::MAX as u64 { return Err(Error::ParsingError); } @@ -79,7 +79,7 @@ impl MultihashExt for Multihash { let multihash = Multihash::wrap(code, &digest) .map_err(|_| Error::ParsingError)? - .truncate(size); + .truncate(size as u8); let bytes_read = code_bytes_read + size_bytes_read + size as usize; diff --git a/mater/lib/src/v1/reader.rs b/mater/lib/src/v1/reader.rs index f394c9a08..9bd73def4 100644 --- a/mater/lib/src/v1/reader.rs +++ b/mater/lib/src/v1/reader.rs @@ -137,15 +137,13 @@ where #[cfg(test)] mod tests { - use std::{os::unix::fs::MetadataExt, str::FromStr}; - use ipld_core::cid::Cid; use sha2::Sha256; use tokio::{fs::File, io::BufReader}; use crate::{ multicodec::{generate_multihash, RAW_CODE}, - v1::{reader::Reader, BlockMetadata}, + v1::reader::Reader, Error, }; From 0dc3265724fe6a1eee95cc51e3871dd7394d166b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 28 Jan 2025 16:20:01 +0100 Subject: [PATCH 05/33] add aditional tests --- mater/lib/src/cid.rs | 75 ++++++++++++++++++++++++++++++++++---- mater/lib/src/v1/mod.rs | 2 +- mater/lib/src/v1/reader.rs | 15 ++++---- mater/lib/src/v2/reader.rs | 7 ++-- 4 files changed, 81 insertions(+), 18 deletions(-) diff --git a/mater/lib/src/cid.rs b/mater/lib/src/cid.rs index 43dc8f0f3..ef5e4ae47 100644 --- a/mater/lib/src/cid.rs +++ b/mater/lib/src/cid.rs @@ -3,13 +3,6 @@ use tokio::io::{AsyncRead, AsyncReadExt}; use crate::{async_varint::read_varint, IDENTITY_CODE}; -pub trait MultihashExt { - async fn read_async(r: R) -> Result<(Self, usize), Error> - where - Self: Sized, - R: AsyncRead + Unpin; -} - pub trait CidExt { async fn read_bytes_async(r: R) -> Result<(Self, usize), Error> where @@ -20,6 +13,13 @@ pub trait CidExt { fn get_identity_data(&self) -> Option<&[u8]>; } +pub trait MultihashExt { + async fn read_async(r: R) -> Result<(Self, usize), Error> + where + Self: Sized, + R: AsyncRead + Unpin; +} + impl CidExt for CidGeneric { fn get_identity_data(&self) -> Option<&[u8]> { (self.hash().code() == IDENTITY_CODE).then(|| self.hash().digest()) @@ -86,3 +86,64 @@ impl MultihashExt for Multihash { Ok((multihash, bytes_read)) } } + +#[cfg(test)] +mod tests { + use std::{io::Cursor, str::FromStr}; + + use ipld_core::cid::{multihash::Multihash, Cid}; + + use crate::{ + cid::{CidExt, MultihashExt}, + multicodec::SHA_256_CODE, + RAW_CODE, + }; + + #[tokio::test] + async fn cid_v0_read_bytes_async() { + let mh = Multihash::<64>::wrap(SHA_256_CODE, &[0u8; 32]).unwrap(); + let original_cid = Cid::new_v0(mh).unwrap(); + + let cid_bytes = Cursor::new(original_cid.to_bytes()); + let (cid, bytes_read) = Cid::read_bytes_async(cid_bytes).await.unwrap(); + + assert_eq!(original_cid, cid); + // In case of CIDv0. Multihash has an explicit size and codec. Because + // of that, they are not part of the format and we are not reading them. + // 34 = cid_version(1) + cid_codec(1) + multihash_digest_size(32) + assert_eq!(bytes_read, 34); + } + + #[tokio::test] + async fn cid_v1_read_bytes_async() { + let original_cid = + Cid::from_str("bafkreiczsrdrvoybcevpzqmblh3my5fu6ui3tgag3jm3hsxvvhaxhswpyu").unwrap(); + + let cid_bytes = Cursor::new(original_cid.to_bytes()); + let (cid, bytes_read) = Cid::read_bytes_async(cid_bytes).await.unwrap(); + + assert_eq!(original_cid, cid); + // 36 = cid_version(1) + cid_codec(1) + mh_code(1) + mh_size(1) + multihash_digest_size(32) + assert_eq!(bytes_read, 36); + } + + #[tokio::test] + async fn multihash_read_async() { + let original_mh = Multihash::<64>::wrap(RAW_CODE, b"Hello World!").unwrap(); + + let mh_bytes = Cursor::new(original_mh.to_bytes()); + let (mh, bytes_read) = Multihash::<64>::read_async(mh_bytes).await.unwrap(); + + assert_eq!(original_mh, mh); + // 10 = mh_code(1) + mh_size(1) + multihash_digest_size(12) + assert_eq!(bytes_read, 14); + } + + #[tokio::test] + async fn multihash_read_async_digest_size_error() { + let original_mh = Multihash::<64>::wrap(RAW_CODE, b"Hello World!").unwrap(); + + let mh_bytes = Cursor::new(original_mh.to_bytes()); + assert!(Multihash::<5>::read_async(mh_bytes).await.is_err()); + } +} diff --git a/mater/lib/src/v1/mod.rs b/mater/lib/src/v1/mod.rs index d3aea088c..48a26311a 100644 --- a/mater/lib/src/v1/mod.rs +++ b/mater/lib/src/v1/mod.rs @@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize}; use crate::multicodec::{RAW_CODE, SHA_256_CODE}; pub use crate::v1::{reader::Reader, writer::Writer}; pub(crate) use crate::v1::{ - reader::{read_block, read_header, skip_block}, + reader::{read_block, read_block_metadata, read_header}, writer::{write_block, write_header}, }; diff --git a/mater/lib/src/v1/reader.rs b/mater/lib/src/v1/reader.rs index 9bd73def4..2b7c42871 100644 --- a/mater/lib/src/v1/reader.rs +++ b/mater/lib/src/v1/reader.rs @@ -46,7 +46,7 @@ pub(crate) async fn read_block(mut reader: R) -> Result<(Cid, Vec), Error where R: AsyncRead + Unpin, { - let (full_block_length, _): (u64, usize) = read_varint(&mut reader).await?; + let (full_block_length, _): (u64, _) = read_varint(&mut reader).await?; let (cid, cid_bytes_read) = Cid::read_bytes_async(&mut reader).await?; let data_size = full_block_length as usize - cid_bytes_read; @@ -56,12 +56,12 @@ where Ok((cid, data_buffer)) } -pub(crate) async fn skip_block(mut reader: R) -> Result +pub(crate) async fn read_block_metadata(mut reader: R) -> Result where R: AsyncRead + AsyncSeek + Unpin, { // Length of the block. This length contains the length of the cid and data. - let (full_block_length, _): (u64, usize) = read_varint(&mut reader).await?; + let (full_block_length, _): (u64, _) = read_varint(&mut reader).await?; // Cid of the block let (cid, cid_bytes_read) = Cid::read_bytes_async(&mut reader).await?; @@ -129,9 +129,10 @@ where R: AsyncRead + AsyncSeek + Unpin, { /// Skips the next block and only returns a [`BlockMetadata`]. This is - /// useful in cases when we don't need the block's content. - pub async fn skip_block(&mut self) -> Result { - skip_block(&mut self.reader).await + /// useful in cases when we only need the block's metadata and don't care + /// about the content. + pub async fn read_block_metadata(&mut self) -> Result { + read_block_metadata(&mut self.reader).await } } @@ -206,7 +207,7 @@ mod tests { assert_eq!(header.roots.len(), 1); assert_eq!(header.roots[0], contents_cid); - let metadata = reader.skip_block().await.unwrap(); + let metadata = reader.read_block_metadata().await.unwrap(); assert_eq!(metadata.cid, contents_cid); assert_eq!(metadata.data_offset_source, 97); assert_eq!(metadata.data_size as usize, contents.len()); diff --git a/mater/lib/src/v2/reader.rs b/mater/lib/src/v2/reader.rs index 138263ca3..4507c15c9 100644 --- a/mater/lib/src/v2/reader.rs +++ b/mater/lib/src/v2/reader.rs @@ -156,9 +156,10 @@ where R: AsyncRead + AsyncSeek + Unpin, { /// Skips the next block and only returns a [`BlockMetadata`]. This is - /// useful in cases when we don't need the block's content. - pub async fn skip_block(&mut self) -> Result { - crate::v1::skip_block(&mut self.reader).await + /// useful in cases when we only need the block's metadata and don't care + /// about the content. + pub async fn read_block_metadata(&mut self) -> Result { + crate::v1::read_block_metadata(&mut self.reader).await } } From 54492787eec1af016da9825cbd4782cf80aacbe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 28 Jan 2025 16:58:54 +0100 Subject: [PATCH 06/33] integrate retrieval server --- Cargo.lock | 2 + storage-provider/server/Cargo.toml | 2 + storage-provider/server/src/config.rs | 10 ++++ storage-provider/server/src/main.rs | 52 ++++++++++++++++-- .../server/src/retrieval/blockstore.rs | 55 +++++++++++++++++++ storage-provider/server/src/retrieval/mod.rs | 42 ++++++++++++++ .../lib/examples/simple_server.rs | 2 +- storage-retrieval/lib/src/server.rs | 28 ++++++++-- 8 files changed, 183 insertions(+), 10 deletions(-) create mode 100644 storage-provider/server/src/retrieval/blockstore.rs create mode 100644 storage-provider/server/src/retrieval/mod.rs diff --git a/Cargo.lock b/Cargo.lock index f3450caad..b17e7cf83 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13921,6 +13921,7 @@ dependencies = [ "async-trait", "axum", "base64 0.22.1", + "blockstore", "chrono", "ciborium", "cid 0.11.1", @@ -13935,6 +13936,7 @@ dependencies = [ "mater", "polka-storage-proofs", "polka-storage-provider-common", + "polka-storage-retrieval", "primitives", "rand", "rocksdb", diff --git a/storage-provider/server/Cargo.toml b/storage-provider/server/Cargo.toml index e4239152d..291bbc688 100644 --- a/storage-provider/server/Cargo.toml +++ b/storage-provider/server/Cargo.toml @@ -16,12 +16,14 @@ delia = [] mater = { workspace = true } polka-storage-proofs = { workspace = true, features = ["std", "substrate"] } polka-storage-provider-common = { workspace = true } +polka-storage-retrieval = { workspace = true } primitives = { workspace = true, features = ["clap", "serde", "std"] } storagext = { workspace = true, features = ["clap"] } async-trait = { workspace = true } axum = { workspace = true, features = ["macros", "multipart"] } base64 = { workspace = true } +blockstore = { workspace = true } chrono = { workspace = true, features = ["serde"] } ciborium = { workspace = true } cid = { workspace = true, features = ["serde", "std"] } diff --git a/storage-provider/server/src/config.rs b/storage-provider/server/src/config.rs index 7019a0ad4..02d2dd308 100644 --- a/storage-provider/server/src/config.rs +++ b/storage-provider/server/src/config.rs @@ -42,6 +42,11 @@ fn default_node_address() -> Url { Url::parse(DEFAULT_NODE_ADDRESS).expect("DEFAULT_NODE_ADDRESS must be a valid Url") } +fn default_retrieval_address() -> Multiaddr { + format!("/ip4/127.0.0.1/tcp/8002") + .parse() + .expect("multiaddres is correct") +} #[derive(Debug, Clone, Deserialize, Args)] #[group(multiple = true, conflicts_with = "config")] #[serde(deny_unknown_fields)] @@ -61,6 +66,11 @@ pub struct ConfigurationArgs { #[arg(long, default_value_t = default_node_address())] pub(crate) node_url: Url, + /// Storage provider listen address. + #[serde(default = "default_retrieval_address")] + #[arg(long, default_value_t = default_retrieval_address())] + pub(crate) retrieval_listen_address: Multiaddr, + /// RocksDB storage directory. /// Defaults to a temporary random directory, like `/tmp//deals_database`. #[arg(long)] diff --git a/storage-provider/server/src/main.rs b/storage-provider/server/src/main.rs index 38691b3dd..48e4b250b 100644 --- a/storage-provider/server/src/main.rs +++ b/storage-provider/server/src/main.rs @@ -7,13 +7,15 @@ mod db; mod local_index_directory; mod p2p; mod pipeline; +mod retrieval; mod rpc; mod storage; -use std::{env::temp_dir, net::SocketAddr, path::PathBuf, sync::Arc, time::Duration}; +use std::{env::temp_dir, net::SocketAddr, ops::Deref, path::PathBuf, sync::Arc, time::Duration}; use clap::Parser; use libp2p::{identity::Keypair, Multiaddr, PeerId}; +use local_index_directory::rdb::{RocksDBLid, RocksDBStateStoreConfig}; use p2p::{ run_bootstrap_node, run_register_node, BootstrapConfig, NodeType, P2PError, P2PState, RegisterConfig, @@ -26,6 +28,7 @@ use polka_storage_proofs::{ use polka_storage_provider_common::rpc::ServerInfo; use primitives::proofs::{RegisteredPoStProof, RegisteredSealProof}; use rand::Rng; +use retrieval::{start_retrieval, RetrievalServerConfig}; use storagext::{ multipair::{MultiPairArgs, MultiPairSigner}, runtime::runtime_types::{ @@ -73,6 +76,9 @@ pub(crate) const SEALED_SECTOR_DIRECTORY_NAME: &str = "sealed"; /// Name for the directory where the sealing cache is kept. pub(crate) const SEALING_CACHE_DIRECTORY_NANE: &str = "cache"; +/// Name of the directory where the index is kept. +pub(crate) const INDEXER_DIRECTORY_NAME: &str = "index"; + fn get_random_temporary_folder() -> PathBuf { temp_dir().join( rand::thread_rng() @@ -89,6 +95,7 @@ struct SetupOutput { pipeline_state: PipelineState, pipeline_rx: UnboundedReceiver, p2p_state: P2PState, + retrieval_config: RetrievalServerConfig, } fn main() -> Result<(), ServerError> { @@ -177,6 +184,12 @@ pub enum ServerError { #[error(transparent)] P2P(#[from] P2PError), + + #[error(transparent)] + RetrievalServer(#[from] polka_storage_retrieval::server::ServerError), + + #[error(transparent)] + Lid(#[from] crate::local_index_directory::LidError), } /// Takes an expression that returns a `Result, E1>`. @@ -233,6 +246,9 @@ pub struct Server { /// Parachain node RPC url. node_url: Url, + /// Storage provider listen address. + retrieval_listen_address: Multiaddr, + /// Storage provider key pair. multi_pair_signer: MultiPairSigner, @@ -358,6 +374,7 @@ impl TryFrom for Server { rendezvous_point_address: args.rendezvous_point_address, rendezvous_point: args.rendezvous_point, registration_ttl: args.registration_ttl, + retrieval_listen_address: args.retrieval_listen_address, }) } } @@ -370,6 +387,7 @@ impl Server { pipeline_state, pipeline_rx, p2p_state, + retrieval_config, } = self.setup().await?; let cancellation_token = CancellationToken::new(); @@ -389,6 +407,11 @@ impl Server { cancellation_token.child_token(), )); + let retrieval_task = tokio::spawn(start_retrieval( + retrieval_config, + cancellation_token.child_token(), + )); + // Wait for SIGTERM on the main thread and once received "unblock" tokio::signal::ctrl_c() .await @@ -399,8 +422,13 @@ impl Server { tracing::info!("sent shutdown signal"); // Wait for the tasks to finish - let (upload_result, rpc_task, pipeline_task, p2p_task) = - tokio::join!(storage_task, rpc_task, pipeline_task, p2p_task); + let (upload_result, rpc_task, pipeline_task, p2p_task, retrieval_task) = tokio::join!( + storage_task, + rpc_task, + pipeline_task, + p2p_task, + retrieval_task + ); // Inspect and log errors let (upload_result, rpc_task, pipeline_task, p2p_task) = @@ -411,6 +439,7 @@ impl Server { rpc_task??; pipeline_task??; p2p_task??; + retrieval_task??; Ok(()) } @@ -432,12 +461,19 @@ impl Server { let sealed_sector_storage_dir = Arc::new(self.storage_directory.join(SEALED_SECTOR_DIRECTORY_NAME)); let sealing_cache_dir = Arc::new(self.storage_directory.join(SEALING_CACHE_DIRECTORY_NANE)); + let index_dir = Arc::new(self.storage_directory.join(INDEXER_DIRECTORY_NAME)); // Create the storage directories tokio::fs::create_dir_all(car_piece_storage_dir.as_ref()).await?; tokio::fs::create_dir_all(unsealed_sector_storage_dir.as_ref()).await?; tokio::fs::create_dir_all(sealed_sector_storage_dir.as_ref()).await?; tokio::fs::create_dir_all(sealing_cache_dir.as_ref()).await?; + tokio::fs::create_dir_all(index_dir.as_ref()).await?; + + // Indexer used by the system + let indexer = Arc::new(RocksDBLid::new(RocksDBStateStoreConfig { + path: index_dir.deref().clone(), + })?); let (pipeline_tx, pipeline_rx) = tokio::sync::mpsc::unbounded_channel::(); @@ -470,7 +506,7 @@ impl Server { let pipeline_state = PipelineState { db: deal_database.clone(), server_info: rpc_state.server_info.clone(), - unsealed_sectors_dir: unsealed_sector_storage_dir, + unsealed_sectors_dir: unsealed_sector_storage_dir.clone(), sealed_sectors_dir: sealed_sector_storage_dir, sealing_cache_dir, porep_parameters: Arc::new(self.porep_parameters), @@ -489,12 +525,20 @@ impl Server { registration_ttl: self.registration_ttl, }; + let unsealed_sectors_dir = unsealed_sector_storage_dir.deref().clone(); + let retrieval_config = RetrievalServerConfig { + listen_address: self.retrieval_listen_address, + unsealed_sectors_dir, + indexer, + }; + Ok(SetupOutput { storage_state, rpc_state, pipeline_state, pipeline_rx, p2p_state, + retrieval_config, }) } diff --git a/storage-provider/server/src/retrieval/blockstore.rs b/storage-provider/server/src/retrieval/blockstore.rs new file mode 100644 index 000000000..0337e9983 --- /dev/null +++ b/storage-provider/server/src/retrieval/blockstore.rs @@ -0,0 +1,55 @@ +use std::{path::Path, sync::Arc}; + +use blockstore::Error; + +use crate::local_index_directory::Service; + +/// The blockstore that reads blocks directly from unsealed sectors +pub struct ProviderBlockstore { + indexer: Arc, +} + +impl ProviderBlockstore { + pub fn new

(unsealed_sectors_path: P, indexer: Arc) -> Self + where + I: Service, + P: AsRef, + { + Self { indexer } + } +} + +impl blockstore::Blockstore for ProviderBlockstore +where + I: Send + Sync + 'static, +{ + async fn get( + &self, + _cid: &cid::CidGeneric, + ) -> blockstore::Result>> { + // TODO: Find the sector that holds the requested cid + // TODO: open a file handler to the sector file. + // TODO: Read the blocks from the sector + todo!() + } + + async fn put_keyed( + &self, + _cid: &cid::CidGeneric, + _data: &[u8], + ) -> blockstore::Result<()> { + Err(Error::FatalDatabaseError( + "put operation not supported".to_string(), + )) + } + + async fn remove(&self, _cid: &cid::CidGeneric) -> blockstore::Result<()> { + Err(Error::FatalDatabaseError( + "remove operation not supported".to_string(), + )) + } + + async fn close(self) -> blockstore::Result<()> { + Ok(()) + } +} diff --git a/storage-provider/server/src/retrieval/mod.rs b/storage-provider/server/src/retrieval/mod.rs new file mode 100644 index 000000000..650994885 --- /dev/null +++ b/storage-provider/server/src/retrieval/mod.rs @@ -0,0 +1,42 @@ +use std::{path::PathBuf, sync::Arc}; + +use blockstore::ProviderBlockstore; +use libp2p::Multiaddr; +use polka_storage_retrieval::Server; +use tokio_util::sync::CancellationToken; + +use crate::{local_index_directory::Service, ServerError}; + +mod blockstore; + +pub struct RetrievalServerConfig { + pub listen_address: Multiaddr, + pub unsealed_sectors_dir: PathBuf, + pub indexer: Arc, +} + +#[tracing::instrument(skip_all)] +pub async fn start_retrieval( + config: RetrievalServerConfig, + token: CancellationToken, +) -> Result<(), ServerError> +where + I: Service + Send + Sync + 'static, +{ + // Blockstore used by the retrieval server provider + let blockstore = Arc::new(ProviderBlockstore::new( + config.unsealed_sectors_dir, + config.indexer, + )); + + // Setup & run the retrieval server + let server = Server::new(blockstore)?; + server + .run(vec![config.listen_address], async move { + token.cancelled_owned().await; + tracing::trace!("shutting down the retrieval server"); + }) + .await?; + + Ok(()) +} diff --git a/storage-retrieval/lib/examples/simple_server.rs b/storage-retrieval/lib/examples/simple_server.rs index 0ad42df61..bcec600f4 100644 --- a/storage-retrieval/lib/examples/simple_server.rs +++ b/storage-retrieval/lib/examples/simple_server.rs @@ -23,7 +23,7 @@ async fn main() -> Result<()> { // Setup & run the server let server = Server::new(blockstore)?; let listener: Multiaddr = format!("/ip4/127.0.0.1/tcp/8989").parse()?; - server.run(vec![listener]).await?; + server.run(vec![listener], std::future::pending()).await?; Ok(()) } diff --git a/storage-retrieval/lib/src/server.rs b/storage-retrieval/lib/src/server.rs index 7295432bb..3ce520637 100644 --- a/storage-retrieval/lib/src/server.rs +++ b/storage-retrieval/lib/src/server.rs @@ -1,7 +1,7 @@ use std::{io, sync::Arc}; use blockstore::Blockstore; -use futures::StreamExt; +use futures::{pin_mut, Future, StreamExt}; use libp2p::{Multiaddr, PeerId, Swarm, TransportError}; use libp2p_core::ConnectedPoint; use libp2p_swarm::{ConnectionId, SwarmEvent}; @@ -43,17 +43,35 @@ where // Start the server. The server will stop if it received a cancellation // event or some error occurred. - pub async fn run(mut self, listeners: Vec) -> Result<(), ServerError> { + pub async fn run( + mut self, + listeners: Vec, + shutdown_signal: F, + ) -> Result<(), ServerError> + where + F: Future + Send + 'static, + { // Listen on for listener in listeners { self.swarm.listen_on(listener)?; } - // Keep server running + pin_mut!(shutdown_signal); + loop { - let event = self.swarm.select_next_some().await; - self.on_swarm_event(event)?; + tokio::select! { + event = self.swarm.select_next_some() => { + self.on_swarm_event(event)?; + + } + _ = &mut shutdown_signal => { + trace!("received shutdown signal"); + break; + } + } } + + Ok(()) } fn on_swarm_event(&mut self, event: SwarmEvent>) -> Result<(), ServerError> { From cc5a9bcbae9636d194b8aec50f20956acc1df588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 28 Jan 2025 16:59:26 +0100 Subject: [PATCH 07/33] fixes after rebase --- storage-provider/server/src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/storage-provider/server/src/main.rs b/storage-provider/server/src/main.rs index 48e4b250b..42563b5ff 100644 --- a/storage-provider/server/src/main.rs +++ b/storage-provider/server/src/main.rs @@ -50,6 +50,7 @@ use url::Url; use crate::{ config::ConfigurationArgs, db::{DBError, DealDB}, + local_index_directory::rdb::{RocksDBLid, RocksDBStateStoreConfig}, pipeline::{start_pipeline, PipelineState}, rpc::{start_rpc_server, RpcServerState}, storage::{start_upload_server, StorageServerState}, From 56f5c7e48fcdeb312bb6028f7d819ec82d0fa7fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 3 Feb 2025 10:51:29 +0100 Subject: [PATCH 08/33] storage indexer --- Cargo.lock | 1 + mater/lib/src/cid.rs | 9 +- mater/lib/src/lib.rs | 3 +- mater/lib/src/v1/mod.rs | 6 +- storage-provider/common/src/sector.rs | 51 +- storage-provider/server/Cargo.toml | 1 + .../local_index_directory/mod.rs | 277 ++-- .../local_index_directory/rdb.rs | 1114 +++++++++-------- .../local_index_directory/rdb_ext.rs | 0 storage-provider/server/src/indexer/mod.rs | 150 +++ storage-provider/server/src/main.rs | 52 +- storage-provider/server/src/pipeline/mod.rs | 25 +- .../server/src/retrieval/blockstore.rs | 94 +- storage-provider/server/src/retrieval/mod.rs | 6 +- storage-provider/server/src/rpc.rs | 2 +- 15 files changed, 1037 insertions(+), 754 deletions(-) rename storage-provider/server/src/{ => indexer}/local_index_directory/mod.rs (67%) rename storage-provider/server/src/{ => indexer}/local_index_directory/rdb.rs (69%) rename storage-provider/server/src/{ => indexer}/local_index_directory/rdb_ext.rs (100%) create mode 100644 storage-provider/server/src/indexer/mod.rs diff --git a/Cargo.lock b/Cargo.lock index b17e7cf83..bdaac89da 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13918,6 +13918,7 @@ dependencies = [ name = "polka-storage-provider-server" version = "0.1.0" dependencies = [ + "async-stream", "async-trait", "axum", "base64 0.22.1", diff --git a/mater/lib/src/cid.rs b/mater/lib/src/cid.rs index ef5e4ae47..fcb21656e 100644 --- a/mater/lib/src/cid.rs +++ b/mater/lib/src/cid.rs @@ -3,8 +3,10 @@ use tokio::io::{AsyncRead, AsyncReadExt}; use crate::{async_varint::read_varint, IDENTITY_CODE}; +/// Extension trait for Cid pub trait CidExt { - async fn read_bytes_async(r: R) -> Result<(Self, usize), Error> + /// Reads the bytes from a byte stream. + fn read_bytes_async(r: R) -> impl std::future::Future> where Self: Sized, R: AsyncRead + Unpin; @@ -13,8 +15,10 @@ pub trait CidExt { fn get_identity_data(&self) -> Option<&[u8]>; } +/// Extension trait for Multihash pub trait MultihashExt { - async fn read_async(r: R) -> Result<(Self, usize), Error> + /// Reads the bytes from a byte stream. + fn read_async(r: R) -> impl std::future::Future> where Self: Sized, R: AsyncRead + Unpin; @@ -62,7 +66,6 @@ impl MultihashExt for Multihash { /// https://github.com/multiformats/rust-multihash/blob/90a6c19ec71ced09469eec164a3586aafeddfbbd/src/multihash.rs#L271 async fn read_async(mut r: R) -> Result<(Self, usize), Error> where - Self: Sized, R: AsyncRead + Unpin, { let (code, code_bytes_read): (u64, usize) = read_varint(&mut r).await?; diff --git a/mater/lib/src/lib.rs b/mater/lib/src/lib.rs index 739d237c1..82f4818c8 100644 --- a/mater/lib/src/lib.rs +++ b/mater/lib/src/lib.rs @@ -19,10 +19,11 @@ mod v1; mod v2; // We need to re-expose this because `read_block` returns `(Cid, Vec)`. +pub use cid::{CidExt, MultihashExt}; pub use ipld_core::cid::Cid; pub use multicodec::{DAG_PB_CODE, IDENTITY_CODE, RAW_CODE}; pub use stores::{create_filestore, Blockstore, Config, FileBlockstore}; -pub use v1::{Header as CarV1Header, Reader as CarV1Reader, Writer as CarV1Writer}; +pub use v1::{BlockMetadata, Header as CarV1Header, Reader as CarV1Reader, Writer as CarV1Writer}; pub use v2::{ verify_cid, Characteristics, Header as CarV2Header, Index, IndexEntry, IndexSorted, MultihashIndexSorted, Reader as CarV2Reader, SingleWidthIndex, Writer as CarV2Writer, diff --git a/mater/lib/src/v1/mod.rs b/mater/lib/src/v1/mod.rs index 48a26311a..1e98cc2c8 100644 --- a/mater/lib/src/v1/mod.rs +++ b/mater/lib/src/v1/mod.rs @@ -66,12 +66,12 @@ impl Default for Header { #[derive(Debug, Clone, Copy, PartialEq)] pub struct BlockMetadata { /// Cid of the block - cid: Cid, + pub cid: Cid, /// Offset of the data section relative to the start of the underlying /// reader. - data_offset_source: u64, + pub data_offset_source: u64, /// Size of the data section of the block - data_size: u64, + pub data_size: u64, } #[cfg(test)] diff --git a/storage-provider/common/src/sector.rs b/storage-provider/common/src/sector.rs index c7b6d01f9..888386d4d 100644 --- a/storage-provider/common/src/sector.rs +++ b/storage-provider/common/src/sector.rs @@ -67,6 +67,11 @@ pub struct UnsealedSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, + /// Tracks locations of the actual pieces added to the unsealed sector. This + /// vector does not contain padding pieces. It contains the actual pieces + /// corresponding with the deals from the users. + pub pieces_locations: Vec<(Commitment, PathBuf)>, + /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -94,6 +99,7 @@ impl UnsealedSector { occupied_sector_space: 0, piece_infos: vec![], deals: vec![], + pieces_locations: vec![], unsealed_path, }) } @@ -108,24 +114,29 @@ impl UnsealedSector { self.deals.push((deal_id, deal)); let sealer = Sealer::new(self.seal_proof); - // would love to use something like scoped spawn blocking - let pieces = self.piece_infos.clone(); - let unsealed_path = self.unsealed_path.clone(); let handle: JoinHandle> = - tokio::task::spawn_blocking(move || { - let unsealed_sector = std::fs::File::options().append(true).open(unsealed_path)?; - - tracing::info!("Preparing piece..."); - let (padded_reader, piece_info) = prepare_piece(piece_path, commitment)?; - tracing::info!("Adding piece..."); - let occupied_piece_space = - sealer.add_piece(padded_reader, piece_info, &pieces, unsealed_sector)?; - - Ok((piece_info, occupied_piece_space)) + tokio::task::spawn_blocking({ + let pieces = self.piece_infos.clone(); + let unsealed_path = self.unsealed_path.clone(); + let piece_path = piece_path.clone(); + + move || { + let unsealed_sector = + std::fs::File::options().append(true).open(unsealed_path)?; + + tracing::info!("Preparing piece..."); + let (padded_reader, piece_info) = prepare_piece(piece_path, commitment)?; + tracing::info!("Adding piece..."); + let occupied_piece_space = + sealer.add_piece(padded_reader, piece_info, &pieces, unsealed_sector)?; + + Ok((piece_info, occupied_piece_space)) + } }); let (piece_info, occupied_piece_space) = handle.await??; self.piece_infos.push(piece_info); + self.pieces_locations.push((commitment, piece_path)); self.occupied_sector_space = self.occupied_sector_space + occupied_piece_space; Ok(()) @@ -263,6 +274,11 @@ pub struct PreCommittedSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, + /// Tracks locations of the actual pieces added to the unsealed sector. This + /// vector does not contain padding pieces. It contains the actual pieces + /// corresponding with the deals from the users. + pub pieces_locations: Vec<(Commitment, PathBuf)>, + /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -311,12 +327,11 @@ impl PreCommittedSector { seal_randomness_height: u64, precommit_block: u64, ) -> Result { - tokio::fs::remove_file(unsealed.unsealed_path).await?; - Ok(Self { seal_proof: unsealed.seal_proof, sector_number: unsealed.sector_number, piece_infos: unsealed.piece_infos, + pieces_locations: unsealed.pieces_locations, deals: unsealed.deals, cache_path, sealed_path, @@ -477,6 +492,11 @@ pub struct ProvenSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, + /// Tracks locations of the actual pieces added to the unsealed sector. This + /// vector does not contain padding pieces. It contains the actual pieces + /// corresponding with the deals from the users. + pub pieces_locations: Vec<(Commitment, PathBuf)>, + /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -500,6 +520,7 @@ impl ProvenSector { Self { sector_number: sector.sector_number, piece_infos: sector.piece_infos, + pieces_locations: sector.pieces_locations, deals: sector.deals, cache_path: sector.cache_path, sealed_path: sector.sealed_path, diff --git a/storage-provider/server/Cargo.toml b/storage-provider/server/Cargo.toml index 291bbc688..3a437abcc 100644 --- a/storage-provider/server/Cargo.toml +++ b/storage-provider/server/Cargo.toml @@ -20,6 +20,7 @@ polka-storage-retrieval = { workspace = true } primitives = { workspace = true, features = ["clap", "serde", "std"] } storagext = { workspace = true, features = ["clap"] } +async-stream.workspace = true async-trait = { workspace = true } axum = { workspace = true, features = ["macros", "multipart"] } base64 = { workspace = true } diff --git a/storage-provider/server/src/local_index_directory/mod.rs b/storage-provider/server/src/indexer/local_index_directory/mod.rs similarity index 67% rename from storage-provider/server/src/local_index_directory/mod.rs rename to storage-provider/server/src/indexer/local_index_directory/mod.rs index 395589e17..40eb8dc77 100644 --- a/storage-provider/server/src/local_index_directory/mod.rs +++ b/storage-provider/server/src/indexer/local_index_directory/mod.rs @@ -1,13 +1,14 @@ // TODO(@cernicc,23/01/2025): Remove this after the index is integrated #![allow(dead_code)] -use std::{ops::Deref, string}; +use std::string; use base64::Engine; use cid::{ multihash::{self, Multihash}, Cid, }; +use primitives::{sector::SectorNumber, DealId}; use serde::{Deserialize, Serialize}; use uuid::Uuid; @@ -68,40 +69,40 @@ pub enum LidError { Base64DecodeError(#[from] base64::DecodeError), } -/// A [`FlaggedPiece`] is a piece that has been flagged for the user's attention -/// (e.g. the index is missing). -/// -/// Source: -#[derive(Debug, Serialize, Deserialize)] -pub struct FlaggedPiece { - pub piece_cid: Cid, - pub storage_provider_address: StorageProviderAddress, - pub created_at: chrono::DateTime, - pub updated_at: chrono::DateTime, - pub has_unsealed_copy: bool, -} - -impl FlaggedPiece { - /// Construct a new [`FlaggedPiece`]. - /// - /// * `created_at` and `updated_at` will be set to `now`. - /// * `has_unsealed_copy` will be set to `false`. - pub fn new(piece_cid: Cid, storage_provider_address: StorageProviderAddress) -> Self { - let now = chrono::Utc::now(); - Self { - piece_cid, - storage_provider_address, - created_at: now, - updated_at: now, - has_unsealed_copy: false, - } - } -} - -pub struct FlaggedPiecesListFilter { - pub storage_provider_address: StorageProviderAddress, - pub has_unsealed_copy: bool, -} +// /// A [`FlaggedPiece`] is a piece that has been flagged for the user's attention +// /// (e.g. the index is missing). +// /// +// /// Source: +// #[derive(Debug, Serialize, Deserialize)] +// pub struct FlaggedPiece { +// pub piece_cid: Cid, +// pub storage_provider_address: StorageProviderAddress, +// pub created_at: chrono::DateTime, +// pub updated_at: chrono::DateTime, +// pub has_unsealed_copy: bool, +// } + +// impl FlaggedPiece { +// /// Construct a new [`FlaggedPiece`]. +// /// +// /// * `created_at` and `updated_at` will be set to `now`. +// /// * `has_unsealed_copy` will be set to `false`. +// pub fn new(piece_cid: Cid, storage_provider_address: StorageProviderAddress) -> Self { +// let now = chrono::Utc::now(); +// Self { +// piece_cid, +// storage_provider_address, +// created_at: now, +// updated_at: now, +// has_unsealed_copy: false, +// } +// } +// } + +// pub struct FlaggedPiecesListFilter { +// pub storage_provider_address: StorageProviderAddress, +// pub has_unsealed_copy: bool, +// } // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/model/model.go#L50-L62 @@ -182,53 +183,30 @@ impl Default for PieceInfo { } } -/// Identifier for a retrieval deal (unique to a client) -#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] -pub struct DealId(u64); +// // TODO(@jmg-duarte,14/06/2024): validate miner address -impl From for DealId { - fn from(value: u64) -> Self { - Self(value) - } -} +// /// The storage provider address. +// /// +// /// It is a special type from `filecoin-project/go-address` +// /// however, it's simply a wrapper to `string`: +// /// https://github.com/filecoin-project/go-address/blob/365a7c8d0e85c731c192e65ece5f5b764026e85d/address.go#L39-L40 +// #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +// pub struct StorageProviderAddress(String); -// TODO(@jmg-duarte,14/06/2024): validate miner address +// // The Deref implementation eases usages like checking whether the address is empty. +// impl Deref for StorageProviderAddress { +// type Target = String; -/// The storage provider address. -/// -/// It is a special type from `filecoin-project/go-address` -/// however, it's simply a wrapper to `string`: -/// https://github.com/filecoin-project/go-address/blob/365a7c8d0e85c731c192e65ece5f5b764026e85d/address.go#L39-L40 -#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] -pub struct StorageProviderAddress(String); - -// The Deref implementation eases usages like checking whether the address is empty. -impl Deref for StorageProviderAddress { - type Target = String; - - fn deref(&self) -> &Self::Target { - &self.0 - } -} +// fn deref(&self) -> &Self::Target { +// &self.0 +// } +// } -impl From for StorageProviderAddress { - fn from(value: String) -> Self { - Self(value) - } -} - -/// Numeric identifier for a sector. It is usually relative to a storage provider. -/// -/// For more information on sectors, see: -/// -#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] -pub struct SectorNumber(u64); - -impl From for SectorNumber { - fn from(value: u64) -> Self { - Self(value) - } -} +// impl From for StorageProviderAddress { +// fn from(value: String) -> Self { +// Self(value) +// } +// } /// Information about a single *storage* deal for a given piece. /// @@ -247,27 +225,25 @@ pub struct DealInfo { #[serde(rename = "u")] pub deal_uuid: Uuid, - // NOTE(@jmg-duarte,17/06/2024): this will probably not be needed - /// Wether this deal was performed using `go-fil-markets`. - /// - /// See the following links for more information: - /// * - /// * - #[serde(rename = "y")] - pub is_legacy: bool, - + // // NOTE(@jmg-duarte,17/06/2024): this will probably not be needed + // /// Wether this deal was performed using `go-fil-markets`. + // /// + // /// See the following links for more information: + // /// * + // /// * + // #[serde(rename = "y")] + // pub is_legacy: bool, /// Identifier for a deal on the chain. /// /// See [`DealId`] for more information. #[serde(rename = "i")] pub chain_deal_id: DealId, - /// The storage provider's address. - /// - /// See [`StorageProviderAddress`] for more information. - #[serde(rename = "m")] - pub storage_provider_address: StorageProviderAddress, - + // /// The storage provider's address. + // /// + // /// See [`StorageProviderAddress`] for more information. + // #[serde(rename = "m")] + // pub storage_provider_address: StorageProviderAddress, /// The sector number where the piece is stored in. /// /// See [`SectorNumber`] for more information. @@ -291,16 +267,15 @@ pub struct DealInfo { /// The length of the piece's CAR file. #[serde(rename = "c")] pub car_length: u64, - - /// Wether this deal is a [direct deal][1]. - /// - /// A direct deal is usually made for data larger than 4Gb as it will contain a single piece, - /// a non-direct deal is an [aggregated deal][2], which is aggregated from small scale data (< 4Gb). - /// - /// [1]: https://docs.filecoin.io/smart-contracts/programmatic-storage/direct-deal-making - /// [2]: https://docs.filecoin.io/smart-contracts/programmatic-storage/aggregated-deal-making - #[serde(rename = "d")] - pub is_direct_deal: bool, + // /// Wether this deal is a [direct deal][1]. + // /// + // /// A direct deal is usually made for data larger than 4Gb as it will contain a single piece, + // /// a non-direct deal is an [aggregated deal][2], which is aggregated from small scale data (< 4Gb). + // /// + // /// [1]: https://docs.filecoin.io/smart-contracts/programmatic-storage/direct-deal-making + // /// [2]: https://docs.filecoin.io/smart-contracts/programmatic-storage/aggregated-deal-making + // #[serde(rename = "d")] + // pub is_direct_deal: bool, } pub trait Service { @@ -404,52 +379,52 @@ pub trait Service { /// that cannot be found, returns [`LidError::MultihashNotFound`]. fn remove_indexes(&self, piece_cid: Cid) -> Result<(), LidError>; - /// Flag the piece with the given [`Cid`]. - /// - /// * If the piece & storage provider address pair is not found, a new entry will be stored. - fn flag_piece( - &self, - piece_cid: Cid, - has_unsealed_copy: bool, - storage_provider_address: StorageProviderAddress, - ) -> Result<(), LidError>; - - /// Unflag the piece with the given [`Cid`]. - /// - /// * If the piece & storage provider address pair is not found, this is a no-op. - fn unflag_piece( - &self, - piece_cid: Cid, - storage_provider_address: StorageProviderAddress, - ) -> Result<(), LidError>; - - /// List the flagged pieces matching the filter. - /// - /// * If the filter is `None`, then all flagged pieces will be matched. - /// * If no pieces are found, returns an empty [`Vec`]. - /// * Pieces flagged before `cursor` will be filtered out. - /// * Pieces are sorted according to when they were first flagged — see [`FlaggedPiece::created_at`]. - /// * Offset and limit are applied _after_ sorting the pieces. - fn flagged_pieces_list( - &self, - filter: Option, - cursor: chrono::DateTime, // this name doesn't make much sense but it's the original one, - offset: usize, - limit: usize, - ) -> Result, LidError>; - - /// Count all pieces that match the given filter. - /// - /// * If the filter is `None`, then all flagged pieces will be counted. - /// * If no pieces are found, returns `0`. - fn flagged_pieces_count( - &self, - filter: Option, - ) -> Result; - - /// Returns the [`Cid`]s of the next pieces to be checked for a given storage provider. - fn next_pieces_to_check( - &mut self, - storage_provider_address: StorageProviderAddress, - ) -> Result, LidError>; + // /// Flag the piece with the given [`Cid`]. + // /// + // /// * If the piece & storage provider address pair is not found, a new entry will be stored. + // fn flag_piece( + // &self, + // piece_cid: Cid, + // has_unsealed_copy: bool, + // storage_provider_address: StorageProviderAddress, + // ) -> Result<(), LidError>; + + // /// Unflag the piece with the given [`Cid`]. + // /// + // /// * If the piece & storage provider address pair is not found, this is a no-op. + // fn unflag_piece( + // &self, + // piece_cid: Cid, + // storage_provider_address: StorageProviderAddress, + // ) -> Result<(), LidError>; + + // /// List the flagged pieces matching the filter. + // /// + // /// * If the filter is `None`, then all flagged pieces will be matched. + // /// * If no pieces are found, returns an empty [`Vec`]. + // /// * Pieces flagged before `cursor` will be filtered out. + // /// * Pieces are sorted according to when they were first flagged — see [`FlaggedPiece::created_at`]. + // /// * Offset and limit are applied _after_ sorting the pieces. + // fn flagged_pieces_list( + // &self, + // filter: Option, + // cursor: chrono::DateTime, // this name doesn't make much sense but it's the original one, + // offset: usize, + // limit: usize, + // ) -> Result, LidError>; + + // /// Count all pieces that match the given filter. + // /// + // /// * If the filter is `None`, then all flagged pieces will be counted. + // /// * If no pieces are found, returns `0`. + // fn flagged_pieces_count( + // &self, + // filter: Option, + // ) -> Result; + + // /// Returns the [`Cid`]s of the next pieces to be checked for a given storage provider. + // fn next_pieces_to_check( + // &mut self, + // storage_provider_address: StorageProviderAddress, + // ) -> Result, LidError>; } diff --git a/storage-provider/server/src/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs similarity index 69% rename from storage-provider/server/src/local_index_directory/rdb.rs rename to storage-provider/server/src/indexer/local_index_directory/rdb.rs index ef3f199cc..0f1d766c4 100644 --- a/storage-provider/server/src/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -1,5 +1,5 @@ // The name of this file is `rdb.rs` to avoid clashing with the `rocksdb` import. -use std::{collections::HashMap, path::PathBuf, str::FromStr, time::Duration}; +use std::{collections::HashMap, path::PathBuf, time::Duration}; use base64::Engine; use cid::{multihash::Multihash, Cid}; @@ -12,9 +12,8 @@ use serde::{de::DeserializeOwned, Serialize}; use uuid::Uuid; use super::{ - multihash_base64, rdb_ext::WriteBatchWithTransactionExt, DealInfo, FlaggedPiece, - FlaggedPiecesListFilter, IndexRecord, LidError, OffsetSize, PieceInfo, Service, - StorageProviderAddress, + multihash_base64, rdb_ext::WriteBatchWithTransactionExt, DealInfo, IndexRecord, LidError, + OffsetSize, PieceInfo, Service, }; const RAW_CODEC: u64 = 0x55; @@ -79,9 +78,9 @@ fn key_cursor_prefix(cursor: u64) -> String { } /// Returns a key for flagging a piece, like `//

`. -fn key_flag_piece(cid: &Cid, address: &StorageProviderAddress) -> String { - format!("/{}/{}", cid, address.0) -} +// fn key_flag_piece(cid: &Cid, address: &StorageProviderAddress) -> String { +// format!("/{}/{}", cid, address.0) +// } pub struct RocksDBStateStoreConfig { pub path: PathBuf, @@ -107,6 +106,7 @@ impl RocksDBLid { /// * If the column families ([`PIECE_CID_TO_CURSOR_CF`], /// [`MULTIHASH_TO_PIECE_CID_CF`], [`PIECE_CID_TO_FLAGGED_CF`], /// [`CURSOR_TO_OFFSET_SIZE_CF`]) do not exist, they will be created. + /// * If the cursor is not initialized. It will be initialized with the 0 value. pub fn new(config: RocksDBStateStoreConfig) -> Result where Self: Sized, @@ -123,11 +123,17 @@ impl RocksDBLid { opts.create_if_missing(true); opts.create_missing_column_families(true); - Ok(Self { + // Initialize the db + let database = Self { database: RocksDB::open_cf_descriptors(&opts, config.path, column_families)?, offset: 0, checked: HashMap::new(), - }) + }; + + // Initialize the cursor + database.init_cursor()?; + + Ok(database) } /// Get the column family handle for the given column family name. @@ -264,6 +270,18 @@ impl RocksDBLid { Ok(multihash) } + /// Initialize cursor with the default value if not set already. + fn init_cursor(&self) -> Result<(), LidError> { + if let Err(err) = self.get_next_cursor() { + if matches!(err, LidError::CursorNotFound) { + self.set_next_cursor(100)?; + } else { + return Err(err); + } + } + Ok(()) + } + /// Get the next available cursor. /// /// Returns [`LidError::CursorNotFound`] if no cursor has been set. @@ -274,7 +292,8 @@ impl RocksDBLid { /// Source: /// * fn get_next_cursor(&self) -> Result<(u64, String), LidError> { - let pinned_slice = self.database.get_pinned(NEXT_CURSOR_KEY)?; + let pinned_slice: Option = + self.database.get_pinned(NEXT_CURSOR_KEY)?; let Some(pinned_slice) = pinned_slice else { // In most places the original source code has some special handling for the missing key, // however, that does not apply for a missing cursor @@ -600,6 +619,12 @@ impl Service for RocksDBLid { let mut records = vec![]; for it in iterator { let (key, value) = it?; + + // TODO(@cernicc,31/01/2025): The NEXT_CURSOR_KEY is returned as a key. Not sure why. + if key.as_ref() == NEXT_CURSOR_KEY.as_bytes() { + continue; + } + // With some trickery, we can probably get rid of this allocation let key = key .to_vec() @@ -680,266 +705,264 @@ impl Service for RocksDBLid { self.remove_indexes_with_cursor(piece_cid, metadata.cursor) } - /// For a detailed description, see [`Service::flag_piece`]. - /// - /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. - /// - /// Sources: - /// * - /// * - fn flag_piece( - &self, - piece_cid: Cid, - has_unsealed_copy: bool, - storage_provider_address: StorageProviderAddress, - ) -> Result<(), LidError> { - let key = key_flag_piece(&piece_cid, &storage_provider_address); - let mut metadata = self - .get_value_at_key(&key, PIECE_CID_TO_FLAGGED_CF)? - .unwrap_or_else(|| FlaggedPiece::new(piece_cid, storage_provider_address)); - - metadata.updated_at = chrono::Utc::now(); - metadata.has_unsealed_copy = has_unsealed_copy; - - self.put_value_at_key(key, &metadata, PIECE_CID_TO_FLAGGED_CF) - } - - /// For a detailed description, see [`Service::unflag_piece`]. - /// - /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. - /// - /// Sources: - /// * - /// * - fn unflag_piece( - &self, - piece_cid: Cid, - storage_provider_address: StorageProviderAddress, - ) -> Result<(), LidError> { - let key = key_flag_piece(&piece_cid, &storage_provider_address); - self.remove_value_at_key(key, PIECE_CID_TO_FLAGGED_CF) - } - - /// For a detailed description, see [`Service::flagged_pieces_list`]. - /// - /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. - /// - /// Sources: - /// * - /// * - fn flagged_pieces_list( - &self, - filter: Option, - cursor: chrono::DateTime, - offset: usize, - limit: usize, - ) -> Result, LidError> { - let iterator = self - .database - .iterator_cf(self.cf_handle(PIECE_CID_TO_FLAGGED_CF), IteratorMode::Start); - - let mut flagged_pieces = vec![]; - for line in iterator { - let (key, value) = line?; - - // This one should never happen but who knows? - let key = String::from_utf8(key.to_vec())?; - // The key starts with a "/", skip it - let mut split = key.split('/').skip(1); - - // Using let/else instead of .ok_or/.ok_or_else avoids using .clone - let Some(piece_cid) = split.next() else { - return Err(LidError::InvalidFlaggedPieceKeyError(key)); - }; - // They don't actually check that the full key is well formed, they just check if it isn't ill-formed - // by checking if the length after splitting is != 0 and that the CID is valid - // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L740-L748 - - let piece_cid = Cid::from_str(piece_cid)?; - let flagged_metadata = match ciborium::from_reader::(value.as_ref()) { - Ok(value) => Ok(value), - Err(err) => Err(LidError::Deserialization(err.to_string())), - }?; - - if let Some(filter) = &filter { - // NOTE(@jmg-duarte,05/06/2024): The check order is not arbitrary, - // it's the same as the order in boostd-data, maybe it has a reason, - // maybe it doesn't, keeping it the same for now... - // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L756-L766 - if filter.has_unsealed_copy != flagged_metadata.has_unsealed_copy { - continue; - } - - // NOTE(@jmg-duarte,05/06/2024): We could check the address against the key and - // possibly avoid deserializing, but the original code only checks after deserializing - // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L750-L762 - if !filter.storage_provider_address.is_empty() - && filter.storage_provider_address != flagged_metadata.storage_provider_address - { - continue; - } - } - - if flagged_metadata.created_at < cursor { - continue; - } - - flagged_pieces.push(FlaggedPiece { - piece_cid, - storage_provider_address: flagged_metadata.storage_provider_address, - created_at: flagged_metadata.created_at, - updated_at: flagged_metadata.updated_at, - has_unsealed_copy: flagged_metadata.has_unsealed_copy, - }); - } - - // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L776-L778 - flagged_pieces.sort_by(|l, r| l.created_at.cmp(&r.created_at)); - - if offset > 0 { - if offset >= flagged_pieces.len() { - return Ok(vec![]); - } else { - flagged_pieces = flagged_pieces.split_off(offset); - } - } - - if flagged_pieces.len() > limit { - flagged_pieces.truncate(limit); - } - - Ok(flagged_pieces) - } - - /// For a detailed description, see [`Service::flagged_pieces_count`]. - /// - /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. - /// - /// Sources: - /// * - /// * - fn flagged_pieces_count( - &self, - filter: Option, - ) -> Result { - let iterator = self - .database - .iterator_cf(self.cf_handle(PIECE_CID_TO_FLAGGED_CF), IteratorMode::Start); - - if let Some(filter) = filter { - let mut count: u64 = 0; - for line in iterator { - let (_, value) = line?; - - let flagged_metadata = - match ciborium::from_reader::(value.as_ref()) { - Ok(value) => Ok(value), - Err(err) => Err(LidError::Deserialization(err.to_string())), - }?; - - // NOTE(@jmg-duarte,05/06/2024): The check order is not arbitrary, - // it's the same as the order in boostd-data, maybe it has a reason, - // maybe it doesn't, keeping it the same for now... - // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L823-L829 - if filter.has_unsealed_copy != flagged_metadata.has_unsealed_copy { - continue; - } - - if !filter.storage_provider_address.is_empty() - && filter.storage_provider_address != flagged_metadata.storage_provider_address - { - continue; - } - - count += 1; - } - Ok(count) - } else { - Ok(iterator.count() as u64) - } - } - - /// For a detailed description, see [`Self::next_pieces_to_check`]. - /// - /// This information is stored in the [`PIECE_CID_TO_CURSOR_CF`] column family. - /// - /// Sources: - /// * - /// * - fn next_pieces_to_check( - &mut self, - storage_provider_address: StorageProviderAddress, - ) -> Result, LidError> { - let mut cids = vec![]; - - // Leveraging the `DBRawIteratorWithThreadMode` should bring more performance - // but requires deeper knowledge of RocksDB, this is good enough for now - let iter = self - .database - .iterator_cf(self.cf_handle(PIECE_CID_TO_CURSOR_CF), IteratorMode::Start) - // Looks silly but it's faithful to the original implementation - // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L389-L390 - .skip(self.offset) - .take(PIECES_TRACKER_BATCH_SIZE); - - let mut seen_pieces = 0; - for it in iter { - let (key, value) = it?; - seen_pieces += 1; - - let key_str = Cid::read_bytes(key.as_ref())?; - // TODO(@jmg-duarte,14/06/2024): missing an encoding step here - // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L421-L422 - let checked_key = { - let mut key = storage_provider_address.0.clone(); - key.push_str(&key_str.to_string()); - key - }; - - if let Some(last_checked) = self.checked.get(&checked_key) { - if *last_checked > (chrono::Utc::now() - MIN_PIECE_CHECK_PERIOD) { - continue; - } - } - - let cid = Cid::read_bytes(key.as_ref())?; - let metadata: PieceInfo = ciborium::from_reader(value.as_ref()) - .map_err(|err| LidError::Deserialization(err.to_string()))?; - for deal in metadata.deals { - if deal.storage_provider_address == storage_provider_address { - self.checked.insert(checked_key.clone(), chrono::Utc::now()); - cids.push(cid); - break; - } - } - } - self.offset += seen_pieces; - - if seen_pieces < PIECES_TRACKER_BATCH_SIZE { - self.offset = 0; - } - - Ok(cids) - } + // /// For a detailed description, see [`Service::flag_piece`]. + // /// + // /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. + // /// + // /// Sources: + // /// * + // /// * + // fn flag_piece( + // &self, + // piece_cid: Cid, + // has_unsealed_copy: bool, + // storage_provider_address: StorageProviderAddress, + // ) -> Result<(), LidError> { + // let key = key_flag_piece(&piece_cid, &storage_provider_address); + // let mut metadata = self + // .get_value_at_key(&key, PIECE_CID_TO_FLAGGED_CF)? + // .unwrap_or_else(|| FlaggedPiece::new(piece_cid, storage_provider_address)); + + // metadata.updated_at = chrono::Utc::now(); + // metadata.has_unsealed_copy = has_unsealed_copy; + + // self.put_value_at_key(key, &metadata, PIECE_CID_TO_FLAGGED_CF) + // } + + // /// For a detailed description, see [`Service::unflag_piece`]. + // /// + // /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. + // /// + // /// Sources: + // /// * + // /// * + // fn unflag_piece( + // &self, + // piece_cid: Cid, + // storage_provider_address: StorageProviderAddress, + // ) -> Result<(), LidError> { + // let key = key_flag_piece(&piece_cid, &storage_provider_address); + // self.remove_value_at_key(key, PIECE_CID_TO_FLAGGED_CF) + // } + + // /// For a detailed description, see [`Service::flagged_pieces_list`]. + // /// + // /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. + // /// + // /// Sources: + // /// * + // /// * + // fn flagged_pieces_list( + // &self, + // filter: Option, + // cursor: chrono::DateTime, + // offset: usize, + // limit: usize, + // ) -> Result, LidError> { + // let iterator = self + // .database + // .iterator_cf(self.cf_handle(PIECE_CID_TO_FLAGGED_CF), IteratorMode::Start); + + // let mut flagged_pieces = vec![]; + // for line in iterator { + // let (key, value) = line?; + + // // This one should never happen but who knows? + // let key = String::from_utf8(key.to_vec())?; + // // The key starts with a "/", skip it + // let mut split = key.split('/').skip(1); + + // // Using let/else instead of .ok_or/.ok_or_else avoids using .clone + // let Some(piece_cid) = split.next() else { + // return Err(LidError::InvalidFlaggedPieceKeyError(key)); + // }; + // // They don't actually check that the full key is well formed, they just check if it isn't ill-formed + // // by checking if the length after splitting is != 0 and that the CID is valid + // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L740-L748 + + // let piece_cid = Cid::from_str(piece_cid)?; + // let flagged_metadata = match ciborium::from_reader::(value.as_ref()) { + // Ok(value) => Ok(value), + // Err(err) => Err(LidError::Deserialization(err.to_string())), + // }?; + + // if let Some(filter) = &filter { + // // NOTE(@jmg-duarte,05/06/2024): The check order is not arbitrary, + // // it's the same as the order in boostd-data, maybe it has a reason, + // // maybe it doesn't, keeping it the same for now... + // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L756-L766 + // if filter.has_unsealed_copy != flagged_metadata.has_unsealed_copy { + // continue; + // } + + // // NOTE(@jmg-duarte,05/06/2024): We could check the address against the key and + // // possibly avoid deserializing, but the original code only checks after deserializing + // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L750-L762 + // if !filter.storage_provider_address.is_empty() + // && filter.storage_provider_address != flagged_metadata.storage_provider_address + // { + // continue; + // } + // } + + // if flagged_metadata.created_at < cursor { + // continue; + // } + + // flagged_pieces.push(FlaggedPiece { + // piece_cid, + // storage_provider_address: flagged_metadata.storage_provider_address, + // created_at: flagged_metadata.created_at, + // updated_at: flagged_metadata.updated_at, + // has_unsealed_copy: flagged_metadata.has_unsealed_copy, + // }); + // } + + // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L776-L778 + // flagged_pieces.sort_by(|l, r| l.created_at.cmp(&r.created_at)); + + // if offset > 0 { + // if offset >= flagged_pieces.len() { + // return Ok(vec![]); + // } else { + // flagged_pieces = flagged_pieces.split_off(offset); + // } + // } + + // if flagged_pieces.len() > limit { + // flagged_pieces.truncate(limit); + // } + + // Ok(flagged_pieces) + // } + + // /// For a detailed description, see [`Service::flagged_pieces_count`]. + // /// + // /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. + // /// + // /// Sources: + // /// * + // /// * + // fn flagged_pieces_count( + // &self, + // filter: Option, + // ) -> Result { + // let iterator = self + // .database + // .iterator_cf(self.cf_handle(PIECE_CID_TO_FLAGGED_CF), IteratorMode::Start); + + // if let Some(filter) = filter { + // let mut count: u64 = 0; + // for line in iterator { + // let (_, value) = line?; + + // let flagged_metadata = + // match ciborium::from_reader::(value.as_ref()) { + // Ok(value) => Ok(value), + // Err(err) => Err(LidError::Deserialization(err.to_string())), + // }?; + + // // NOTE(@jmg-duarte,05/06/2024): The check order is not arbitrary, + // // it's the same as the order in boostd-data, maybe it has a reason, + // // maybe it doesn't, keeping it the same for now... + // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L823-L829 + // if filter.has_unsealed_copy != flagged_metadata.has_unsealed_copy { + // continue; + // } + + // if !filter.storage_provider_address.is_empty() + // && filter.storage_provider_address != flagged_metadata.storage_provider_address + // { + // continue; + // } + + // count += 1; + // } + // Ok(count) + // } else { + // Ok(iterator.count() as u64) + // } + // } + + // /// For a detailed description, see [`Self::next_pieces_to_check`]. + // /// + // /// This information is stored in the [`PIECE_CID_TO_CURSOR_CF`] column family. + // /// + // /// Sources: + // /// * + // /// * + // fn next_pieces_to_check( + // &mut self, + // storage_provider_address: StorageProviderAddress, + // ) -> Result, LidError> { + // let mut cids = vec![]; + + // // Leveraging the `DBRawIteratorWithThreadMode` should bring more performance + // // but requires deeper knowledge of RocksDB, this is good enough for now + // let iter = self + // .database + // .iterator_cf(self.cf_handle(PIECE_CID_TO_CURSOR_CF), IteratorMode::Start) + // // Looks silly but it's faithful to the original implementation + // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L389-L390 + // .skip(self.offset) + // .take(PIECES_TRACKER_BATCH_SIZE); + + // let mut seen_pieces = 0; + // for it in iter { + // let (key, value) = it?; + // seen_pieces += 1; + + // let key_str = Cid::read_bytes(key.as_ref())?; + // // TODO(@jmg-duarte,14/06/2024): missing an encoding step here + // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L421-L422 + // let checked_key = { + // let mut key = storage_provider_address.0.clone(); + // key.push_str(&key_str.to_string()); + // key + // }; + + // if let Some(last_checked) = self.checked.get(&checked_key) { + // if *last_checked > (chrono::Utc::now() - MIN_PIECE_CHECK_PERIOD) { + // continue; + // } + // } + + // let cid = Cid::read_bytes(key.as_ref())?; + // let metadata: PieceInfo = ciborium::from_reader(value.as_ref()) + // .map_err(|err| LidError::Deserialization(err.to_string()))?; + // for deal in metadata.deals { + // if deal.storage_provider_address == storage_provider_address { + // self.checked.insert(checked_key.clone(), chrono::Utc::now()); + // cids.push(cid); + // break; + // } + // } + // } + // self.offset += seen_pieces; + + // if seen_pieces < PIECES_TRACKER_BATCH_SIZE { + // self.offset = 0; + // } + + // Ok(cids) + // } } #[cfg(test)] mod test { use std::str::FromStr; - use cid::{multihash::Multihash, Cid}; + use cid::Cid; use rocksdb::DEFAULT_COLUMN_FAMILY_NAME; - use sha2::{Digest, Sha256}; use tempfile::tempdir; - use super::{key_flag_piece, RocksDBLid, RocksDBStateStoreConfig}; - use crate::local_index_directory::{ + use super::{RocksDBLid, RocksDBStateStoreConfig}; + use crate::indexer::local_index_directory::{ rdb::{ key_cursor_prefix, MULTIHASH_TO_PIECE_CID_CF, PIECE_CID_TO_CURSOR_CF, PIECE_CID_TO_FLAGGED_CF, RAW_CODEC, }, - DealId, DealInfo, FlaggedPiece, FlaggedPiecesListFilter, IndexRecord, LidError, OffsetSize, - PieceInfo, Service, StorageProviderAddress, + DealInfo, IndexRecord, LidError, OffsetSize, PieceInfo, Service, }; fn init_database() -> RocksDBLid { @@ -947,6 +970,7 @@ mod test { let config = RocksDBStateStoreConfig { path: tmp_dir.path().join("rocksdb"), }; + RocksDBLid::new(config).unwrap() } @@ -961,14 +985,14 @@ mod test { fn dummy_deal_info() -> DealInfo { DealInfo { deal_uuid: uuid::Uuid::new_v4(), - is_legacy: false, - chain_deal_id: 1337.into(), - storage_provider_address: "address".to_string().into(), + // is_legacy: false, + chain_deal_id: 1337, + // storage_provider_address: "address".to_string().into(), sector_number: 42.into(), piece_offset: 10, piece_length: 10, car_length: 97, - is_direct_deal: false, + // is_direct_deal: false, } } @@ -1458,288 +1482,288 @@ mod test { assert_eq!(pieces, vec![cids[0], cids[1]]); } - #[test] - fn flag_piece() { - let db = init_database(); - let cid = cids_vec()[0]; - // The address of the top storage provider at the time of writing (12/6/24) - let storage_provider_address = - StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - let key = key_flag_piece(&cid, &storage_provider_address); - - assert!(db - .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) - .unwrap() - .is_none()); - - assert!(db - .flag_piece(cid, true, storage_provider_address.clone()) - .is_ok()); - - let flagged_piece: FlaggedPiece = db - .get_value_at_key(key, PIECE_CID_TO_FLAGGED_CF) - .unwrap() - .unwrap(); - - assert_eq!(flagged_piece.piece_cid, cid); - assert_eq!( - flagged_piece.storage_provider_address, - storage_provider_address - ); - assert!(flagged_piece.has_unsealed_copy); - } - - #[test] - fn unflag_piece() { - let db = init_database(); - let cid = cids_vec()[0]; - // The address of the top storage provider at the time of writing (12/6/24) - let storage_provider_address = - StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - let key = key_flag_piece(&cid, &storage_provider_address); - - assert!(matches!( - db.unflag_piece(cid, storage_provider_address.clone()), - Ok(()) - )); - - assert!(db - .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) - .unwrap() - .is_none()); - - assert!(db - .flag_piece(cid, true, storage_provider_address.clone()) - .is_ok()); - - let flagged_piece: FlaggedPiece = db - .get_value_at_key(&key, PIECE_CID_TO_FLAGGED_CF) - .unwrap() - .unwrap(); - - assert_eq!(flagged_piece.piece_cid, cid); - assert_eq!( - flagged_piece.storage_provider_address, - storage_provider_address - ); - assert!(flagged_piece.has_unsealed_copy); - - assert!(db - .unflag_piece(cid, storage_provider_address.clone()) - .is_ok()); - - assert!(db - .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) - .unwrap() - .is_none()); - } - - #[test] - fn flagged_pieces_count() { - let db = init_database(); - let cid = cids_vec()[0]; - // The address of the top storage provider at the time of writing (12/6/24) - let storage_provider_address = - StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - - assert!(db - .flag_piece(cid, true, storage_provider_address.clone()) - .is_ok()); - - // All pieces - assert_eq!(db.flagged_pieces_count(None).unwrap(), 1); - // Should ignore empty address - assert_eq!( - db.flagged_pieces_count(Some(FlaggedPiecesListFilter { - storage_provider_address: StorageProviderAddress("".to_string()), - has_unsealed_copy: true - })) - .unwrap(), - 1 - ); - assert_eq!( - db.flagged_pieces_count(Some(FlaggedPiecesListFilter { - storage_provider_address: StorageProviderAddress("a".to_string()), - has_unsealed_copy: true - })) - .unwrap(), - 0 - ); - // Right address but the flagged piece has `has_unsealed_copy: true` - assert_eq!( - db.flagged_pieces_count(Some(FlaggedPiecesListFilter { - storage_provider_address: storage_provider_address.clone(), - has_unsealed_copy: false - })) - .unwrap(), - 0 - ); - // All filters match - assert_eq!( - db.flagged_pieces_count(Some(FlaggedPiecesListFilter { - storage_provider_address: storage_provider_address, - has_unsealed_copy: true - })) - .unwrap(), - 1 - ) - } - - #[test] - fn flagged_pieces_list() { - let db = init_database(); - let cids = cids_vec(); - // The address of the top storage provider at the time of writing (12/6/24) - let storage_provider_address = - StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - - assert!(db - .flag_piece(cids[0], true, storage_provider_address.clone()) - .is_ok()); - - // To test the cursor functionality - let after_first = chrono::Utc::now(); - - assert!(db - .flag_piece(cids[1], false, storage_provider_address.clone()) - .is_ok()); - assert!(db - .flag_piece(cids[2], true, storage_provider_address.clone()) - .is_ok()); - - assert_eq!( - db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 0, 1000) - .unwrap() - .into_iter() - .map(|fp| fp.piece_cid) - .collect::>(), - cids - ); - - assert_eq!( - db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 0, 1) - .unwrap() - .into_iter() - .map(|fp| fp.piece_cid) - .collect::>(), - cids[..1] - ); - - assert_eq!( - db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 1, 1) - .unwrap() - .into_iter() - .map(|fp| fp.piece_cid) - .collect::>(), - cids[1..2] - ); - - assert_eq!( - db.flagged_pieces_list(None, after_first, 0, 1000) - .unwrap() - .into_iter() - .map(|fp| fp.piece_cid) - .collect::>(), - cids[1..] - ); - - assert_eq!( - db.flagged_pieces_list( - Some(FlaggedPiecesListFilter { - storage_provider_address: StorageProviderAddress("".to_string()), - has_unsealed_copy: false - }), - chrono::DateTime::UNIX_EPOCH, - 1, - 1000 - ) - .unwrap() - .into_iter() - .map(|fp| fp.piece_cid) - .collect::>(), - vec![] - ); - assert_eq!( - db.flagged_pieces_list( - Some(FlaggedPiecesListFilter { - storage_provider_address: StorageProviderAddress("a".to_string()), - has_unsealed_copy: false - }), - chrono::DateTime::UNIX_EPOCH, - 0, - 1000 - ) - .unwrap() - .into_iter() - .map(|fp| fp.piece_cid) - .collect::>(), - vec![] - ); - - assert_eq!( - db.flagged_pieces_list( - Some(FlaggedPiecesListFilter { - storage_provider_address, - has_unsealed_copy: false - }), - chrono::DateTime::UNIX_EPOCH, - 0, - 1000 - ) - .unwrap() - .into_iter() - .map(|fp| fp.piece_cid) - .collect::>(), - vec![cids[1]] - ); - } - - #[test] - fn next_pieces_to_check() { - let mut db = init_database(); - let mut cids = vec![]; - let storage_provider_address = - StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - - // 1024 + 512 (a batch and a half) - for i in 0..1536u64 { - let digest = Sha256::digest(i.to_le_bytes()); - let mh = Multihash::wrap(0x12, digest.as_ref()).unwrap(); - let cid = Cid::new_v1(RAW_CODEC, mh); - cids.push(cid); - let mut piece_info = PieceInfo::default(); - piece_info.deals.push(DealInfo { - deal_uuid: uuid::Uuid::new_v4(), - is_legacy: false, - chain_deal_id: DealId(i), - storage_provider_address: storage_provider_address.clone(), - sector_number: 0.into(), - piece_offset: 0, - piece_length: 0, - car_length: 0, - is_direct_deal: false, - }); - db.set_piece_cid_to_metadata(cid, &piece_info).unwrap(); - } - // The DB does not ensure order, so we "create" one. - cids.sort(); - - let first_batch = { - let mut v = db - .next_pieces_to_check(storage_provider_address.clone()) - .unwrap(); - v.sort(); - v - }; - assert_eq!(first_batch, cids[0..1024]); - - let second_batch = { - let mut v = db - .next_pieces_to_check(storage_provider_address.clone()) - .unwrap(); - v.sort(); - v - }; - assert_eq!(second_batch, cids[1024..]); - } + // #[test] + // fn flag_piece() { + // let db = init_database(); + // let cid = cids_vec()[0]; + // // The address of the top storage provider at the time of writing (12/6/24) + // let storage_provider_address = + // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + // let key = key_flag_piece(&cid, &storage_provider_address); + + // assert!(db + // .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) + // .unwrap() + // .is_none()); + + // assert!(db + // .flag_piece(cid, true, storage_provider_address.clone()) + // .is_ok()); + + // let flagged_piece: FlaggedPiece = db + // .get_value_at_key(key, PIECE_CID_TO_FLAGGED_CF) + // .unwrap() + // .unwrap(); + + // assert_eq!(flagged_piece.piece_cid, cid); + // assert_eq!( + // flagged_piece.storage_provider_address, + // storage_provider_address + // ); + // assert!(flagged_piece.has_unsealed_copy); + // } + + // #[test] + // fn unflag_piece() { + // let db = init_database(); + // let cid = cids_vec()[0]; + // // The address of the top storage provider at the time of writing (12/6/24) + // let storage_provider_address = + // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + // let key = key_flag_piece(&cid, &storage_provider_address); + + // assert!(matches!( + // db.unflag_piece(cid, storage_provider_address.clone()), + // Ok(()) + // )); + + // assert!(db + // .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) + // .unwrap() + // .is_none()); + + // assert!(db + // .flag_piece(cid, true, storage_provider_address.clone()) + // .is_ok()); + + // let flagged_piece: FlaggedPiece = db + // .get_value_at_key(&key, PIECE_CID_TO_FLAGGED_CF) + // .unwrap() + // .unwrap(); + + // assert_eq!(flagged_piece.piece_cid, cid); + // assert_eq!( + // flagged_piece.storage_provider_address, + // storage_provider_address + // ); + // assert!(flagged_piece.has_unsealed_copy); + + // assert!(db + // .unflag_piece(cid, storage_provider_address.clone()) + // .is_ok()); + + // assert!(db + // .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) + // .unwrap() + // .is_none()); + // } + + // #[test] + // fn flagged_pieces_count() { + // let db = init_database(); + // let cid = cids_vec()[0]; + // // The address of the top storage provider at the time of writing (12/6/24) + // let storage_provider_address = + // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + + // assert!(db + // .flag_piece(cid, true, storage_provider_address.clone()) + // .is_ok()); + + // // All pieces + // assert_eq!(db.flagged_pieces_count(None).unwrap(), 1); + // // Should ignore empty address + // assert_eq!( + // db.flagged_pieces_count(Some(FlaggedPiecesListFilter { + // storage_provider_address: StorageProviderAddress("".to_string()), + // has_unsealed_copy: true + // })) + // .unwrap(), + // 1 + // ); + // assert_eq!( + // db.flagged_pieces_count(Some(FlaggedPiecesListFilter { + // storage_provider_address: StorageProviderAddress("a".to_string()), + // has_unsealed_copy: true + // })) + // .unwrap(), + // 0 + // ); + // // Right address but the flagged piece has `has_unsealed_copy: true` + // assert_eq!( + // db.flagged_pieces_count(Some(FlaggedPiecesListFilter { + // storage_provider_address: storage_provider_address.clone(), + // has_unsealed_copy: false + // })) + // .unwrap(), + // 0 + // ); + // // All filters match + // assert_eq!( + // db.flagged_pieces_count(Some(FlaggedPiecesListFilter { + // storage_provider_address: storage_provider_address, + // has_unsealed_copy: true + // })) + // .unwrap(), + // 1 + // ) + // } + + // #[test] + // fn flagged_pieces_list() { + // let db = init_database(); + // let cids = cids_vec(); + // // The address of the top storage provider at the time of writing (12/6/24) + // let storage_provider_address = + // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + + // assert!(db + // .flag_piece(cids[0], true, storage_provider_address.clone()) + // .is_ok()); + + // // To test the cursor functionality + // let after_first = chrono::Utc::now(); + + // assert!(db + // .flag_piece(cids[1], false, storage_provider_address.clone()) + // .is_ok()); + // assert!(db + // .flag_piece(cids[2], true, storage_provider_address.clone()) + // .is_ok()); + + // assert_eq!( + // db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 0, 1000) + // .unwrap() + // .into_iter() + // .map(|fp| fp.piece_cid) + // .collect::>(), + // cids + // ); + + // assert_eq!( + // db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 0, 1) + // .unwrap() + // .into_iter() + // .map(|fp| fp.piece_cid) + // .collect::>(), + // cids[..1] + // ); + + // assert_eq!( + // db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 1, 1) + // .unwrap() + // .into_iter() + // .map(|fp| fp.piece_cid) + // .collect::>(), + // cids[1..2] + // ); + + // assert_eq!( + // db.flagged_pieces_list(None, after_first, 0, 1000) + // .unwrap() + // .into_iter() + // .map(|fp| fp.piece_cid) + // .collect::>(), + // cids[1..] + // ); + + // assert_eq!( + // db.flagged_pieces_list( + // Some(FlaggedPiecesListFilter { + // storage_provider_address: StorageProviderAddress("".to_string()), + // has_unsealed_copy: false + // }), + // chrono::DateTime::UNIX_EPOCH, + // 1, + // 1000 + // ) + // .unwrap() + // .into_iter() + // .map(|fp| fp.piece_cid) + // .collect::>(), + // vec![] + // ); + // assert_eq!( + // db.flagged_pieces_list( + // Some(FlaggedPiecesListFilter { + // storage_provider_address: StorageProviderAddress("a".to_string()), + // has_unsealed_copy: false + // }), + // chrono::DateTime::UNIX_EPOCH, + // 0, + // 1000 + // ) + // .unwrap() + // .into_iter() + // .map(|fp| fp.piece_cid) + // .collect::>(), + // vec![] + // ); + + // assert_eq!( + // db.flagged_pieces_list( + // Some(FlaggedPiecesListFilter { + // storage_provider_address, + // has_unsealed_copy: false + // }), + // chrono::DateTime::UNIX_EPOCH, + // 0, + // 1000 + // ) + // .unwrap() + // .into_iter() + // .map(|fp| fp.piece_cid) + // .collect::>(), + // vec![cids[1]] + // ); + // } + + // #[test] + // fn next_pieces_to_check() { + // let mut db = init_database(); + // let mut cids = vec![]; + // let storage_provider_address = + // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + + // // 1024 + 512 (a batch and a half) + // for i in 0..1536u64 { + // let digest = Sha256::digest(i.to_le_bytes()); + // let mh = Multihash::wrap(0x12, digest.as_ref()).unwrap(); + // let cid = Cid::new_v1(RAW_CODEC, mh); + // cids.push(cid); + // let mut piece_info = PieceInfo::default(); + // piece_info.deals.push(DealInfo { + // deal_uuid: uuid::Uuid::new_v4(), + // is_legacy: false, + // chain_deal_id: i, + // // storage_provider_address: storage_provider_address.clone(), + // sector_number: 0.into(), + // piece_offset: 0, + // piece_length: 0, + // car_length: 0, + // // is_direct_deal: false, + // }); + // db.set_piece_cid_to_metadata(cid, &piece_info).unwrap(); + // } + // // The DB does not ensure order, so we "create" one. + // cids.sort(); + + // let first_batch = { + // let mut v = db + // .next_pieces_to_check(storage_provider_address.clone()) + // .unwrap(); + // v.sort(); + // v + // }; + // assert_eq!(first_batch, cids[0..1024]); + + // let second_batch = { + // let mut v = db + // .next_pieces_to_check(storage_provider_address.clone()) + // .unwrap(); + // v.sort(); + // v + // }; + // assert_eq!(second_batch, cids[1024..]); + // } } diff --git a/storage-provider/server/src/local_index_directory/rdb_ext.rs b/storage-provider/server/src/indexer/local_index_directory/rdb_ext.rs similarity index 100% rename from storage-provider/server/src/local_index_directory/rdb_ext.rs rename to storage-provider/server/src/indexer/local_index_directory/rdb_ext.rs diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs new file mode 100644 index 000000000..5ef2f5809 --- /dev/null +++ b/storage-provider/server/src/indexer/mod.rs @@ -0,0 +1,150 @@ +use std::{path::Path, sync::Arc}; + +use async_stream::try_stream; +use futures::{pin_mut, Stream, StreamExt}; +use local_index_directory::{IndexRecord, OffsetSize, Service}; +use mater::{BlockMetadata, CarV2Reader}; +use polka_storage_provider_common::sector::ProvenSector; +use tokio::{fs::File, io::AsyncSeekExt, sync::mpsc::UnboundedReceiver, task::spawn_blocking}; +use tokio_util::{sync::CancellationToken, task::TaskTracker}; +use tracing::{debug, error, info, instrument}; + +use crate::ServerError; + +pub mod local_index_directory; + +#[derive(Debug, Clone)] +pub enum IndexMessage { + /// Start indexing the sector + IndexSector(ProvenSector), +} + +#[derive(Clone)] +pub struct IndexerState { + pub lid: Arc, +} + +pub async fn start_indexer( + state: IndexerState, + mut indexer_rx: UnboundedReceiver, + token: CancellationToken, +) -> Result<(), ServerError> +where + D: Service + Send + Sync + 'static, +{ + let tracker = TaskTracker::new(); + + loop { + tokio::select! { + _ = token.cancelled() => break, + Some(command) = indexer_rx.recv() => { + on_command(command, Arc::clone(&state.lid), &tracker); + }, + } + } + + // Wait for tasks that are still executing. + tracker.close(); + tracker.wait().await; + info!("IndexWorker has stopped"); + + Ok(()) +} + +fn on_command(command: IndexMessage, db: Arc, tracker: &TaskTracker) +where + D: Service + Send + Sync + 'static, +{ + debug!("Command received: {command:?}"); + + match command { + IndexMessage::IndexSector(sector) => { + tracker.spawn(on_index_sector(db, sector)); + } + } +} + +#[instrument(skip_all, fields(sector = %sector.sector_number))] +async fn on_index_sector(db: Arc, sector: ProvenSector) -> Result<(), ServerError> +where + D: Service + Send + Sync + 'static, +{ + for (commitment, location) in sector.pieces_locations { + let piece_cid = commitment.cid(); + info!(%piece_cid, "indexing piece"); + + let records = piece_indexes(&location).await?; + // Move adding the index to the blocking pool. The RocksDB API is sync. + match spawn_blocking({ + let db = Arc::clone(&db); + move || db.add_index(piece_cid, records, true) + }) + .await + { + Ok(Ok(_)) => { + info!(%piece_cid, "indexing completed"); + } + Ok(Err(err)) => { + error!(?err, "piece indexing failed with an error"); + } + Err(err) => { + error!(?err, "piece indexing panicked"); + } + }; + } + + Ok(()) +} + +/// Prepares indexes of a raw piece. +async fn piece_indexes

(location: P) -> Result, ServerError> +where + P: AsRef, +{ + let blocks = stream_blocks_metadata(&location).await?; + pin_mut!(blocks); + + let mut records = vec![]; + if let Some(metadata) = blocks.next().await { + let metadata = metadata?; + + records.push(IndexRecord { + cid: metadata.cid, + offset_size: OffsetSize { + offset: metadata.data_offset_source, + size: metadata.data_size, + }, + }); + } + + Ok(records) +} + +/// Stream blocks metadata from car file until completion. +async fn stream_blocks_metadata

( + location: P, +) -> Result>, ServerError> +where + P: AsRef, +{ + let raw_piece = File::open(&location).await?; + let mut reader = CarV2Reader::new(raw_piece); + reader.read_pragma().await.unwrap(); + let header = reader.read_header().await?; + let _v1_header = reader.read_v1_header().await?; + + Ok(try_stream! { + loop { + let metadata = reader.read_block_metadata().await?; + let position = reader.get_inner_mut().stream_position().await?; + let data_end = header.data_offset + header.data_size; + + yield metadata; + + // This is the last block + if position >= data_end { + break; + } + } + }) +} diff --git a/storage-provider/server/src/main.rs b/storage-provider/server/src/main.rs index 42563b5ff..c195d7ae0 100644 --- a/storage-provider/server/src/main.rs +++ b/storage-provider/server/src/main.rs @@ -4,7 +4,7 @@ mod config; mod db; -mod local_index_directory; +mod indexer; mod p2p; mod pipeline; mod retrieval; @@ -14,8 +14,11 @@ mod storage; use std::{env::temp_dir, net::SocketAddr, ops::Deref, path::PathBuf, sync::Arc, time::Duration}; use clap::Parser; +use indexer::{ + local_index_directory::rdb::{RocksDBLid, RocksDBStateStoreConfig}, + start_indexer, IndexMessage, IndexerState, +}; use libp2p::{identity::Keypair, Multiaddr, PeerId}; -use local_index_directory::rdb::{RocksDBLid, RocksDBStateStoreConfig}; use p2p::{ run_bootstrap_node, run_register_node, BootstrapConfig, NodeType, P2PError, P2PState, RegisterConfig, @@ -50,7 +53,6 @@ use url::Url; use crate::{ config::ConfigurationArgs, db::{DBError, DealDB}, - local_index_directory::rdb::{RocksDBLid, RocksDBStateStoreConfig}, pipeline::{start_pipeline, PipelineState}, rpc::{start_rpc_server, RpcServerState}, storage::{start_upload_server, StorageServerState}, @@ -96,6 +98,8 @@ struct SetupOutput { pipeline_state: PipelineState, pipeline_rx: UnboundedReceiver, p2p_state: P2PState, + indexer_state: IndexerState, + indexer_rx: UnboundedReceiver, retrieval_config: RetrievalServerConfig, } @@ -190,7 +194,7 @@ pub enum ServerError { RetrievalServer(#[from] polka_storage_retrieval::server::ServerError), #[error(transparent)] - Lid(#[from] crate::local_index_directory::LidError), + Lid(#[from] crate::indexer::local_index_directory::LidError), } /// Takes an expression that returns a `Result, E1>`. @@ -389,6 +393,8 @@ impl Server { pipeline_rx, p2p_state, retrieval_config, + indexer_state, + indexer_rx, } = self.setup().await?; let cancellation_token = CancellationToken::new(); @@ -407,11 +413,15 @@ impl Server { pipeline_rx, cancellation_token.child_token(), )); - let retrieval_task = tokio::spawn(start_retrieval( retrieval_config, cancellation_token.child_token(), )); + let indexer_task = tokio::spawn(start_indexer( + indexer_state, + indexer_rx, + cancellation_token.child_token(), + )); // Wait for SIGTERM on the main thread and once received "unblock" tokio::signal::ctrl_c() @@ -423,23 +433,31 @@ impl Server { tracing::info!("sent shutdown signal"); // Wait for the tasks to finish - let (upload_result, rpc_task, pipeline_task, p2p_task, retrieval_task) = tokio::join!( + let (upload_result, rpc_task, pipeline_task, p2p_task, indexer_task, retrieval_task) = tokio::join!( storage_task, rpc_task, pipeline_task, p2p_task, + indexer_task, retrieval_task ); // Inspect and log errors - let (upload_result, rpc_task, pipeline_task, p2p_task) = - inspect_and_log_nested_errors!(upload_result, rpc_task, pipeline_task, p2p_task); + let (upload_result, rpc_task, pipeline_task, p2p_task, indexer_task, retrieval_task) = inspect_and_log_nested_errors!( + upload_result, + rpc_task, + pipeline_task, + p2p_task, + indexer_task, + retrieval_task + ); // Exit with error upload_result??; rpc_task??; pipeline_task??; p2p_task??; + indexer_task??; retrieval_task??; Ok(()) @@ -471,8 +489,10 @@ impl Server { tokio::fs::create_dir_all(sealing_cache_dir.as_ref()).await?; tokio::fs::create_dir_all(index_dir.as_ref()).await?; - // Indexer used by the system - let indexer = Arc::new(RocksDBLid::new(RocksDBStateStoreConfig { + // Channel used to action the indexer + let (indexer_tx, indexer_rx) = tokio::sync::mpsc::unbounded_channel::(); + // Indexer underlying database + let lid = Arc::new(RocksDBLid::new(RocksDBStateStoreConfig { path: index_dir.deref().clone(), })?); @@ -516,6 +536,7 @@ impl Server { xt_keypair: self.multi_pair_signer, pipeline_sender: pipeline_tx, prove_commit_throttle: Arc::new(Semaphore::new(self.parallel_prove_commits)), + indexer_tx, }; let p2p_state = P2PState { @@ -526,11 +547,14 @@ impl Server { registration_ttl: self.registration_ttl, }; - let unsealed_sectors_dir = unsealed_sector_storage_dir.deref().clone(); + let indexer_state = IndexerState { + lid: Arc::clone(&lid), + }; + let raw_pieces_dir = car_piece_storage_dir.deref().clone(); let retrieval_config = RetrievalServerConfig { listen_address: self.retrieval_listen_address, - unsealed_sectors_dir, - indexer, + raw_pieces_dir, + indexer: Arc::clone(&lid), }; Ok(SetupOutput { @@ -540,6 +564,8 @@ impl Server { pipeline_rx, p2p_state, retrieval_config, + indexer_state, + indexer_rx, }) } diff --git a/storage-provider/server/src/pipeline/mod.rs b/storage-provider/server/src/pipeline/mod.rs index 9e2609efd..39e93febe 100644 --- a/storage-provider/server/src/pipeline/mod.rs +++ b/storage-provider/server/src/pipeline/mod.rs @@ -9,7 +9,7 @@ use polka_storage_proofs::{ use polka_storage_provider_common::{ deadline::Deadline, rpc::ServerInfo, - sector::{PreCommittedSector, SectorError, UnsealedSector}, + sector::{PreCommittedSector, ProvenSector, SectorError, UnsealedSector}, }; use primitives::{ commitment::{CommP, Commitment}, @@ -21,12 +21,16 @@ use tokio::sync::{ Semaphore, }; use tokio_util::{sync::CancellationToken, task::TaskTracker}; +use tracing::error; use types::{ AddPieceMessage, PipelineMessage, PreCommitMessage, ProveCommitMessage, SubmitWindowedPoStMessage, }; -use crate::db::{DBError, DealDB}; +use crate::{ + db::{DBError, DealDB}, + indexer::IndexMessage, +}; #[derive(Debug, thiserror::Error)] pub enum PipelineError { @@ -63,6 +67,8 @@ pub struct PipelineState { pub xt_keypair: storagext::multipair::MultiPairSigner, pub pipeline_sender: UnboundedSender, pub prove_commit_throttle: Arc, + + pub indexer_tx: UnboundedSender, } #[tracing::instrument(skip_all)] @@ -169,14 +175,21 @@ impl PipelineOperations for TaskTracker { msg: ProveCommitMessage, token: CancellationToken, ) { + let indexer_tx = state.indexer_tx.clone(); + let ProveCommitMessage { sector_number } = msg; self.spawn(async move { match prove_commit(state, sector_number, token).await { - Ok(_) => { + Ok(sector) => { tracing::info!( "ProveCommit for sector {} finished successfully.", sector_number - ) + ); + + // Start indexing the sector + if let Err(err) = indexer_tx.send(IndexMessage::IndexSector(sector)) { + error!(?err, "error occurred while messaging the indexer"); + } } Err(err) => { tracing::error!(%err, "Failed ProveCommit for Sector: {}", sector_number) @@ -343,7 +356,7 @@ async fn prove_commit( state: Arc, sector_number: SectorNumber, token: CancellationToken, -) -> Result<(), PipelineError> { +) -> Result { tracing::info!("Starting prove commit"); let Some(sector) = state.db.get_sector::(sector_number)? else { tracing::error!("Tried to precommit non-existing sector"); @@ -362,7 +375,7 @@ async fn prove_commit( state.db.save_sector(sector.sector_number, §or)?; - Ok(()) + Ok(sector) } #[tracing::instrument(skip(state))] diff --git a/storage-provider/server/src/retrieval/blockstore.rs b/storage-provider/server/src/retrieval/blockstore.rs index 0337e9983..75662efb5 100644 --- a/storage-provider/server/src/retrieval/blockstore.rs +++ b/storage-provider/server/src/retrieval/blockstore.rs @@ -1,36 +1,92 @@ -use std::{path::Path, sync::Arc}; +use std::{io::SeekFrom, path::PathBuf, sync::Arc}; -use blockstore::Error; +use blockstore::{block::CidError, Error}; +use cid::{Cid, CidGeneric}; +use mater::CidExt; +use tokio::{ + fs::File, + io::{AsyncReadExt, AsyncSeekExt}, +}; -use crate::local_index_directory::Service; +use crate::indexer::local_index_directory::Service; -/// The blockstore that reads blocks directly from unsealed sectors +/// The blockstore that reads blocks directly from the raw pieces pub struct ProviderBlockstore { indexer: Arc, + raw_pieces_dir: PathBuf, } impl ProviderBlockstore { - pub fn new

(unsealed_sectors_path: P, indexer: Arc) -> Self + pub fn new

(raw_pieces_dir: P, indexer: Arc) -> Self where I: Service, - P: AsRef, + P: Into, { - Self { indexer } + Self { + indexer, + raw_pieces_dir: raw_pieces_dir.into(), + } } } impl blockstore::Blockstore for ProviderBlockstore where - I: Send + Sync + 'static, + I: Service + Send + Sync + 'static, { async fn get( &self, - _cid: &cid::CidGeneric, + cid: &cid::CidGeneric, ) -> blockstore::Result>> { - // TODO: Find the sector that holds the requested cid - // TODO: open a file handler to the sector file. - // TODO: Read the blocks from the sector - todo!() + // If CID is an identity + if let Some(data) = cid.get_identity_data() { + return Ok(Some(data.to_owned())); + } + + let cid = to_blockstore_cid(cid)?; + + // Pieces containing the cid. + let Ok(pieces) = self.indexer.pieces_containing_multihash(*cid.hash()) else { + return Ok(None); + }; + + // We take the first piece that contains the multihash + let Some(piece_cid) = pieces.first() else { + return Ok(None); + }; + + // Get the offset of the block within the piece (CAR file) + let block = self + .indexer + .get_offset_size(*piece_cid, *cid.hash()) + .map_err(|err| blockstore::Error::StoredDataError(err.to_string()))?; + + // Open the raw piece and read the block + let raw_pieces_dir = self + .raw_pieces_dir + .join(piece_cid.to_string()) + .with_extension("car"); + let mut raw_piece = File::open(&raw_pieces_dir).await.map_err(|_| { + blockstore::Error::StoredDataError(format!("piece {:?} not found", raw_pieces_dir)) + })?; + raw_piece + .seek(SeekFrom::Start(block.offset)) + .await + .map_err(|_| { + blockstore::Error::StoredDataError( + "error occurred while seeking the raw piece".into(), + ) + })?; + + // Read block data + let mut buffer = vec![0; block.size as usize]; + raw_piece.read_exact(&mut buffer).await.map_err(|err| { + blockstore::Error::StoredDataError(format!( + "error occurred while reading the raw piece: {}", + err.to_string() + )) + })?; + + Ok(Some(buffer)) } async fn put_keyed( @@ -53,3 +109,15 @@ where Ok(()) } } + +/// Convert CID with the generic Multihash size to the CID with the specific +/// Multihash size that the underlying blockstore expects. +fn to_blockstore_cid(cid: &CidGeneric) -> Result { + let digest_size = cid.hash().size() as usize; + let hash = cid + .hash() + .resize::<64>() + .map_err(|_| Error::CidError(CidError::InvalidMultihashLength(digest_size)))?; + + Ok(Cid::new(cid.version(), cid.codec(), hash).expect("we know cid is correct here")) +} diff --git a/storage-provider/server/src/retrieval/mod.rs b/storage-provider/server/src/retrieval/mod.rs index 650994885..20032e08c 100644 --- a/storage-provider/server/src/retrieval/mod.rs +++ b/storage-provider/server/src/retrieval/mod.rs @@ -5,13 +5,13 @@ use libp2p::Multiaddr; use polka_storage_retrieval::Server; use tokio_util::sync::CancellationToken; -use crate::{local_index_directory::Service, ServerError}; +use crate::{indexer::local_index_directory::Service, ServerError}; mod blockstore; pub struct RetrievalServerConfig { pub listen_address: Multiaddr, - pub unsealed_sectors_dir: PathBuf, + pub raw_pieces_dir: PathBuf, pub indexer: Arc, } @@ -25,7 +25,7 @@ where { // Blockstore used by the retrieval server provider let blockstore = Arc::new(ProviderBlockstore::new( - config.unsealed_sectors_dir, + config.raw_pieces_dir, config.indexer, )); diff --git a/storage-provider/server/src/rpc.rs b/storage-provider/server/src/rpc.rs index ffbb1cd87..b5e8e9469 100644 --- a/storage-provider/server/src/rpc.rs +++ b/storage-provider/server/src/rpc.rs @@ -207,7 +207,7 @@ impl StorageProviderRpcServer for RpcServerState { .send(PipelineMessage::AddPiece(AddPieceMessage { deal: deal_proposal, published_deal_id: deal_id, - piece_path, + piece_path: piece_path.clone(), commitment, })) .map_err(|e| RpcError::internal_error(e, None))?; From b1e4670f03e49cf7780e2f96e649f672ea28c0bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 3 Feb 2025 11:16:33 +0100 Subject: [PATCH 09/33] small fixes --- storage-provider/server/src/config.rs | 3 ++- storage-provider/server/src/indexer/mod.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/storage-provider/server/src/config.rs b/storage-provider/server/src/config.rs index 02d2dd308..d8f4658e3 100644 --- a/storage-provider/server/src/config.rs +++ b/storage-provider/server/src/config.rs @@ -43,7 +43,8 @@ fn default_node_address() -> Url { } fn default_retrieval_address() -> Multiaddr { - format!("/ip4/127.0.0.1/tcp/8002") + "/ip4/127.0.0.1/tcp/8002" + .to_string() .parse() .expect("multiaddres is correct") } diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index 5ef2f5809..71dc8dbde 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -45,6 +45,7 @@ where // Wait for tasks that are still executing. tracker.close(); + info!("Waiting for IndexWorker to finish"); tracker.wait().await; info!("IndexWorker has stopped"); @@ -129,7 +130,7 @@ where { let raw_piece = File::open(&location).await?; let mut reader = CarV2Reader::new(raw_piece); - reader.read_pragma().await.unwrap(); + reader.read_pragma().await?; let header = reader.read_header().await?; let _v1_header = reader.read_v1_header().await?; From 034e0ff6e8f2d2bf221d9c5225254b7f3cb84cc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 3 Feb 2025 11:39:43 +0100 Subject: [PATCH 10/33] uncomment --- .../src/indexer/local_index_directory/mod.rs | 257 ++-- .../src/indexer/local_index_directory/rdb.rs | 1077 +++++++++-------- 2 files changed, 670 insertions(+), 664 deletions(-) diff --git a/storage-provider/server/src/indexer/local_index_directory/mod.rs b/storage-provider/server/src/indexer/local_index_directory/mod.rs index 40eb8dc77..236ea65f3 100644 --- a/storage-provider/server/src/indexer/local_index_directory/mod.rs +++ b/storage-provider/server/src/indexer/local_index_directory/mod.rs @@ -1,7 +1,7 @@ // TODO(@cernicc,23/01/2025): Remove this after the index is integrated #![allow(dead_code)] -use std::string; +use std::{ops::Deref, string}; use base64::Engine; use cid::{ @@ -69,40 +69,40 @@ pub enum LidError { Base64DecodeError(#[from] base64::DecodeError), } -// /// A [`FlaggedPiece`] is a piece that has been flagged for the user's attention -// /// (e.g. the index is missing). -// /// -// /// Source: -// #[derive(Debug, Serialize, Deserialize)] -// pub struct FlaggedPiece { -// pub piece_cid: Cid, -// pub storage_provider_address: StorageProviderAddress, -// pub created_at: chrono::DateTime, -// pub updated_at: chrono::DateTime, -// pub has_unsealed_copy: bool, -// } - -// impl FlaggedPiece { -// /// Construct a new [`FlaggedPiece`]. -// /// -// /// * `created_at` and `updated_at` will be set to `now`. -// /// * `has_unsealed_copy` will be set to `false`. -// pub fn new(piece_cid: Cid, storage_provider_address: StorageProviderAddress) -> Self { -// let now = chrono::Utc::now(); -// Self { -// piece_cid, -// storage_provider_address, -// created_at: now, -// updated_at: now, -// has_unsealed_copy: false, -// } -// } -// } - -// pub struct FlaggedPiecesListFilter { -// pub storage_provider_address: StorageProviderAddress, -// pub has_unsealed_copy: bool, -// } +/// A [`FlaggedPiece`] is a piece that has been flagged for the user's attention +/// (e.g. the index is missing). +/// +/// Source: +#[derive(Debug, Serialize, Deserialize)] +pub struct FlaggedPiece { + pub piece_cid: Cid, + pub storage_provider_address: StorageProviderAddress, + pub created_at: chrono::DateTime, + pub updated_at: chrono::DateTime, + pub has_unsealed_copy: bool, +} + +impl FlaggedPiece { + /// Construct a new [`FlaggedPiece`]. + /// + /// * `created_at` and `updated_at` will be set to `now`. + /// * `has_unsealed_copy` will be set to `false`. + pub fn new(piece_cid: Cid, storage_provider_address: StorageProviderAddress) -> Self { + let now = chrono::Utc::now(); + Self { + piece_cid, + storage_provider_address, + created_at: now, + updated_at: now, + has_unsealed_copy: false, + } + } +} + +pub struct FlaggedPiecesListFilter { + pub storage_provider_address: StorageProviderAddress, + pub has_unsealed_copy: bool, +} // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/model/model.go#L50-L62 @@ -183,30 +183,30 @@ impl Default for PieceInfo { } } -// // TODO(@jmg-duarte,14/06/2024): validate miner address - -// /// The storage provider address. -// /// -// /// It is a special type from `filecoin-project/go-address` -// /// however, it's simply a wrapper to `string`: -// /// https://github.com/filecoin-project/go-address/blob/365a7c8d0e85c731c192e65ece5f5b764026e85d/address.go#L39-L40 -// #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] -// pub struct StorageProviderAddress(String); +// TODO(@jmg-duarte,14/06/2024): validate miner address -// // The Deref implementation eases usages like checking whether the address is empty. -// impl Deref for StorageProviderAddress { -// type Target = String; - -// fn deref(&self) -> &Self::Target { -// &self.0 -// } -// } +/// The storage provider address. +/// +/// It is a special type from `filecoin-project/go-address` +/// however, it's simply a wrapper to `string`: +/// https://github.com/filecoin-project/go-address/blob/365a7c8d0e85c731c192e65ece5f5b764026e85d/address.go#L39-L40 +#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +pub struct StorageProviderAddress(String); + +// The Deref implementation eases usages like checking whether the address is empty. +impl Deref for StorageProviderAddress { + type Target = String; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} -// impl From for StorageProviderAddress { -// fn from(value: String) -> Self { -// Self(value) -// } -// } +impl From for StorageProviderAddress { + fn from(value: String) -> Self { + Self(value) + } +} /// Information about a single *storage* deal for a given piece. /// @@ -225,25 +225,27 @@ pub struct DealInfo { #[serde(rename = "u")] pub deal_uuid: Uuid, - // // NOTE(@jmg-duarte,17/06/2024): this will probably not be needed - // /// Wether this deal was performed using `go-fil-markets`. - // /// - // /// See the following links for more information: - // /// * - // /// * - // #[serde(rename = "y")] - // pub is_legacy: bool, + // NOTE(@jmg-duarte,17/06/2024): this will probably not be needed + /// Wether this deal was performed using `go-fil-markets`. + /// + /// See the following links for more information: + /// * + /// * + #[serde(rename = "y")] + pub is_legacy: bool, + /// Identifier for a deal on the chain. /// /// See [`DealId`] for more information. #[serde(rename = "i")] pub chain_deal_id: DealId, - // /// The storage provider's address. - // /// - // /// See [`StorageProviderAddress`] for more information. - // #[serde(rename = "m")] - // pub storage_provider_address: StorageProviderAddress, + /// The storage provider's address. + /// + /// See [`StorageProviderAddress`] for more information. + #[serde(rename = "m")] + pub storage_provider_address: StorageProviderAddress, + /// The sector number where the piece is stored in. /// /// See [`SectorNumber`] for more information. @@ -267,15 +269,16 @@ pub struct DealInfo { /// The length of the piece's CAR file. #[serde(rename = "c")] pub car_length: u64, - // /// Wether this deal is a [direct deal][1]. - // /// - // /// A direct deal is usually made for data larger than 4Gb as it will contain a single piece, - // /// a non-direct deal is an [aggregated deal][2], which is aggregated from small scale data (< 4Gb). - // /// - // /// [1]: https://docs.filecoin.io/smart-contracts/programmatic-storage/direct-deal-making - // /// [2]: https://docs.filecoin.io/smart-contracts/programmatic-storage/aggregated-deal-making - // #[serde(rename = "d")] - // pub is_direct_deal: bool, + + /// Wether this deal is a [direct deal][1]. + /// + /// A direct deal is usually made for data larger than 4Gb as it will contain a single piece, + /// a non-direct deal is an [aggregated deal][2], which is aggregated from small scale data (< 4Gb). + /// + /// [1]: https://docs.filecoin.io/smart-contracts/programmatic-storage/direct-deal-making + /// [2]: https://docs.filecoin.io/smart-contracts/programmatic-storage/aggregated-deal-making + #[serde(rename = "d")] + pub is_direct_deal: bool, } pub trait Service { @@ -379,52 +382,52 @@ pub trait Service { /// that cannot be found, returns [`LidError::MultihashNotFound`]. fn remove_indexes(&self, piece_cid: Cid) -> Result<(), LidError>; - // /// Flag the piece with the given [`Cid`]. - // /// - // /// * If the piece & storage provider address pair is not found, a new entry will be stored. - // fn flag_piece( - // &self, - // piece_cid: Cid, - // has_unsealed_copy: bool, - // storage_provider_address: StorageProviderAddress, - // ) -> Result<(), LidError>; - - // /// Unflag the piece with the given [`Cid`]. - // /// - // /// * If the piece & storage provider address pair is not found, this is a no-op. - // fn unflag_piece( - // &self, - // piece_cid: Cid, - // storage_provider_address: StorageProviderAddress, - // ) -> Result<(), LidError>; - - // /// List the flagged pieces matching the filter. - // /// - // /// * If the filter is `None`, then all flagged pieces will be matched. - // /// * If no pieces are found, returns an empty [`Vec`]. - // /// * Pieces flagged before `cursor` will be filtered out. - // /// * Pieces are sorted according to when they were first flagged — see [`FlaggedPiece::created_at`]. - // /// * Offset and limit are applied _after_ sorting the pieces. - // fn flagged_pieces_list( - // &self, - // filter: Option, - // cursor: chrono::DateTime, // this name doesn't make much sense but it's the original one, - // offset: usize, - // limit: usize, - // ) -> Result, LidError>; - - // /// Count all pieces that match the given filter. - // /// - // /// * If the filter is `None`, then all flagged pieces will be counted. - // /// * If no pieces are found, returns `0`. - // fn flagged_pieces_count( - // &self, - // filter: Option, - // ) -> Result; - - // /// Returns the [`Cid`]s of the next pieces to be checked for a given storage provider. - // fn next_pieces_to_check( - // &mut self, - // storage_provider_address: StorageProviderAddress, - // ) -> Result, LidError>; + /// Flag the piece with the given [`Cid`]. + /// + /// * If the piece & storage provider address pair is not found, a new entry will be stored. + fn flag_piece( + &self, + piece_cid: Cid, + has_unsealed_copy: bool, + storage_provider_address: StorageProviderAddress, + ) -> Result<(), LidError>; + + /// Unflag the piece with the given [`Cid`]. + /// + /// * If the piece & storage provider address pair is not found, this is a no-op. + fn unflag_piece( + &self, + piece_cid: Cid, + storage_provider_address: StorageProviderAddress, + ) -> Result<(), LidError>; + + /// List the flagged pieces matching the filter. + /// + /// * If the filter is `None`, then all flagged pieces will be matched. + /// * If no pieces are found, returns an empty [`Vec`]. + /// * Pieces flagged before `cursor` will be filtered out. + /// * Pieces are sorted according to when they were first flagged — see [`FlaggedPiece::created_at`]. + /// * Offset and limit are applied _after_ sorting the pieces. + fn flagged_pieces_list( + &self, + filter: Option, + cursor: chrono::DateTime, // this name doesn't make much sense but it's the original one, + offset: usize, + limit: usize, + ) -> Result, LidError>; + + /// Count all pieces that match the given filter. + /// + /// * If the filter is `None`, then all flagged pieces will be counted. + /// * If no pieces are found, returns `0`. + fn flagged_pieces_count( + &self, + filter: Option, + ) -> Result; + + /// Returns the [`Cid`]s of the next pieces to be checked for a given storage provider. + fn next_pieces_to_check( + &mut self, + storage_provider_address: StorageProviderAddress, + ) -> Result, LidError>; } diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs index 0f1d766c4..a1fc25610 100644 --- a/storage-provider/server/src/indexer/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -1,5 +1,5 @@ // The name of this file is `rdb.rs` to avoid clashing with the `rocksdb` import. -use std::{collections::HashMap, path::PathBuf, time::Duration}; +use std::{collections::HashMap, path::PathBuf, str::FromStr, time::Duration}; use base64::Engine; use cid::{multihash::Multihash, Cid}; @@ -12,8 +12,9 @@ use serde::{de::DeserializeOwned, Serialize}; use uuid::Uuid; use super::{ - multihash_base64, rdb_ext::WriteBatchWithTransactionExt, DealInfo, IndexRecord, LidError, - OffsetSize, PieceInfo, Service, + multihash_base64, rdb_ext::WriteBatchWithTransactionExt, DealInfo, FlaggedPiece, + FlaggedPiecesListFilter, IndexRecord, LidError, OffsetSize, PieceInfo, Service, + StorageProviderAddress, }; const RAW_CODEC: u64 = 0x55; @@ -78,9 +79,9 @@ fn key_cursor_prefix(cursor: u64) -> String { } /// Returns a key for flagging a piece, like `//

`. -// fn key_flag_piece(cid: &Cid, address: &StorageProviderAddress) -> String { -// format!("/{}/{}", cid, address.0) -// } +fn key_flag_piece(cid: &Cid, address: &StorageProviderAddress) -> String { + format!("/{}/{}", cid, address.0) +} pub struct RocksDBStateStoreConfig { pub path: PathBuf, @@ -705,264 +706,266 @@ impl Service for RocksDBLid { self.remove_indexes_with_cursor(piece_cid, metadata.cursor) } - // /// For a detailed description, see [`Service::flag_piece`]. - // /// - // /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. - // /// - // /// Sources: - // /// * - // /// * - // fn flag_piece( - // &self, - // piece_cid: Cid, - // has_unsealed_copy: bool, - // storage_provider_address: StorageProviderAddress, - // ) -> Result<(), LidError> { - // let key = key_flag_piece(&piece_cid, &storage_provider_address); - // let mut metadata = self - // .get_value_at_key(&key, PIECE_CID_TO_FLAGGED_CF)? - // .unwrap_or_else(|| FlaggedPiece::new(piece_cid, storage_provider_address)); - - // metadata.updated_at = chrono::Utc::now(); - // metadata.has_unsealed_copy = has_unsealed_copy; - - // self.put_value_at_key(key, &metadata, PIECE_CID_TO_FLAGGED_CF) - // } - - // /// For a detailed description, see [`Service::unflag_piece`]. - // /// - // /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. - // /// - // /// Sources: - // /// * - // /// * - // fn unflag_piece( - // &self, - // piece_cid: Cid, - // storage_provider_address: StorageProviderAddress, - // ) -> Result<(), LidError> { - // let key = key_flag_piece(&piece_cid, &storage_provider_address); - // self.remove_value_at_key(key, PIECE_CID_TO_FLAGGED_CF) - // } - - // /// For a detailed description, see [`Service::flagged_pieces_list`]. - // /// - // /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. - // /// - // /// Sources: - // /// * - // /// * - // fn flagged_pieces_list( - // &self, - // filter: Option, - // cursor: chrono::DateTime, - // offset: usize, - // limit: usize, - // ) -> Result, LidError> { - // let iterator = self - // .database - // .iterator_cf(self.cf_handle(PIECE_CID_TO_FLAGGED_CF), IteratorMode::Start); - - // let mut flagged_pieces = vec![]; - // for line in iterator { - // let (key, value) = line?; - - // // This one should never happen but who knows? - // let key = String::from_utf8(key.to_vec())?; - // // The key starts with a "/", skip it - // let mut split = key.split('/').skip(1); - - // // Using let/else instead of .ok_or/.ok_or_else avoids using .clone - // let Some(piece_cid) = split.next() else { - // return Err(LidError::InvalidFlaggedPieceKeyError(key)); - // }; - // // They don't actually check that the full key is well formed, they just check if it isn't ill-formed - // // by checking if the length after splitting is != 0 and that the CID is valid - // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L740-L748 - - // let piece_cid = Cid::from_str(piece_cid)?; - // let flagged_metadata = match ciborium::from_reader::(value.as_ref()) { - // Ok(value) => Ok(value), - // Err(err) => Err(LidError::Deserialization(err.to_string())), - // }?; - - // if let Some(filter) = &filter { - // // NOTE(@jmg-duarte,05/06/2024): The check order is not arbitrary, - // // it's the same as the order in boostd-data, maybe it has a reason, - // // maybe it doesn't, keeping it the same for now... - // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L756-L766 - // if filter.has_unsealed_copy != flagged_metadata.has_unsealed_copy { - // continue; - // } - - // // NOTE(@jmg-duarte,05/06/2024): We could check the address against the key and - // // possibly avoid deserializing, but the original code only checks after deserializing - // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L750-L762 - // if !filter.storage_provider_address.is_empty() - // && filter.storage_provider_address != flagged_metadata.storage_provider_address - // { - // continue; - // } - // } - - // if flagged_metadata.created_at < cursor { - // continue; - // } - - // flagged_pieces.push(FlaggedPiece { - // piece_cid, - // storage_provider_address: flagged_metadata.storage_provider_address, - // created_at: flagged_metadata.created_at, - // updated_at: flagged_metadata.updated_at, - // has_unsealed_copy: flagged_metadata.has_unsealed_copy, - // }); - // } - - // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L776-L778 - // flagged_pieces.sort_by(|l, r| l.created_at.cmp(&r.created_at)); - - // if offset > 0 { - // if offset >= flagged_pieces.len() { - // return Ok(vec![]); - // } else { - // flagged_pieces = flagged_pieces.split_off(offset); - // } - // } - - // if flagged_pieces.len() > limit { - // flagged_pieces.truncate(limit); - // } - - // Ok(flagged_pieces) - // } - - // /// For a detailed description, see [`Service::flagged_pieces_count`]. - // /// - // /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. - // /// - // /// Sources: - // /// * - // /// * - // fn flagged_pieces_count( - // &self, - // filter: Option, - // ) -> Result { - // let iterator = self - // .database - // .iterator_cf(self.cf_handle(PIECE_CID_TO_FLAGGED_CF), IteratorMode::Start); - - // if let Some(filter) = filter { - // let mut count: u64 = 0; - // for line in iterator { - // let (_, value) = line?; - - // let flagged_metadata = - // match ciborium::from_reader::(value.as_ref()) { - // Ok(value) => Ok(value), - // Err(err) => Err(LidError::Deserialization(err.to_string())), - // }?; - - // // NOTE(@jmg-duarte,05/06/2024): The check order is not arbitrary, - // // it's the same as the order in boostd-data, maybe it has a reason, - // // maybe it doesn't, keeping it the same for now... - // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L823-L829 - // if filter.has_unsealed_copy != flagged_metadata.has_unsealed_copy { - // continue; - // } - - // if !filter.storage_provider_address.is_empty() - // && filter.storage_provider_address != flagged_metadata.storage_provider_address - // { - // continue; - // } - - // count += 1; - // } - // Ok(count) - // } else { - // Ok(iterator.count() as u64) - // } - // } - - // /// For a detailed description, see [`Self::next_pieces_to_check`]. - // /// - // /// This information is stored in the [`PIECE_CID_TO_CURSOR_CF`] column family. - // /// - // /// Sources: - // /// * - // /// * - // fn next_pieces_to_check( - // &mut self, - // storage_provider_address: StorageProviderAddress, - // ) -> Result, LidError> { - // let mut cids = vec![]; - - // // Leveraging the `DBRawIteratorWithThreadMode` should bring more performance - // // but requires deeper knowledge of RocksDB, this is good enough for now - // let iter = self - // .database - // .iterator_cf(self.cf_handle(PIECE_CID_TO_CURSOR_CF), IteratorMode::Start) - // // Looks silly but it's faithful to the original implementation - // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L389-L390 - // .skip(self.offset) - // .take(PIECES_TRACKER_BATCH_SIZE); - - // let mut seen_pieces = 0; - // for it in iter { - // let (key, value) = it?; - // seen_pieces += 1; - - // let key_str = Cid::read_bytes(key.as_ref())?; - // // TODO(@jmg-duarte,14/06/2024): missing an encoding step here - // // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L421-L422 - // let checked_key = { - // let mut key = storage_provider_address.0.clone(); - // key.push_str(&key_str.to_string()); - // key - // }; - - // if let Some(last_checked) = self.checked.get(&checked_key) { - // if *last_checked > (chrono::Utc::now() - MIN_PIECE_CHECK_PERIOD) { - // continue; - // } - // } - - // let cid = Cid::read_bytes(key.as_ref())?; - // let metadata: PieceInfo = ciborium::from_reader(value.as_ref()) - // .map_err(|err| LidError::Deserialization(err.to_string()))?; - // for deal in metadata.deals { - // if deal.storage_provider_address == storage_provider_address { - // self.checked.insert(checked_key.clone(), chrono::Utc::now()); - // cids.push(cid); - // break; - // } - // } - // } - // self.offset += seen_pieces; - - // if seen_pieces < PIECES_TRACKER_BATCH_SIZE { - // self.offset = 0; - // } - - // Ok(cids) - // } + /// For a detailed description, see [`Service::flag_piece`]. + /// + /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. + /// + /// Sources: + /// * + /// * + fn flag_piece( + &self, + piece_cid: Cid, + has_unsealed_copy: bool, + storage_provider_address: StorageProviderAddress, + ) -> Result<(), LidError> { + let key = key_flag_piece(&piece_cid, &storage_provider_address); + let mut metadata = self + .get_value_at_key(&key, PIECE_CID_TO_FLAGGED_CF)? + .unwrap_or_else(|| FlaggedPiece::new(piece_cid, storage_provider_address)); + + metadata.updated_at = chrono::Utc::now(); + metadata.has_unsealed_copy = has_unsealed_copy; + + self.put_value_at_key(key, &metadata, PIECE_CID_TO_FLAGGED_CF) + } + + /// For a detailed description, see [`Service::unflag_piece`]. + /// + /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. + /// + /// Sources: + /// * + /// * + fn unflag_piece( + &self, + piece_cid: Cid, + storage_provider_address: StorageProviderAddress, + ) -> Result<(), LidError> { + let key = key_flag_piece(&piece_cid, &storage_provider_address); + self.remove_value_at_key(key, PIECE_CID_TO_FLAGGED_CF) + } + + /// For a detailed description, see [`Service::flagged_pieces_list`]. + /// + /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. + /// + /// Sources: + /// * + /// * + fn flagged_pieces_list( + &self, + filter: Option, + cursor: chrono::DateTime, + offset: usize, + limit: usize, + ) -> Result, LidError> { + let iterator = self + .database + .iterator_cf(self.cf_handle(PIECE_CID_TO_FLAGGED_CF), IteratorMode::Start); + + let mut flagged_pieces = vec![]; + for line in iterator { + let (key, value) = line?; + + // This one should never happen but who knows? + let key = String::from_utf8(key.to_vec())?; + // The key starts with a "/", skip it + let mut split = key.split('/').skip(1); + + // Using let/else instead of .ok_or/.ok_or_else avoids using .clone + let Some(piece_cid) = split.next() else { + return Err(LidError::InvalidFlaggedPieceKeyError(key)); + }; + // They don't actually check that the full key is well formed, they just check if it isn't ill-formed + // by checking if the length after splitting is != 0 and that the CID is valid + // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L740-L748 + + let piece_cid = Cid::from_str(piece_cid)?; + let flagged_metadata = match ciborium::from_reader::(value.as_ref()) { + Ok(value) => Ok(value), + Err(err) => Err(LidError::Deserialization(err.to_string())), + }?; + + if let Some(filter) = &filter { + // NOTE(@jmg-duarte,05/06/2024): The check order is not arbitrary, + // it's the same as the order in boostd-data, maybe it has a reason, + // maybe it doesn't, keeping it the same for now... + // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L756-L766 + if filter.has_unsealed_copy != flagged_metadata.has_unsealed_copy { + continue; + } + + // NOTE(@jmg-duarte,05/06/2024): We could check the address against the key and + // possibly avoid deserializing, but the original code only checks after deserializing + // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L750-L762 + if !filter.storage_provider_address.is_empty() + && filter.storage_provider_address != flagged_metadata.storage_provider_address + { + continue; + } + } + + if flagged_metadata.created_at < cursor { + continue; + } + + flagged_pieces.push(FlaggedPiece { + piece_cid, + storage_provider_address: flagged_metadata.storage_provider_address, + created_at: flagged_metadata.created_at, + updated_at: flagged_metadata.updated_at, + has_unsealed_copy: flagged_metadata.has_unsealed_copy, + }); + } + + // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L776-L778 + flagged_pieces.sort_by(|l, r| l.created_at.cmp(&r.created_at)); + + if offset > 0 { + if offset >= flagged_pieces.len() { + return Ok(vec![]); + } else { + flagged_pieces = flagged_pieces.split_off(offset); + } + } + + if flagged_pieces.len() > limit { + flagged_pieces.truncate(limit); + } + + Ok(flagged_pieces) + } + + /// For a detailed description, see [`Service::flagged_pieces_count`]. + /// + /// This information is stored in the [`PIECE_CID_TO_FLAGGED_CF`] column family. + /// + /// Sources: + /// * + /// * + fn flagged_pieces_count( + &self, + filter: Option, + ) -> Result { + let iterator = self + .database + .iterator_cf(self.cf_handle(PIECE_CID_TO_FLAGGED_CF), IteratorMode::Start); + + if let Some(filter) = filter { + let mut count: u64 = 0; + for line in iterator { + let (_, value) = line?; + + let flagged_metadata = + match ciborium::from_reader::(value.as_ref()) { + Ok(value) => Ok(value), + Err(err) => Err(LidError::Deserialization(err.to_string())), + }?; + + // NOTE(@jmg-duarte,05/06/2024): The check order is not arbitrary, + // it's the same as the order in boostd-data, maybe it has a reason, + // maybe it doesn't, keeping it the same for now... + // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L823-L829 + if filter.has_unsealed_copy != flagged_metadata.has_unsealed_copy { + continue; + } + + if !filter.storage_provider_address.is_empty() + && filter.storage_provider_address != flagged_metadata.storage_provider_address + { + continue; + } + + count += 1; + } + Ok(count) + } else { + Ok(iterator.count() as u64) + } + } + + /// For a detailed description, see [`Self::next_pieces_to_check`]. + /// + /// This information is stored in the [`PIECE_CID_TO_CURSOR_CF`] column family. + /// + /// Sources: + /// * + /// * + fn next_pieces_to_check( + &mut self, + storage_provider_address: StorageProviderAddress, + ) -> Result, LidError> { + let mut cids = vec![]; + + // Leveraging the `DBRawIteratorWithThreadMode` should bring more performance + // but requires deeper knowledge of RocksDB, this is good enough for now + let iter = self + .database + .iterator_cf(self.cf_handle(PIECE_CID_TO_CURSOR_CF), IteratorMode::Start) + // Looks silly but it's faithful to the original implementation + // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L389-L390 + .skip(self.offset) + .take(PIECES_TRACKER_BATCH_SIZE); + + let mut seen_pieces = 0; + for it in iter { + let (key, value) = it?; + seen_pieces += 1; + + let key_str = Cid::read_bytes(key.as_ref())?; + // TODO(@jmg-duarte,14/06/2024): missing an encoding step here + // https://github.com/filecoin-project/boost/blob/16a4de2af416575f60f88c723d84794f785d2825/extern/boostd-data/ldb/db.go#L421-L422 + let checked_key = { + let mut key = storage_provider_address.0.clone(); + key.push_str(&key_str.to_string()); + key + }; + + if let Some(last_checked) = self.checked.get(&checked_key) { + if *last_checked > (chrono::Utc::now() - MIN_PIECE_CHECK_PERIOD) { + continue; + } + } + + let cid = Cid::read_bytes(key.as_ref())?; + let metadata: PieceInfo = ciborium::from_reader(value.as_ref()) + .map_err(|err| LidError::Deserialization(err.to_string()))?; + for deal in metadata.deals { + if deal.storage_provider_address == storage_provider_address { + self.checked.insert(checked_key.clone(), chrono::Utc::now()); + cids.push(cid); + break; + } + } + } + self.offset += seen_pieces; + + if seen_pieces < PIECES_TRACKER_BATCH_SIZE { + self.offset = 0; + } + + Ok(cids) + } } #[cfg(test)] mod test { use std::str::FromStr; - use cid::Cid; + use cid::{multihash::Multihash, Cid}; use rocksdb::DEFAULT_COLUMN_FAMILY_NAME; + use sha2::{Digest, Sha256}; use tempfile::tempdir; use super::{RocksDBLid, RocksDBStateStoreConfig}; use crate::indexer::local_index_directory::{ rdb::{ - key_cursor_prefix, MULTIHASH_TO_PIECE_CID_CF, PIECE_CID_TO_CURSOR_CF, + key_cursor_prefix, key_flag_piece, MULTIHASH_TO_PIECE_CID_CF, PIECE_CID_TO_CURSOR_CF, PIECE_CID_TO_FLAGGED_CF, RAW_CODEC, }, - DealInfo, IndexRecord, LidError, OffsetSize, PieceInfo, Service, + DealInfo, FlaggedPiece, FlaggedPiecesListFilter, IndexRecord, LidError, OffsetSize, + PieceInfo, Service, StorageProviderAddress, }; fn init_database() -> RocksDBLid { @@ -985,14 +988,14 @@ mod test { fn dummy_deal_info() -> DealInfo { DealInfo { deal_uuid: uuid::Uuid::new_v4(), - // is_legacy: false, + is_legacy: false, chain_deal_id: 1337, - // storage_provider_address: "address".to_string().into(), + storage_provider_address: "address".to_string().into(), sector_number: 42.into(), piece_offset: 10, piece_length: 10, car_length: 97, - // is_direct_deal: false, + is_direct_deal: false, } } @@ -1482,288 +1485,288 @@ mod test { assert_eq!(pieces, vec![cids[0], cids[1]]); } - // #[test] - // fn flag_piece() { - // let db = init_database(); - // let cid = cids_vec()[0]; - // // The address of the top storage provider at the time of writing (12/6/24) - // let storage_provider_address = - // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - // let key = key_flag_piece(&cid, &storage_provider_address); - - // assert!(db - // .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) - // .unwrap() - // .is_none()); - - // assert!(db - // .flag_piece(cid, true, storage_provider_address.clone()) - // .is_ok()); - - // let flagged_piece: FlaggedPiece = db - // .get_value_at_key(key, PIECE_CID_TO_FLAGGED_CF) - // .unwrap() - // .unwrap(); - - // assert_eq!(flagged_piece.piece_cid, cid); - // assert_eq!( - // flagged_piece.storage_provider_address, - // storage_provider_address - // ); - // assert!(flagged_piece.has_unsealed_copy); - // } - - // #[test] - // fn unflag_piece() { - // let db = init_database(); - // let cid = cids_vec()[0]; - // // The address of the top storage provider at the time of writing (12/6/24) - // let storage_provider_address = - // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - // let key = key_flag_piece(&cid, &storage_provider_address); - - // assert!(matches!( - // db.unflag_piece(cid, storage_provider_address.clone()), - // Ok(()) - // )); - - // assert!(db - // .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) - // .unwrap() - // .is_none()); - - // assert!(db - // .flag_piece(cid, true, storage_provider_address.clone()) - // .is_ok()); - - // let flagged_piece: FlaggedPiece = db - // .get_value_at_key(&key, PIECE_CID_TO_FLAGGED_CF) - // .unwrap() - // .unwrap(); - - // assert_eq!(flagged_piece.piece_cid, cid); - // assert_eq!( - // flagged_piece.storage_provider_address, - // storage_provider_address - // ); - // assert!(flagged_piece.has_unsealed_copy); - - // assert!(db - // .unflag_piece(cid, storage_provider_address.clone()) - // .is_ok()); - - // assert!(db - // .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) - // .unwrap() - // .is_none()); - // } - - // #[test] - // fn flagged_pieces_count() { - // let db = init_database(); - // let cid = cids_vec()[0]; - // // The address of the top storage provider at the time of writing (12/6/24) - // let storage_provider_address = - // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - - // assert!(db - // .flag_piece(cid, true, storage_provider_address.clone()) - // .is_ok()); - - // // All pieces - // assert_eq!(db.flagged_pieces_count(None).unwrap(), 1); - // // Should ignore empty address - // assert_eq!( - // db.flagged_pieces_count(Some(FlaggedPiecesListFilter { - // storage_provider_address: StorageProviderAddress("".to_string()), - // has_unsealed_copy: true - // })) - // .unwrap(), - // 1 - // ); - // assert_eq!( - // db.flagged_pieces_count(Some(FlaggedPiecesListFilter { - // storage_provider_address: StorageProviderAddress("a".to_string()), - // has_unsealed_copy: true - // })) - // .unwrap(), - // 0 - // ); - // // Right address but the flagged piece has `has_unsealed_copy: true` - // assert_eq!( - // db.flagged_pieces_count(Some(FlaggedPiecesListFilter { - // storage_provider_address: storage_provider_address.clone(), - // has_unsealed_copy: false - // })) - // .unwrap(), - // 0 - // ); - // // All filters match - // assert_eq!( - // db.flagged_pieces_count(Some(FlaggedPiecesListFilter { - // storage_provider_address: storage_provider_address, - // has_unsealed_copy: true - // })) - // .unwrap(), - // 1 - // ) - // } - - // #[test] - // fn flagged_pieces_list() { - // let db = init_database(); - // let cids = cids_vec(); - // // The address of the top storage provider at the time of writing (12/6/24) - // let storage_provider_address = - // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - - // assert!(db - // .flag_piece(cids[0], true, storage_provider_address.clone()) - // .is_ok()); - - // // To test the cursor functionality - // let after_first = chrono::Utc::now(); - - // assert!(db - // .flag_piece(cids[1], false, storage_provider_address.clone()) - // .is_ok()); - // assert!(db - // .flag_piece(cids[2], true, storage_provider_address.clone()) - // .is_ok()); - - // assert_eq!( - // db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 0, 1000) - // .unwrap() - // .into_iter() - // .map(|fp| fp.piece_cid) - // .collect::>(), - // cids - // ); - - // assert_eq!( - // db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 0, 1) - // .unwrap() - // .into_iter() - // .map(|fp| fp.piece_cid) - // .collect::>(), - // cids[..1] - // ); - - // assert_eq!( - // db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 1, 1) - // .unwrap() - // .into_iter() - // .map(|fp| fp.piece_cid) - // .collect::>(), - // cids[1..2] - // ); - - // assert_eq!( - // db.flagged_pieces_list(None, after_first, 0, 1000) - // .unwrap() - // .into_iter() - // .map(|fp| fp.piece_cid) - // .collect::>(), - // cids[1..] - // ); - - // assert_eq!( - // db.flagged_pieces_list( - // Some(FlaggedPiecesListFilter { - // storage_provider_address: StorageProviderAddress("".to_string()), - // has_unsealed_copy: false - // }), - // chrono::DateTime::UNIX_EPOCH, - // 1, - // 1000 - // ) - // .unwrap() - // .into_iter() - // .map(|fp| fp.piece_cid) - // .collect::>(), - // vec![] - // ); - // assert_eq!( - // db.flagged_pieces_list( - // Some(FlaggedPiecesListFilter { - // storage_provider_address: StorageProviderAddress("a".to_string()), - // has_unsealed_copy: false - // }), - // chrono::DateTime::UNIX_EPOCH, - // 0, - // 1000 - // ) - // .unwrap() - // .into_iter() - // .map(|fp| fp.piece_cid) - // .collect::>(), - // vec![] - // ); - - // assert_eq!( - // db.flagged_pieces_list( - // Some(FlaggedPiecesListFilter { - // storage_provider_address, - // has_unsealed_copy: false - // }), - // chrono::DateTime::UNIX_EPOCH, - // 0, - // 1000 - // ) - // .unwrap() - // .into_iter() - // .map(|fp| fp.piece_cid) - // .collect::>(), - // vec![cids[1]] - // ); - // } - - // #[test] - // fn next_pieces_to_check() { - // let mut db = init_database(); - // let mut cids = vec![]; - // let storage_provider_address = - // StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); - - // // 1024 + 512 (a batch and a half) - // for i in 0..1536u64 { - // let digest = Sha256::digest(i.to_le_bytes()); - // let mh = Multihash::wrap(0x12, digest.as_ref()).unwrap(); - // let cid = Cid::new_v1(RAW_CODEC, mh); - // cids.push(cid); - // let mut piece_info = PieceInfo::default(); - // piece_info.deals.push(DealInfo { - // deal_uuid: uuid::Uuid::new_v4(), - // is_legacy: false, - // chain_deal_id: i, - // // storage_provider_address: storage_provider_address.clone(), - // sector_number: 0.into(), - // piece_offset: 0, - // piece_length: 0, - // car_length: 0, - // // is_direct_deal: false, - // }); - // db.set_piece_cid_to_metadata(cid, &piece_info).unwrap(); - // } - // // The DB does not ensure order, so we "create" one. - // cids.sort(); - - // let first_batch = { - // let mut v = db - // .next_pieces_to_check(storage_provider_address.clone()) - // .unwrap(); - // v.sort(); - // v - // }; - // assert_eq!(first_batch, cids[0..1024]); - - // let second_batch = { - // let mut v = db - // .next_pieces_to_check(storage_provider_address.clone()) - // .unwrap(); - // v.sort(); - // v - // }; - // assert_eq!(second_batch, cids[1024..]); - // } + #[test] + fn flag_piece() { + let db = init_database(); + let cid = cids_vec()[0]; + // The address of the top storage provider at the time of writing (12/6/24) + let storage_provider_address = + StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + let key = key_flag_piece(&cid, &storage_provider_address); + + assert!(db + .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) + .unwrap() + .is_none()); + + assert!(db + .flag_piece(cid, true, storage_provider_address.clone()) + .is_ok()); + + let flagged_piece: FlaggedPiece = db + .get_value_at_key(key, PIECE_CID_TO_FLAGGED_CF) + .unwrap() + .unwrap(); + + assert_eq!(flagged_piece.piece_cid, cid); + assert_eq!( + flagged_piece.storage_provider_address, + storage_provider_address + ); + assert!(flagged_piece.has_unsealed_copy); + } + + #[test] + fn unflag_piece() { + let db = init_database(); + let cid = cids_vec()[0]; + // The address of the top storage provider at the time of writing (12/6/24) + let storage_provider_address = + StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + let key = key_flag_piece(&cid, &storage_provider_address); + + assert!(matches!( + db.unflag_piece(cid, storage_provider_address.clone()), + Ok(()) + )); + + assert!(db + .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) + .unwrap() + .is_none()); + + assert!(db + .flag_piece(cid, true, storage_provider_address.clone()) + .is_ok()); + + let flagged_piece: FlaggedPiece = db + .get_value_at_key(&key, PIECE_CID_TO_FLAGGED_CF) + .unwrap() + .unwrap(); + + assert_eq!(flagged_piece.piece_cid, cid); + assert_eq!( + flagged_piece.storage_provider_address, + storage_provider_address + ); + assert!(flagged_piece.has_unsealed_copy); + + assert!(db + .unflag_piece(cid, storage_provider_address.clone()) + .is_ok()); + + assert!(db + .get_value_at_key::<_, Option>(&key, PIECE_CID_TO_FLAGGED_CF) + .unwrap() + .is_none()); + } + + #[test] + fn flagged_pieces_count() { + let db = init_database(); + let cid = cids_vec()[0]; + // The address of the top storage provider at the time of writing (12/6/24) + let storage_provider_address = + StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + + assert!(db + .flag_piece(cid, true, storage_provider_address.clone()) + .is_ok()); + + // All pieces + assert_eq!(db.flagged_pieces_count(None).unwrap(), 1); + // Should ignore empty address + assert_eq!( + db.flagged_pieces_count(Some(FlaggedPiecesListFilter { + storage_provider_address: StorageProviderAddress("".to_string()), + has_unsealed_copy: true + })) + .unwrap(), + 1 + ); + assert_eq!( + db.flagged_pieces_count(Some(FlaggedPiecesListFilter { + storage_provider_address: StorageProviderAddress("a".to_string()), + has_unsealed_copy: true + })) + .unwrap(), + 0 + ); + // Right address but the flagged piece has `has_unsealed_copy: true` + assert_eq!( + db.flagged_pieces_count(Some(FlaggedPiecesListFilter { + storage_provider_address: storage_provider_address.clone(), + has_unsealed_copy: false + })) + .unwrap(), + 0 + ); + // All filters match + assert_eq!( + db.flagged_pieces_count(Some(FlaggedPiecesListFilter { + storage_provider_address: storage_provider_address, + has_unsealed_copy: true + })) + .unwrap(), + 1 + ) + } + + #[test] + fn flagged_pieces_list() { + let db = init_database(); + let cids = cids_vec(); + // The address of the top storage provider at the time of writing (12/6/24) + let storage_provider_address = + StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + + assert!(db + .flag_piece(cids[0], true, storage_provider_address.clone()) + .is_ok()); + + // To test the cursor functionality + let after_first = chrono::Utc::now(); + + assert!(db + .flag_piece(cids[1], false, storage_provider_address.clone()) + .is_ok()); + assert!(db + .flag_piece(cids[2], true, storage_provider_address.clone()) + .is_ok()); + + assert_eq!( + db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 0, 1000) + .unwrap() + .into_iter() + .map(|fp| fp.piece_cid) + .collect::>(), + cids + ); + + assert_eq!( + db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 0, 1) + .unwrap() + .into_iter() + .map(|fp| fp.piece_cid) + .collect::>(), + cids[..1] + ); + + assert_eq!( + db.flagged_pieces_list(None, chrono::DateTime::UNIX_EPOCH, 1, 1) + .unwrap() + .into_iter() + .map(|fp| fp.piece_cid) + .collect::>(), + cids[1..2] + ); + + assert_eq!( + db.flagged_pieces_list(None, after_first, 0, 1000) + .unwrap() + .into_iter() + .map(|fp| fp.piece_cid) + .collect::>(), + cids[1..] + ); + + assert_eq!( + db.flagged_pieces_list( + Some(FlaggedPiecesListFilter { + storage_provider_address: StorageProviderAddress("".to_string()), + has_unsealed_copy: false + }), + chrono::DateTime::UNIX_EPOCH, + 1, + 1000 + ) + .unwrap() + .into_iter() + .map(|fp| fp.piece_cid) + .collect::>(), + vec![] + ); + assert_eq!( + db.flagged_pieces_list( + Some(FlaggedPiecesListFilter { + storage_provider_address: StorageProviderAddress("a".to_string()), + has_unsealed_copy: false + }), + chrono::DateTime::UNIX_EPOCH, + 0, + 1000 + ) + .unwrap() + .into_iter() + .map(|fp| fp.piece_cid) + .collect::>(), + vec![] + ); + + assert_eq!( + db.flagged_pieces_list( + Some(FlaggedPiecesListFilter { + storage_provider_address, + has_unsealed_copy: false + }), + chrono::DateTime::UNIX_EPOCH, + 0, + 1000 + ) + .unwrap() + .into_iter() + .map(|fp| fp.piece_cid) + .collect::>(), + vec![cids[1]] + ); + } + + #[test] + fn next_pieces_to_check() { + let mut db = init_database(); + let mut cids = vec![]; + let storage_provider_address = + StorageProviderAddress("f24yeyklfsjvav6onmm4k2lbkfi6chnke5ivt5wbq".to_string()); + + // 1024 + 512 (a batch and a half) + for i in 0..1536u64 { + let digest = Sha256::digest(i.to_le_bytes()); + let mh = Multihash::wrap(0x12, digest.as_ref()).unwrap(); + let cid = Cid::new_v1(RAW_CODEC, mh); + cids.push(cid); + let mut piece_info = PieceInfo::default(); + piece_info.deals.push(DealInfo { + deal_uuid: uuid::Uuid::new_v4(), + is_legacy: false, + chain_deal_id: i, + storage_provider_address: storage_provider_address.clone(), + sector_number: 0.into(), + piece_offset: 0, + piece_length: 0, + car_length: 0, + is_direct_deal: false, + }); + db.set_piece_cid_to_metadata(cid, &piece_info).unwrap(); + } + // The DB does not ensure order, so we "create" one. + cids.sort(); + + let first_batch = { + let mut v = db + .next_pieces_to_check(storage_provider_address.clone()) + .unwrap(); + v.sort(); + v + }; + assert_eq!(first_batch, cids[0..1024]); + + let second_batch = { + let mut v = db + .next_pieces_to_check(storage_provider_address.clone()) + .unwrap(); + v.sort(); + v + }; + assert_eq!(second_batch, cids[1024..]); + } } From d306919db6b1a9db279704107b5e12325bcf32e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 3 Feb 2025 12:06:21 +0100 Subject: [PATCH 11/33] small fixes --- storage-provider/server/src/config.rs | 1 + .../server/src/indexer/local_index_directory/rdb.rs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/storage-provider/server/src/config.rs b/storage-provider/server/src/config.rs index d8f4658e3..1c7dc3a70 100644 --- a/storage-provider/server/src/config.rs +++ b/storage-provider/server/src/config.rs @@ -48,6 +48,7 @@ fn default_retrieval_address() -> Multiaddr { .parse() .expect("multiaddres is correct") } + #[derive(Debug, Clone, Deserialize, Args)] #[group(multiple = true, conflicts_with = "config")] #[serde(deny_unknown_fields)] diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs index a1fc25610..8001fa05b 100644 --- a/storage-provider/server/src/indexer/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -107,7 +107,7 @@ impl RocksDBLid { /// * If the column families ([`PIECE_CID_TO_CURSOR_CF`], /// [`MULTIHASH_TO_PIECE_CID_CF`], [`PIECE_CID_TO_FLAGGED_CF`], /// [`CURSOR_TO_OFFSET_SIZE_CF`]) do not exist, they will be created. - /// * If the cursor is not initialized. It will be initialized with the 0 value. + /// * If the cursor is not initialized. It will be initialized with the 100 value. pub fn new(config: RocksDBStateStoreConfig) -> Result where Self: Sized, From a0d220ec0a808fd6bdee047910fd315ab8e23492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 3 Feb 2025 19:59:28 +0100 Subject: [PATCH 12/33] tests fix --- .../src/indexer/local_index_directory/rdb.rs | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs index 8001fa05b..dc2396a8a 100644 --- a/storage-provider/server/src/indexer/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -348,6 +348,12 @@ impl RocksDBLid { // as long as it doesnt fail for it in iterator { let (key, _) = it?; + + // Filter out the keys not prefixed with the cursor + if !key.as_ref().starts_with(cursor_prefix.as_bytes()) { + continue; + } + let (_, mh_key) = key.split_at(cursor_prefix.len()); // Without the closure, the only alternative is to use goto's to skip from the `return Ok(())` to the deletion of the key @@ -621,8 +627,8 @@ impl Service for RocksDBLid { for it in iterator { let (key, value) = it?; - // TODO(@cernicc,31/01/2025): The NEXT_CURSOR_KEY is returned as a key. Not sure why. - if key.as_ref() == NEXT_CURSOR_KEY.as_bytes() { + // Filter out the keys not prefixed with the cursor + if !key.as_ref().starts_with(cursor_prefix.as_bytes()) { continue; } @@ -1070,7 +1076,7 @@ mod test { #[test] fn cursor() { let db = init_database(); - assert!(db.get_next_cursor().is_err()); + assert_eq!(db.get_next_cursor().unwrap(), (100, key_cursor_prefix(100))); assert!(db.set_next_cursor(1010).is_ok()); let cursor = db.get_next_cursor(); assert_eq!(cursor.unwrap(), (1010, key_cursor_prefix(1010))); @@ -1262,11 +1268,11 @@ mod test { )); // Ensure mh -> offset also gets removed when indexes are removed - assert!(db - .database - .prefix_iterator("/0/") - .collect::>() - .is_empty()); + assert_eq!( + db.database.prefix_iterator("/0/").collect::>().len(), + // "next_cursor" key is returned + 1 + ); } #[test] @@ -1352,7 +1358,9 @@ mod test { // Ensure the multihash -> offset entries were also added assert_eq!( db.database.prefix_iterator("/0/").collect::>().len(), - 2 + // We also receive a "next_cursor" key because of the nature how the + // prefix_iterator works + 3 ); } @@ -1394,7 +1402,9 @@ mod test { assert_eq!( db.database.prefix_iterator("/0/").collect::>().len(), - 2 + // We also receive a "next_cursor" key because of the nature how the + // prefix_iterator works + 3 ); // Ensure it's empty after removal assert!(db.remove_indexes(cid).is_ok()); @@ -1409,11 +1419,11 @@ mod test { assert!(indexes.is_empty()); // Ensure mh -> offset also gets removed when indexes are removed - assert!(db - .database - .prefix_iterator("/0/") - .collect::>() - .is_empty()); + assert_eq!( + db.database.prefix_iterator("/0/").collect::>().len(), + // "next_cursor" is the only key left + 1 + ); } #[test] From 53203712404c7080b896bf58897f4f9c57fa8037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 4 Feb 2025 10:11:07 +0100 Subject: [PATCH 13/33] remove unsealed sector --- storage-provider/common/src/sector.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/storage-provider/common/src/sector.rs b/storage-provider/common/src/sector.rs index b85efaeae..02d3f403f 100644 --- a/storage-provider/common/src/sector.rs +++ b/storage-provider/common/src/sector.rs @@ -327,6 +327,8 @@ impl PreCommittedSector { seal_randomness_height: u64, precommit_block: u64, ) -> Result { + tokio::fs::remove_file(unsealed.unsealed_path).await?; + Ok(Self { seal_proof: unsealed.seal_proof, sector_number: unsealed.sector_number, From 3e73a0ca2927f62a9afe21ec093e58f1d596b28b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 4 Feb 2025 10:34:37 +0100 Subject: [PATCH 14/33] small change --- storage-provider/server/src/config.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/storage-provider/server/src/config.rs b/storage-provider/server/src/config.rs index 1c7dc3a70..1105c82cf 100644 --- a/storage-provider/server/src/config.rs +++ b/storage-provider/server/src/config.rs @@ -44,7 +44,6 @@ fn default_node_address() -> Url { fn default_retrieval_address() -> Multiaddr { "/ip4/127.0.0.1/tcp/8002" - .to_string() .parse() .expect("multiaddres is correct") } From 26d6c611b31d39b9740fa628a9e0b88eec9899bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 4 Feb 2025 12:01:53 +0100 Subject: [PATCH 15/33] small changes --- .../server/src/indexer/local_index_directory/rdb.rs | 2 +- storage-provider/server/src/retrieval/blockstore.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs index dc2396a8a..954d01176 100644 --- a/storage-provider/server/src/indexer/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -275,7 +275,7 @@ impl RocksDBLid { fn init_cursor(&self) -> Result<(), LidError> { if let Err(err) = self.get_next_cursor() { if matches!(err, LidError::CursorNotFound) { - self.set_next_cursor(100)?; + self.set_next_cursor(0)?; } else { return Err(err); } diff --git a/storage-provider/server/src/retrieval/blockstore.rs b/storage-provider/server/src/retrieval/blockstore.rs index 75662efb5..74751c810 100644 --- a/storage-provider/server/src/retrieval/blockstore.rs +++ b/storage-provider/server/src/retrieval/blockstore.rs @@ -61,12 +61,12 @@ where .map_err(|err| blockstore::Error::StoredDataError(err.to_string()))?; // Open the raw piece and read the block - let raw_pieces_dir = self + let raw_pieces_path = self .raw_pieces_dir .join(piece_cid.to_string()) .with_extension("car"); - let mut raw_piece = File::open(&raw_pieces_dir).await.map_err(|_| { - blockstore::Error::StoredDataError(format!("piece {:?} not found", raw_pieces_dir)) + let mut raw_piece = File::open(&raw_pieces_path).await.map_err(|_| { + blockstore::Error::StoredDataError(format!("piece {:?} not found", raw_pieces_path)) })?; raw_piece .seek(SeekFrom::Start(block.offset)) From 45b57761b2a6931cd57308142d7274829d22df2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 4 Feb 2025 13:03:48 +0100 Subject: [PATCH 16/33] comment fix --- .../server/src/indexer/local_index_directory/rdb.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs index 954d01176..a534e4974 100644 --- a/storage-provider/server/src/indexer/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -107,7 +107,7 @@ impl RocksDBLid { /// * If the column families ([`PIECE_CID_TO_CURSOR_CF`], /// [`MULTIHASH_TO_PIECE_CID_CF`], [`PIECE_CID_TO_FLAGGED_CF`], /// [`CURSOR_TO_OFFSET_SIZE_CF`]) do not exist, they will be created. - /// * If the cursor is not initialized. It will be initialized with the 100 value. + /// * If the cursor is not initialized. It will be initialized with the 0 value. pub fn new(config: RocksDBStateStoreConfig) -> Result where Self: Sized, From e42d9e223a11f64656dbfbc012e9f10572b43848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 4 Feb 2025 13:44:29 +0100 Subject: [PATCH 17/33] some changes --- .../server/src/indexer/local_index_directory/rdb.rs | 3 +-- storage-provider/server/src/indexer/mod.rs | 6 +++--- storage-provider/server/src/retrieval/blockstore.rs | 2 ++ 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs index a534e4974..349cc04c9 100644 --- a/storage-provider/server/src/indexer/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -293,8 +293,7 @@ impl RocksDBLid { /// Source: /// * fn get_next_cursor(&self) -> Result<(u64, String), LidError> { - let pinned_slice: Option = - self.database.get_pinned(NEXT_CURSOR_KEY)?; + let pinned_slice = self.database.get_pinned(NEXT_CURSOR_KEY)?; let Some(pinned_slice) = pinned_slice else { // In most places the original source code has some special handling for the missing key, // however, that does not apply for a missing cursor diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index 71dc8dbde..c8f3772ed 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -86,10 +86,10 @@ where info!(%piece_cid, "indexing completed"); } Ok(Err(err)) => { - error!(?err, "piece indexing failed with an error"); + error!(%piece_cid, ?err, "piece indexing failed with an error"); } Err(err) => { - error!(?err, "piece indexing panicked"); + error!(%piece_cid, ?err, "piece indexing panicked"); } }; } @@ -106,7 +106,7 @@ where pin_mut!(blocks); let mut records = vec![]; - if let Some(metadata) = blocks.next().await { + while let Some(metadata) = blocks.next().await { let metadata = metadata?; records.push(IndexRecord { diff --git a/storage-provider/server/src/retrieval/blockstore.rs b/storage-provider/server/src/retrieval/blockstore.rs index 74751c810..0dbd18f65 100644 --- a/storage-provider/server/src/retrieval/blockstore.rs +++ b/storage-provider/server/src/retrieval/blockstore.rs @@ -65,6 +65,8 @@ where .raw_pieces_dir .join(piece_cid.to_string()) .with_extension("car"); + // TODO(@cernicc,04/02/2025): Currently we are opening the file for each + // block. This can be optimized by holding a pool of open file handlers. let mut raw_piece = File::open(&raw_pieces_path).await.map_err(|_| { blockstore::Error::StoredDataError(format!("piece {:?} not found", raw_pieces_path)) })?; From fce57810756e9083facc3899886805eed62bafe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 4 Feb 2025 15:59:24 +0100 Subject: [PATCH 18/33] change indexing --- storage-provider/server/src/indexer/mod.rs | 80 ++++++++++++--------- storage-provider/server/src/main.rs | 8 +-- storage-provider/server/src/pipeline/mod.rs | 16 +---- storage-provider/server/src/rpc.rs | 9 +++ 4 files changed, 61 insertions(+), 52 deletions(-) diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index c8f3772ed..6227d0b47 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -1,10 +1,13 @@ -use std::{path::Path, sync::Arc}; +use std::{ + path::{Path, PathBuf}, + sync::Arc, +}; use async_stream::try_stream; use futures::{pin_mut, Stream, StreamExt}; use local_index_directory::{IndexRecord, OffsetSize, Service}; use mater::{BlockMetadata, CarV2Reader}; -use polka_storage_provider_common::sector::ProvenSector; +use primitives::commitment::{CommP, Commitment}; use tokio::{fs::File, io::AsyncSeekExt, sync::mpsc::UnboundedReceiver, task::spawn_blocking}; use tokio_util::{sync::CancellationToken, task::TaskTracker}; use tracing::{debug, error, info, instrument}; @@ -14,9 +17,14 @@ use crate::ServerError; pub mod local_index_directory; #[derive(Debug, Clone)] -pub enum IndexMessage { - /// Start indexing the sector - IndexSector(ProvenSector), +pub enum IndexerMessage { + /// Start indexing the raw piece + IndexPiece { + /// Piece commitment + commitment: Commitment, + /// Raw piece path + piece_path: PathBuf, + }, } #[derive(Clone)] @@ -26,7 +34,7 @@ pub struct IndexerState { pub async fn start_indexer( state: IndexerState, - mut indexer_rx: UnboundedReceiver, + mut indexer_rx: UnboundedReceiver, token: CancellationToken, ) -> Result<(), ServerError> where @@ -52,47 +60,51 @@ where Ok(()) } -fn on_command(command: IndexMessage, db: Arc, tracker: &TaskTracker) +fn on_command(command: IndexerMessage, db: Arc, tracker: &TaskTracker) where D: Service + Send + Sync + 'static, { debug!("Command received: {command:?}"); match command { - IndexMessage::IndexSector(sector) => { - tracker.spawn(on_index_sector(db, sector)); + IndexerMessage::IndexPiece { + commitment, + piece_path, + } => { + tracker.spawn(on_index_piece(db, commitment, piece_path)); } } } -#[instrument(skip_all, fields(sector = %sector.sector_number))] -async fn on_index_sector(db: Arc, sector: ProvenSector) -> Result<(), ServerError> +#[instrument(skip_all, fields(piece_cid = %commitment.cid()))] +async fn on_index_piece( + db: Arc, + commitment: Commitment, + piece_path: PathBuf, +) -> Result<(), ServerError> where D: Service + Send + Sync + 'static, { - for (commitment, location) in sector.pieces_locations { - let piece_cid = commitment.cid(); - info!(%piece_cid, "indexing piece"); - - let records = piece_indexes(&location).await?; - // Move adding the index to the blocking pool. The RocksDB API is sync. - match spawn_blocking({ - let db = Arc::clone(&db); - move || db.add_index(piece_cid, records, true) - }) - .await - { - Ok(Ok(_)) => { - info!(%piece_cid, "indexing completed"); - } - Ok(Err(err)) => { - error!(%piece_cid, ?err, "piece indexing failed with an error"); - } - Err(err) => { - error!(%piece_cid, ?err, "piece indexing panicked"); - } - }; - } + info!("indexing piece"); + + let records = piece_indexes(&piece_path).await?; + // Move adding the index to the blocking pool. The RocksDB API is sync. + match spawn_blocking({ + let db = Arc::clone(&db); + move || db.add_index(commitment.cid(), records, true) + }) + .await + { + Ok(Ok(_)) => { + info!("indexing completed"); + } + Ok(Err(err)) => { + error!(?err, "piece indexing failed with an error"); + } + Err(err) => { + error!(?err, "piece indexing panicked"); + } + }; Ok(()) } diff --git a/storage-provider/server/src/main.rs b/storage-provider/server/src/main.rs index c195d7ae0..31b057d10 100644 --- a/storage-provider/server/src/main.rs +++ b/storage-provider/server/src/main.rs @@ -16,7 +16,7 @@ use std::{env::temp_dir, net::SocketAddr, ops::Deref, path::PathBuf, sync::Arc, use clap::Parser; use indexer::{ local_index_directory::rdb::{RocksDBLid, RocksDBStateStoreConfig}, - start_indexer, IndexMessage, IndexerState, + start_indexer, IndexerMessage, IndexerState, }; use libp2p::{identity::Keypair, Multiaddr, PeerId}; use p2p::{ @@ -99,7 +99,7 @@ struct SetupOutput { pipeline_rx: UnboundedReceiver, p2p_state: P2PState, indexer_state: IndexerState, - indexer_rx: UnboundedReceiver, + indexer_rx: UnboundedReceiver, retrieval_config: RetrievalServerConfig, } @@ -490,7 +490,7 @@ impl Server { tokio::fs::create_dir_all(index_dir.as_ref()).await?; // Channel used to action the indexer - let (indexer_tx, indexer_rx) = tokio::sync::mpsc::unbounded_channel::(); + let (indexer_tx, indexer_rx) = tokio::sync::mpsc::unbounded_channel::(); // Indexer underlying database let lid = Arc::new(RocksDBLid::new(RocksDBStateStoreConfig { path: index_dir.deref().clone(), @@ -522,6 +522,7 @@ impl Server { xt_keypair: self.multi_pair_signer.clone(), listen_address: self.rpc_listen_address, pipeline_sender: pipeline_tx.clone(), + indexer_tx, }; let pipeline_state = PipelineState { @@ -536,7 +537,6 @@ impl Server { xt_keypair: self.multi_pair_signer, pipeline_sender: pipeline_tx, prove_commit_throttle: Arc::new(Semaphore::new(self.parallel_prove_commits)), - indexer_tx, }; let p2p_state = P2PState { diff --git a/storage-provider/server/src/pipeline/mod.rs b/storage-provider/server/src/pipeline/mod.rs index 39e93febe..c6e9ceb51 100644 --- a/storage-provider/server/src/pipeline/mod.rs +++ b/storage-provider/server/src/pipeline/mod.rs @@ -27,10 +27,7 @@ use types::{ SubmitWindowedPoStMessage, }; -use crate::{ - db::{DBError, DealDB}, - indexer::IndexMessage, -}; +use crate::db::{DBError, DealDB}; #[derive(Debug, thiserror::Error)] pub enum PipelineError { @@ -67,8 +64,6 @@ pub struct PipelineState { pub xt_keypair: storagext::multipair::MultiPairSigner, pub pipeline_sender: UnboundedSender, pub prove_commit_throttle: Arc, - - pub indexer_tx: UnboundedSender, } #[tracing::instrument(skip_all)] @@ -175,21 +170,14 @@ impl PipelineOperations for TaskTracker { msg: ProveCommitMessage, token: CancellationToken, ) { - let indexer_tx = state.indexer_tx.clone(); - let ProveCommitMessage { sector_number } = msg; self.spawn(async move { match prove_commit(state, sector_number, token).await { - Ok(sector) => { + Ok(_) => { tracing::info!( "ProveCommit for sector {} finished successfully.", sector_number ); - - // Start indexing the sector - if let Err(err) = indexer_tx.send(IndexMessage::IndexSector(sector)) { - error!(?err, "error occurred while messaging the indexer"); - } } Err(err) => { tracing::error!(%err, "Failed ProveCommit for Sector: {}", sector_number) diff --git a/storage-provider/server/src/rpc.rs b/storage-provider/server/src/rpc.rs index 5ae510ed9..61062564c 100644 --- a/storage-provider/server/src/rpc.rs +++ b/storage-provider/server/src/rpc.rs @@ -21,6 +21,7 @@ use tracing::instrument; use crate::{ db::DealDB, + indexer::IndexerMessage, pipeline::types::{AddPieceMessage, PipelineMessage}, }; @@ -37,6 +38,7 @@ pub struct RpcServerState { pub listen_address: SocketAddr, pub pipeline_sender: UnboundedSender, + pub indexer_tx: UnboundedSender, } #[async_trait::async_trait] @@ -215,6 +217,13 @@ impl StorageProviderRpcServer for RpcServerState { })) .map_err(|e| RpcError::internal_error(e, None))?; + self.indexer_tx + .send(IndexerMessage::IndexPiece { + commitment, + piece_path, + }) + .map_err(|e| RpcError::internal_error(e, None))?; + Ok(deal_id) } From 8b57f41ff2891c11eb263057de8f379516d22129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 4 Feb 2025 16:04:23 +0100 Subject: [PATCH 19/33] revert not needed changes --- storage-provider/common/src/sector.rs | 49 +++++++-------------------- 1 file changed, 13 insertions(+), 36 deletions(-) diff --git a/storage-provider/common/src/sector.rs b/storage-provider/common/src/sector.rs index 02d3f403f..9edca9e9f 100644 --- a/storage-provider/common/src/sector.rs +++ b/storage-provider/common/src/sector.rs @@ -67,11 +67,6 @@ pub struct UnsealedSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, - /// Tracks locations of the actual pieces added to the unsealed sector. This - /// vector does not contain padding pieces. It contains the actual pieces - /// corresponding with the deals from the users. - pub pieces_locations: Vec<(Commitment, PathBuf)>, - /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -99,7 +94,6 @@ impl UnsealedSector { occupied_sector_space: 0, piece_infos: vec![], deals: vec![], - pieces_locations: vec![], unsealed_path, }) } @@ -114,29 +108,24 @@ impl UnsealedSector { self.deals.push((deal_id, deal)); let sealer = select_sealer(self.seal_proof); + // would love to use something like scoped spawn blocking + let pieces = self.piece_infos.clone(); + let unsealed_path = self.unsealed_path.clone(); let handle: JoinHandle> = - tokio::task::spawn_blocking({ - let pieces = self.piece_infos.clone(); - let unsealed_path = self.unsealed_path.clone(); - let piece_path = piece_path.clone(); - - move || { - let unsealed_sector = - std::fs::File::options().append(true).open(unsealed_path)?; - - tracing::info!("Preparing piece..."); - let (padded_reader, piece_info) = prepare_piece(piece_path, commitment)?; - tracing::info!("Adding piece..."); - let occupied_piece_space = - sealer.add_piece(padded_reader, piece_info, &pieces, unsealed_sector)?; - - Ok((piece_info, occupied_piece_space)) - } + tokio::task::spawn_blocking(move || { + let unsealed_sector = std::fs::File::options().append(true).open(unsealed_path)?; + + tracing::info!("Preparing piece..."); + let (padded_reader, piece_info) = prepare_piece(piece_path, commitment)?; + tracing::info!("Adding piece..."); + let occupied_piece_space = + sealer.add_piece(padded_reader, piece_info, &pieces, unsealed_sector)?; + + Ok((piece_info, occupied_piece_space)) }); let (piece_info, occupied_piece_space) = handle.await??; self.piece_infos.push(piece_info); - self.pieces_locations.push((commitment, piece_path)); self.occupied_sector_space = self.occupied_sector_space + occupied_piece_space; Ok(()) @@ -274,11 +263,6 @@ pub struct PreCommittedSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, - /// Tracks locations of the actual pieces added to the unsealed sector. This - /// vector does not contain padding pieces. It contains the actual pieces - /// corresponding with the deals from the users. - pub pieces_locations: Vec<(Commitment, PathBuf)>, - /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -333,7 +317,6 @@ impl PreCommittedSector { seal_proof: unsealed.seal_proof, sector_number: unsealed.sector_number, piece_infos: unsealed.piece_infos, - pieces_locations: unsealed.pieces_locations, deals: unsealed.deals, cache_path, sealed_path, @@ -495,11 +478,6 @@ pub struct ProvenSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, - /// Tracks locations of the actual pieces added to the unsealed sector. This - /// vector does not contain padding pieces. It contains the actual pieces - /// corresponding with the deals from the users. - pub pieces_locations: Vec<(Commitment, PathBuf)>, - /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -523,7 +501,6 @@ impl ProvenSector { Self { sector_number: sector.sector_number, piece_infos: sector.piece_infos, - pieces_locations: sector.pieces_locations, deals: sector.deals, cache_path: sector.cache_path, sealed_path: sector.sealed_path, From eb0e9c69a874416335391e5b69b34158705d9021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Tue, 4 Feb 2025 17:07:30 +0100 Subject: [PATCH 20/33] fix test --- .../server/src/indexer/local_index_directory/rdb.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs index 349cc04c9..f866f8ae3 100644 --- a/storage-provider/server/src/indexer/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -1075,7 +1075,7 @@ mod test { #[test] fn cursor() { let db = init_database(); - assert_eq!(db.get_next_cursor().unwrap(), (100, key_cursor_prefix(100))); + assert_eq!(db.get_next_cursor().unwrap(), (0, key_cursor_prefix(0))); assert!(db.set_next_cursor(1010).is_ok()); let cursor = db.get_next_cursor(); assert_eq!(cursor.unwrap(), (1010, key_cursor_prefix(1010))); From 4cae24be40be6bab9f19674308bfd3fba1b88bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Wed, 5 Feb 2025 13:37:51 +0100 Subject: [PATCH 21/33] test indexer --- storage-provider/server/src/indexer/mod.rs | 60 ++++++++++++++++++ .../tests/fixtures/spaceglenda_wrapped_v2.car | Bin 0 -> 654785 bytes 2 files changed, 60 insertions(+) create mode 100644 storage-provider/server/tests/fixtures/spaceglenda_wrapped_v2.car diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index 6227d0b47..dbbaa277f 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -161,3 +161,63 @@ where } }) } + +#[cfg(test)] +mod tests { + use std::{path::PathBuf, sync::Arc}; + + use futures::{pin_mut, StreamExt}; + use primitives::commitment::{CommP, Commitment}; + use tempfile::tempdir; + + use crate::indexer::{ + local_index_directory::{ + rdb::{RocksDBLid, RocksDBStateStoreConfig}, + Service, + }, + on_index_piece, stream_blocks_metadata, + }; + + #[tokio::test] + async fn test_on_index_piece() { + // Index database + let indexer_dir = tempdir().unwrap(); + let db = Arc::new( + RocksDBLid::new(RocksDBStateStoreConfig { + path: indexer_dir.path().into(), + }) + .unwrap(), + ); + + // Index the piece + let dummy_commitment = Commitment::::from([0; 32]); + let piece_path = PathBuf::from("tests/fixtures/spaceglenda_wrapped_v2.car"); + on_index_piece(Arc::clone(&db), dummy_commitment, piece_path.clone()) + .await + .unwrap(); + + // Index records should be returned + let index = db.get_index(dummy_commitment.cid()).unwrap(); + assert_eq!(index.len(), 5); + + // Piece exists + assert!(db.get_piece_metadata(dummy_commitment.cid()).is_ok()); + + // Check indexed blocks + let blocks = stream_blocks_metadata(piece_path).await.unwrap(); + pin_mut!(blocks); + + while let Some(Ok(data)) = blocks.next().await { + // Check if piece exists for the block + let indexed_pieces = db.pieces_containing_multihash(*data.cid.hash()).unwrap(); + assert_eq!(indexed_pieces, vec![dummy_commitment.cid()]); + + // Check the indexed offset size for the block + let indexed_offset = db + .get_offset_size(dummy_commitment.cid(), *data.cid.hash()) + .unwrap(); + assert_eq!(indexed_offset.offset, data.data_offset_source); + assert_eq!(indexed_offset.size, data.data_size); + } + } +} diff --git a/storage-provider/server/tests/fixtures/spaceglenda_wrapped_v2.car b/storage-provider/server/tests/fixtures/spaceglenda_wrapped_v2.car new file mode 100644 index 0000000000000000000000000000000000000000..e33af4b0f8e76e4429237a432b5f8ef4b2bbb914 GIT binary patch literal 654785 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 KA!=*Q=P5DRS*u80YVCT21;9l&#vYlJVr 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

D2-ZjK4@PF&q%4X3Ge<+aE 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℞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

tbv*)aC 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 Date: Wed, 5 Feb 2025 17:07:22 +0100 Subject: [PATCH 22/33] some changes --- Cargo.lock | 1 - mater/lib/src/lib.rs | 2 + mater/lib/src/utils.rs | 102 ++++++++++++++++++ storage-provider/server/Cargo.toml | 1 - storage-provider/server/src/indexer/mod.rs | 85 +++++++-------- .../server/src/retrieval/blockstore.rs | 82 ++++++++++++++ 6 files changed, 226 insertions(+), 47 deletions(-) create mode 100644 mater/lib/src/utils.rs diff --git a/Cargo.lock b/Cargo.lock index c6966c48a..a7b0ded93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13919,7 +13919,6 @@ dependencies = [ name = "polka-storage-provider-server" version = "0.1.0" dependencies = [ - "async-stream", "async-trait", "axum", "base64 0.22.1", diff --git a/mater/lib/src/lib.rs b/mater/lib/src/lib.rs index 82f4818c8..415c85d3e 100644 --- a/mater/lib/src/lib.rs +++ b/mater/lib/src/lib.rs @@ -15,6 +15,7 @@ mod cid; mod multicodec; mod stores; mod unixfs; +mod utils; mod v1; mod v2; @@ -23,6 +24,7 @@ pub use cid::{CidExt, MultihashExt}; pub use ipld_core::cid::Cid; pub use multicodec::{DAG_PB_CODE, IDENTITY_CODE, RAW_CODE}; pub use stores::{create_filestore, Blockstore, Config, FileBlockstore}; +pub use utils::stream_blocks_metadata; pub use v1::{BlockMetadata, Header as CarV1Header, Reader as CarV1Reader, Writer as CarV1Writer}; pub use v2::{ verify_cid, Characteristics, Header as CarV2Header, Index, IndexEntry, IndexSorted, diff --git a/mater/lib/src/utils.rs b/mater/lib/src/utils.rs new file mode 100644 index 000000000..ef203c27c --- /dev/null +++ b/mater/lib/src/utils.rs @@ -0,0 +1,102 @@ +use async_stream::try_stream; +use futures::Stream; +use tokio::io::{AsyncRead, AsyncSeek}; + +use crate::{BlockMetadata, CarV2Reader, Error}; + +/// Stream blocks metadata from CARv2 data source until completion. +pub async fn stream_blocks_metadata( + reader: R, +) -> Result>, Error> +where + R: AsyncRead + AsyncSeek + Unpin, +{ + let mut reader = CarV2Reader::new(reader); + + reader.read_pragma().await?; + let header = reader.read_header().await?; + let _v1_header = reader.read_v1_header().await?; + + let data_end = header.data_offset + header.data_size; + + Ok(try_stream! { + loop { + let metadata = reader.read_block_metadata().await?; + let position = metadata.data_offset_source + metadata.data_size; + + yield metadata; + + // This is the last block + if position >= data_end { + break; + } + } + }) +} + +#[cfg(test)] +mod tests { + use futures::{pin_mut, StreamExt}; + use tokio::fs::File; + + use crate::stream_blocks_metadata; + + #[tokio::test] + async fn test_stream_blocks_metadata_empty() { + let file = File::open("tests/fixtures/car_v2/empty.car").await.unwrap(); + let blocks = stream_blocks_metadata(file).await.unwrap(); + pin_mut!(blocks); + + // Empty block + let block = blocks.next().await.unwrap().unwrap(); + assert_eq!(block.data_size, 0); + assert_eq!(block.data_offset_source, 147); + } + + #[tokio::test] + async fn test_stream_blocks_metadata_lorem() { + let file = File::open("tests/fixtures/car_v2/lorem.car").await.unwrap(); + let blocks = stream_blocks_metadata(file).await.unwrap(); + pin_mut!(blocks); + + // First block + let block = blocks.next().await.unwrap().unwrap(); + assert_eq!(block.data_size, 7564); + assert_eq!(block.data_offset_source, 148); + + // Second block + assert!(blocks.next().await.is_none()); + } + + #[tokio::test] + async fn test_stream_blocks_metadata_spaceglenda() { + let file = File::open("tests/fixtures/car_v2/spaceglenda.car") + .await + .unwrap(); + let blocks = stream_blocks_metadata(file).await.unwrap(); + pin_mut!(blocks); + + // First block + let block = blocks.next().await.unwrap().unwrap(); + assert_eq!(block.data_size, 262144); + assert_eq!(block.data_offset_source, 149); + + // Second block + let block = blocks.next().await.unwrap().unwrap(); + assert_eq!(block.data_size, 262144); + assert_eq!(block.data_offset_source, 262332); + + // Third block + let block = blocks.next().await.unwrap().unwrap(); + assert_eq!(block.data_size, 129742); + assert_eq!(block.data_offset_source, 524515); + + // Fourth block + let block = blocks.next().await.unwrap().unwrap(); + assert_eq!(block.data_size, 158); + assert_eq!(block.data_offset_source, 654295); + + // Fifth block + assert!(blocks.next().await.is_none()); + } +} diff --git a/storage-provider/server/Cargo.toml b/storage-provider/server/Cargo.toml index 3a437abcc..291bbc688 100644 --- a/storage-provider/server/Cargo.toml +++ b/storage-provider/server/Cargo.toml @@ -20,7 +20,6 @@ polka-storage-retrieval = { workspace = true } primitives = { workspace = true, features = ["clap", "serde", "std"] } storagext = { workspace = true, features = ["clap"] } -async-stream.workspace = true async-trait = { workspace = true } axum = { workspace = true, features = ["macros", "multipart"] } base64 = { workspace = true } diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index dbbaa277f..e1bafacdb 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -3,12 +3,11 @@ use std::{ sync::Arc, }; -use async_stream::try_stream; -use futures::{pin_mut, Stream, StreamExt}; +use futures::{pin_mut, StreamExt}; use local_index_directory::{IndexRecord, OffsetSize, Service}; -use mater::{BlockMetadata, CarV2Reader}; +use mater::stream_blocks_metadata; use primitives::commitment::{CommP, Commitment}; -use tokio::{fs::File, io::AsyncSeekExt, sync::mpsc::UnboundedReceiver, task::spawn_blocking}; +use tokio::{fs::File, io::BufReader, sync::mpsc::UnboundedReceiver, task::spawn_blocking}; use tokio_util::{sync::CancellationToken, task::TaskTracker}; use tracing::{debug, error, info, instrument}; @@ -77,17 +76,18 @@ where } #[instrument(skip_all, fields(piece_cid = %commitment.cid()))] -async fn on_index_piece( +async fn on_index_piece( db: Arc, commitment: Commitment, - piece_path: PathBuf, + piece_path: P, ) -> Result<(), ServerError> where D: Service + Send + Sync + 'static, + P: AsRef, { info!("indexing piece"); - let records = piece_indexes(&piece_path).await?; + let records = piece_indexes(piece_path).await?; // Move adding the index to the blocking pool. The RocksDB API is sync. match spawn_blocking({ let db = Arc::clone(&db); @@ -114,7 +114,9 @@ async fn piece_indexes

(location: P) -> Result, ServerError> where P: AsRef, { - let blocks = stream_blocks_metadata(&location).await?; + let file = File::open(location).await?; + let reader = BufReader::new(file); + let blocks = stream_blocks_metadata(reader).await?; pin_mut!(blocks); let mut records = vec![]; @@ -133,51 +135,42 @@ where Ok(records) } -/// Stream blocks metadata from car file until completion. -async fn stream_blocks_metadata

( - location: P, -) -> Result>, ServerError> -where - P: AsRef, -{ - let raw_piece = File::open(&location).await?; - let mut reader = CarV2Reader::new(raw_piece); - reader.read_pragma().await?; - let header = reader.read_header().await?; - let _v1_header = reader.read_v1_header().await?; - - Ok(try_stream! { - loop { - let metadata = reader.read_block_metadata().await?; - let position = reader.get_inner_mut().stream_position().await?; - let data_end = header.data_offset + header.data_size; - - yield metadata; - - // This is the last block - if position >= data_end { - break; - } - } - }) -} - #[cfg(test)] -mod tests { - use std::{path::PathBuf, sync::Arc}; +pub mod tests { + use std::{ + path::{Path, PathBuf}, + sync::Arc, + }; use futures::{pin_mut, StreamExt}; + use mater::stream_blocks_metadata; use primitives::commitment::{CommP, Commitment}; use tempfile::tempdir; + use tokio::{fs::File, io::BufReader}; - use crate::indexer::{ - local_index_directory::{ - rdb::{RocksDBLid, RocksDBStateStoreConfig}, - Service, + use crate::{ + indexer::{ + local_index_directory::{ + rdb::{RocksDBLid, RocksDBStateStoreConfig}, + Service, + }, + on_index_piece, }, - on_index_piece, stream_blocks_metadata, + ServerError, }; + pub(crate) async fn index_piece( + db: Arc, + commitment: Commitment, + piece_path: P, + ) -> Result<(), ServerError> + where + D: Service + Send + Sync + 'static, + P: AsRef, + { + on_index_piece(db, commitment, piece_path).await + } + #[tokio::test] async fn test_on_index_piece() { // Index database @@ -204,7 +197,9 @@ mod tests { assert!(db.get_piece_metadata(dummy_commitment.cid()).is_ok()); // Check indexed blocks - let blocks = stream_blocks_metadata(piece_path).await.unwrap(); + let file = File::open(piece_path).await.unwrap(); + let reader = BufReader::new(file); + let blocks = stream_blocks_metadata(reader).await.unwrap(); pin_mut!(blocks); while let Some(Ok(data)) = blocks.next().await { diff --git a/storage-provider/server/src/retrieval/blockstore.rs b/storage-provider/server/src/retrieval/blockstore.rs index 0dbd18f65..cfcbe34cd 100644 --- a/storage-provider/server/src/retrieval/blockstore.rs +++ b/storage-provider/server/src/retrieval/blockstore.rs @@ -123,3 +123,85 @@ fn to_blockstore_cid(cid: &CidGeneric) -> Result Ok(Cid::new(cid.version(), cid.codec(), hash).expect("we know cid is correct here")) } + +#[cfg(test)] +mod tests { + use std::{path::Path, sync::Arc}; + + use blockstore::Blockstore; + use cid::{multihash::Multihash, Cid}; + use futures::{pin_mut, StreamExt}; + use mater::{stream_blocks_metadata, IDENTITY_CODE, RAW_CODE}; + use primitives::commitment::{CommP, Commitment}; + use tempfile::{tempdir, TempDir}; + use tokio::{fs::File, io::BufReader}; + + use super::ProviderBlockstore; + use crate::indexer::local_index_directory::rdb::{RocksDBLid, RocksDBStateStoreConfig}; + + /// Initialize a new blockstore and index a given piece + async fn init_blockstore

(location: P) -> (TempDir, ProviderBlockstore) + where + P: AsRef, + { + // Dummy piece commitment + let dummy_commitment = Commitment::::from([0; 32]); + + // Index database + let temp_dir = tempdir().unwrap(); + let db = Arc::new( + RocksDBLid::new(RocksDBStateStoreConfig { + path: temp_dir.path().into(), + }) + .unwrap(), + ); + + // Move piece to the location used by the blockstore and rename the file to its pice_cid + let raw_piece_path = temp_dir + .path() + .join(dummy_commitment.cid().to_string()) + .with_extension("car"); + tokio::fs::copy(&location, &raw_piece_path).await.unwrap(); + + // Index the piece + crate::indexer::tests::index_piece(Arc::clone(&db), dummy_commitment, raw_piece_path) + .await + .unwrap(); + + let blockstore = ProviderBlockstore::new(temp_dir.path(), db); + (temp_dir, blockstore) + } + + #[tokio::test] + async fn test_get_identity_cid() { + let (_guard, blockstore) = + init_blockstore("tests/fixtures/spaceglenda_wrapped_v2.car").await; + + let payload = b"Hello World!"; + let multihash = Multihash::wrap(IDENTITY_CODE, payload).unwrap(); + let identity_cid = Cid::new_v1(RAW_CODE, multihash); + + let has_block = blockstore.has(&identity_cid).await.unwrap(); + assert!(has_block); + + let content = blockstore.get(&identity_cid).await.unwrap().unwrap(); + assert_eq!(payload.to_vec(), content); + } + + #[tokio::test] + async fn test_get_block() { + let piece_path = "tests/fixtures/spaceglenda_wrapped_v2.car"; + let (_guard, blockstore) = init_blockstore(&piece_path).await; + + // Check if blocks are provided by the blockstore + let file = File::open(piece_path).await.unwrap(); + let reader = BufReader::new(file); + let blocks = stream_blocks_metadata(reader).await.unwrap(); + pin_mut!(blocks); + + while let Some(Ok(block)) = blocks.next().await { + let blockstore_block = blockstore.get(&block.cid).await.unwrap().unwrap(); + assert!(!blockstore_block.is_empty()); + } + } +} From 002eb4a3fe814ba422aee49b59402e5fe1f9efab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 10 Feb 2025 14:41:15 +0100 Subject: [PATCH 23/33] index on prove commit completed --- storage-provider/common/src/sector.rs | 49 +++++++++---- storage-provider/server/src/indexer/mod.rs | 69 ++++++++----------- storage-provider/server/src/main.rs | 2 +- storage-provider/server/src/pipeline/mod.rs | 16 ++++- .../server/src/retrieval/blockstore.rs | 5 +- storage-provider/server/src/rpc.rs | 9 --- 6 files changed, 82 insertions(+), 68 deletions(-) diff --git a/storage-provider/common/src/sector.rs b/storage-provider/common/src/sector.rs index 015474eda..2bb56ec44 100644 --- a/storage-provider/common/src/sector.rs +++ b/storage-provider/common/src/sector.rs @@ -64,6 +64,11 @@ pub struct UnsealedSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, + /// Tracks locations of the actual pieces added to the unsealed sector. This + /// vector does not contain padding pieces. It contains the actual pieces + /// corresponding with the deals from the users. + pub pieces_locations: Vec<(Commitment, PathBuf)>, + /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -91,6 +96,7 @@ impl UnsealedSector { occupied_sector_space: 0, piece_infos: vec![], deals: vec![], + pieces_locations: vec![], unsealed_path, }) } @@ -106,24 +112,29 @@ impl UnsealedSector { self.deals.push((deal_id, deal)); let sealer = select_sealer(self.seal_proof); - // would love to use something like scoped spawn blocking - let pieces = self.piece_infos.clone(); - let unsealed_path = self.unsealed_path.clone(); let handle: JoinHandle> = - tokio::task::spawn_blocking(move || { - let unsealed_sector = std::fs::File::options().append(true).open(unsealed_path)?; - - tracing::info!("Preparing piece..."); - let (padded_reader, piece_info) = prepare_piece(piece_path, commitment)?; - tracing::info!("Adding piece..."); - let occupied_piece_space = - sealer.add_piece(padded_reader, piece_info, &pieces, unsealed_sector)?; - - Ok((piece_info, occupied_piece_space)) + tokio::task::spawn_blocking({ + let pieces = self.piece_infos.clone(); + let unsealed_path = self.unsealed_path.clone(); + let piece_path = piece_path.clone(); + + move || { + let unsealed_sector = + std::fs::File::options().append(true).open(unsealed_path)?; + + tracing::info!("Preparing piece..."); + let (padded_reader, piece_info) = prepare_piece(piece_path, commitment)?; + tracing::info!("Adding piece..."); + let occupied_piece_space = + sealer.add_piece(padded_reader, piece_info, &pieces, unsealed_sector)?; + + Ok((piece_info, occupied_piece_space)) + } }); let (piece_info, occupied_piece_space) = handle.await??; self.piece_infos.push(piece_info); + self.pieces_locations.push((commitment, piece_path)); self.occupied_sector_space += occupied_piece_space; Ok(()) @@ -271,6 +282,11 @@ pub struct PreCommittedSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, + /// Tracks locations of the actual pieces added to the unsealed sector. This + /// vector does not contain padding pieces. It contains the actual pieces + /// corresponding with the deals from the users. + pub pieces_locations: Vec<(Commitment, PathBuf)>, + /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -325,6 +341,7 @@ impl PreCommittedSector { seal_proof: unsealed.seal_proof, sector_number: unsealed.sector_number, piece_infos: unsealed.piece_infos, + pieces_locations: unsealed.pieces_locations, deals: unsealed.deals, cache_path, sealed_path, @@ -486,6 +503,11 @@ pub struct ProvenSector { /// Indexes match with corresponding deals in [`Sector::deals`]. pub piece_infos: Vec, + /// Tracks locations of the actual pieces added to the unsealed sector. This + /// vector does not contain padding pieces. It contains the actual pieces + /// corresponding with the deals from the users. + pub pieces_locations: Vec<(Commitment, PathBuf)>, + /// Tracks all of the deals that have been added to the sector. pub deals: Vec<(DealId, DealProposal)>, @@ -509,6 +531,7 @@ impl ProvenSector { Self { sector_number: sector.sector_number, piece_infos: sector.piece_infos, + pieces_locations: sector.pieces_locations, deals: sector.deals, cache_path: sector.cache_path, sealed_path: sector.sealed_path, diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index e1bafacdb..5d3aeb69b 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -1,11 +1,9 @@ -use std::{ - path::{Path, PathBuf}, - sync::Arc, -}; +use std::{path::Path, sync::Arc}; use futures::{pin_mut, StreamExt}; use local_index_directory::{IndexRecord, OffsetSize, Service}; use mater::stream_blocks_metadata; +use polka_storage_provider_common::sector::ProvenSector; use primitives::commitment::{CommP, Commitment}; use tokio::{fs::File, io::BufReader, sync::mpsc::UnboundedReceiver, task::spawn_blocking}; use tokio_util::{sync::CancellationToken, task::TaskTracker}; @@ -17,13 +15,8 @@ pub mod local_index_directory; #[derive(Debug, Clone)] pub enum IndexerMessage { - /// Start indexing the raw piece - IndexPiece { - /// Piece commitment - commitment: Commitment, - /// Raw piece path - piece_path: PathBuf, - }, + /// Start indexing the sector + IndexSector(ProvenSector), } #[derive(Clone)] @@ -66,28 +59,32 @@ where debug!("Command received: {command:?}"); match command { - IndexerMessage::IndexPiece { - commitment, - piece_path, - } => { - tracker.spawn(on_index_piece(db, commitment, piece_path)); + IndexerMessage::IndexSector(sector) => { + sector + .pieces_locations + .into_iter() + .for_each(|(commitment, piece_path)| { + let db = Arc::clone(&db); + tracker.spawn(index_piece(db, commitment, piece_path)); + }); } } } #[instrument(skip_all, fields(piece_cid = %commitment.cid()))] -async fn on_index_piece( - db: Arc, - commitment: Commitment, - piece_path: P, -) -> Result<(), ServerError> +async fn index_piece(db: Arc, commitment: Commitment, piece_path: P) where D: Service + Send + Sync + 'static, P: AsRef, { - info!("indexing piece"); + let records = match piece_indexes(piece_path).await { + Ok(records) => records, + Err(err) => { + error!(?err, "piece indexing failed with an error"); + return; + } + }; - let records = piece_indexes(piece_path).await?; // Move adding the index to the blocking pool. The RocksDB API is sync. match spawn_blocking({ let db = Arc::clone(&db); @@ -105,8 +102,6 @@ where error!(?err, "piece indexing panicked"); } }; - - Ok(()) } /// Prepares indexes of a raw piece. @@ -148,27 +143,23 @@ pub mod tests { use tempfile::tempdir; use tokio::{fs::File, io::BufReader}; - use crate::{ - indexer::{ - local_index_directory::{ - rdb::{RocksDBLid, RocksDBStateStoreConfig}, - Service, - }, - on_index_piece, + use crate::indexer::{ + index_piece, + local_index_directory::{ + rdb::{RocksDBLid, RocksDBStateStoreConfig}, + Service, }, - ServerError, }; - pub(crate) async fn index_piece( + pub(crate) async fn index_piece_util( db: Arc, commitment: Commitment, piece_path: P, - ) -> Result<(), ServerError> - where + ) where D: Service + Send + Sync + 'static, P: AsRef, { - on_index_piece(db, commitment, piece_path).await + index_piece(db, commitment, piece_path).await } #[tokio::test] @@ -185,9 +176,7 @@ pub mod tests { // Index the piece let dummy_commitment = Commitment::::from([0; 32]); let piece_path = PathBuf::from("tests/fixtures/spaceglenda_wrapped_v2.car"); - on_index_piece(Arc::clone(&db), dummy_commitment, piece_path.clone()) - .await - .unwrap(); + index_piece(Arc::clone(&db), dummy_commitment, piece_path.clone()).await; // Index records should be returned let index = db.get_index(dummy_commitment.cid()).unwrap(); diff --git a/storage-provider/server/src/main.rs b/storage-provider/server/src/main.rs index af3d11474..e9743cc46 100644 --- a/storage-provider/server/src/main.rs +++ b/storage-provider/server/src/main.rs @@ -527,7 +527,6 @@ impl Server { xt_keypair: self.multi_pair_signer.clone(), listen_address: self.rpc_listen_address, pipeline_sender: pipeline_tx.clone(), - indexer_tx, }; let pipeline_state = PipelineState { @@ -542,6 +541,7 @@ impl Server { xt_keypair: self.multi_pair_signer, pipeline_sender: pipeline_tx, prove_commit_throttle: Arc::new(Semaphore::new(self.parallel_prove_commits)), + indexer_tx, }; let p2p_state = P2PState { diff --git a/storage-provider/server/src/pipeline/mod.rs b/storage-provider/server/src/pipeline/mod.rs index 592a9ffba..ebca43f48 100644 --- a/storage-provider/server/src/pipeline/mod.rs +++ b/storage-provider/server/src/pipeline/mod.rs @@ -27,7 +27,10 @@ use types::{ SubmitWindowedPoStMessage, }; -use crate::db::{DBError, DealDB}; +use crate::{ + db::{DBError, DealDB}, + indexer::IndexerMessage, +}; #[derive(Debug, thiserror::Error)] pub enum PipelineError { @@ -64,6 +67,8 @@ pub struct PipelineState { pub xt_keypair: storagext::multipair::MultiPairSigner, pub pipeline_sender: UnboundedSender, pub prove_commit_throttle: Arc, + + pub indexer_tx: UnboundedSender, } #[tracing::instrument(skip_all)] @@ -170,14 +175,21 @@ impl PipelineOperations for TaskTracker { msg: ProveCommitMessage, token: CancellationToken, ) { + let indexer_tx = state.indexer_tx.clone(); + let ProveCommitMessage { sector_number } = msg; self.spawn(async move { match prove_commit(state, sector_number, token).await { - Ok(_) => { + Ok(sector) => { tracing::info!( "ProveCommit for sector {} finished successfully.", sector_number ); + + // Start indexing the sector + if let Err(err) = indexer_tx.send(IndexerMessage::IndexSector(sector)) { + error!(?err, "error occurred while messaging the indexer"); + } } Err(err) => { tracing::error!(%err, "Failed ProveCommit for Sector: {}", sector_number) diff --git a/storage-provider/server/src/retrieval/blockstore.rs b/storage-provider/server/src/retrieval/blockstore.rs index cfcbe34cd..be39893ff 100644 --- a/storage-provider/server/src/retrieval/blockstore.rs +++ b/storage-provider/server/src/retrieval/blockstore.rs @@ -164,9 +164,8 @@ mod tests { tokio::fs::copy(&location, &raw_piece_path).await.unwrap(); // Index the piece - crate::indexer::tests::index_piece(Arc::clone(&db), dummy_commitment, raw_piece_path) - .await - .unwrap(); + crate::indexer::tests::index_piece_util(Arc::clone(&db), dummy_commitment, raw_piece_path) + .await; let blockstore = ProviderBlockstore::new(temp_dir.path(), db); (temp_dir, blockstore) diff --git a/storage-provider/server/src/rpc.rs b/storage-provider/server/src/rpc.rs index 66c5e658e..21f422900 100644 --- a/storage-provider/server/src/rpc.rs +++ b/storage-provider/server/src/rpc.rs @@ -21,7 +21,6 @@ use tracing::instrument; use crate::{ db::DealDB, - indexer::IndexerMessage, pipeline::types::{AddPieceMessage, PipelineMessage}, }; @@ -38,7 +37,6 @@ pub struct RpcServerState { pub listen_address: SocketAddr, pub pipeline_sender: UnboundedSender, - pub indexer_tx: UnboundedSender, } impl RpcServerState { @@ -298,13 +296,6 @@ impl StorageProviderRpcServer for RpcServerState { })) .map_err(|e| RpcError::internal_error(e, None))?; - self.indexer_tx - .send(IndexerMessage::IndexPiece { - commitment, - piece_path, - }) - .map_err(|e| RpcError::internal_error(e, None))?; - Ok(deal_id) } From d502f045ba0c3962bc13a481b6dadbe980592f7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 10 Feb 2025 15:09:06 +0100 Subject: [PATCH 24/33] after merge fix --- storage-provider/common/src/sector.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage-provider/common/src/sector.rs b/storage-provider/common/src/sector.rs index 148157e9d..ecaf35f7c 100644 --- a/storage-provider/common/src/sector.rs +++ b/storage-provider/common/src/sector.rs @@ -131,7 +131,7 @@ impl UnsealedSector { let (padded_reader, piece_info) = prepare_piece(piece_path, commitment)?; tracing::info!("Adding piece..."); let occupied_piece_space = - sealer.add_piece(padded_reader, piece_info, &pieces, unsealed_sector)?; + add_piece(padded_reader, piece_info, &pieces, unsealed_sector)?; Ok((piece_info, occupied_piece_space)) } From 364b213470815ced7ca573e557c4f2e43bfdb39e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Fri, 14 Feb 2025 12:29:43 +0100 Subject: [PATCH 25/33] merge fixes --- storage-provider/server/src/pipeline/mod.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/storage-provider/server/src/pipeline/mod.rs b/storage-provider/server/src/pipeline/mod.rs index 0f4cba730..3174e88a8 100644 --- a/storage-provider/server/src/pipeline/mod.rs +++ b/storage-provider/server/src/pipeline/mod.rs @@ -27,10 +27,9 @@ use types::{ }; use crate::{ - { db::{DBError, DealDB}, - pipeline::add_piece::add_piece, indexer::IndexerMessage, + pipeline::add_piece::add_piece, }; #[derive(Debug, thiserror::Error)] From abde8323c92750b42ee1ccce0fff4195166c0f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 17 Feb 2025 14:57:51 +0100 Subject: [PATCH 26/33] remove mater utils --- mater/lib/src/cid.rs | 4 +- mater/lib/src/lib.rs | 2 - mater/lib/src/utils.rs | 102 ------------------ storage-provider/server/src/indexer/mod.rs | 74 +++++++++---- .../server/src/retrieval/blockstore.rs | 23 ++-- 5 files changed, 72 insertions(+), 133 deletions(-) delete mode 100644 mater/lib/src/utils.rs diff --git a/mater/lib/src/cid.rs b/mater/lib/src/cid.rs index fcb21656e..b24260d6f 100644 --- a/mater/lib/src/cid.rs +++ b/mater/lib/src/cid.rs @@ -3,7 +3,7 @@ use tokio::io::{AsyncRead, AsyncReadExt}; use crate::{async_varint::read_varint, IDENTITY_CODE}; -/// Extension trait for Cid +/// Extension trait for [`ipld_core::cid::Cid``] pub trait CidExt { /// Reads the bytes from a byte stream. fn read_bytes_async(r: R) -> impl std::future::Future> @@ -15,7 +15,7 @@ pub trait CidExt { fn get_identity_data(&self) -> Option<&[u8]>; } -/// Extension trait for Multihash +/// Extension trait for [`ipld_core::cid::multihash::Multihash`] pub trait MultihashExt { /// Reads the bytes from a byte stream. fn read_async(r: R) -> impl std::future::Future> diff --git a/mater/lib/src/lib.rs b/mater/lib/src/lib.rs index 2f08c1360..93b4a14c2 100644 --- a/mater/lib/src/lib.rs +++ b/mater/lib/src/lib.rs @@ -17,7 +17,6 @@ mod file_reader; mod multicodec; mod stores; mod unixfs; -mod utils; mod v1; mod v2; @@ -27,7 +26,6 @@ pub use file_reader::CarExtractor; pub use ipld_core::cid::Cid; pub use multicodec::{DAG_PB_CODE, IDENTITY_CODE, RAW_CODE}; pub use stores::{create_filestore, Blockstore, Config, FileBlockstore}; -pub use utils::stream_blocks_metadata; pub use v1::{BlockMetadata, Header as CarV1Header, Reader as CarV1Reader, Writer as CarV1Writer}; pub use v2::{ verify_cid, Characteristics, Header as CarV2Header, Index, IndexEntry, IndexSorted, diff --git a/mater/lib/src/utils.rs b/mater/lib/src/utils.rs deleted file mode 100644 index ef203c27c..000000000 --- a/mater/lib/src/utils.rs +++ /dev/null @@ -1,102 +0,0 @@ -use async_stream::try_stream; -use futures::Stream; -use tokio::io::{AsyncRead, AsyncSeek}; - -use crate::{BlockMetadata, CarV2Reader, Error}; - -/// Stream blocks metadata from CARv2 data source until completion. -pub async fn stream_blocks_metadata( - reader: R, -) -> Result>, Error> -where - R: AsyncRead + AsyncSeek + Unpin, -{ - let mut reader = CarV2Reader::new(reader); - - reader.read_pragma().await?; - let header = reader.read_header().await?; - let _v1_header = reader.read_v1_header().await?; - - let data_end = header.data_offset + header.data_size; - - Ok(try_stream! { - loop { - let metadata = reader.read_block_metadata().await?; - let position = metadata.data_offset_source + metadata.data_size; - - yield metadata; - - // This is the last block - if position >= data_end { - break; - } - } - }) -} - -#[cfg(test)] -mod tests { - use futures::{pin_mut, StreamExt}; - use tokio::fs::File; - - use crate::stream_blocks_metadata; - - #[tokio::test] - async fn test_stream_blocks_metadata_empty() { - let file = File::open("tests/fixtures/car_v2/empty.car").await.unwrap(); - let blocks = stream_blocks_metadata(file).await.unwrap(); - pin_mut!(blocks); - - // Empty block - let block = blocks.next().await.unwrap().unwrap(); - assert_eq!(block.data_size, 0); - assert_eq!(block.data_offset_source, 147); - } - - #[tokio::test] - async fn test_stream_blocks_metadata_lorem() { - let file = File::open("tests/fixtures/car_v2/lorem.car").await.unwrap(); - let blocks = stream_blocks_metadata(file).await.unwrap(); - pin_mut!(blocks); - - // First block - let block = blocks.next().await.unwrap().unwrap(); - assert_eq!(block.data_size, 7564); - assert_eq!(block.data_offset_source, 148); - - // Second block - assert!(blocks.next().await.is_none()); - } - - #[tokio::test] - async fn test_stream_blocks_metadata_spaceglenda() { - let file = File::open("tests/fixtures/car_v2/spaceglenda.car") - .await - .unwrap(); - let blocks = stream_blocks_metadata(file).await.unwrap(); - pin_mut!(blocks); - - // First block - let block = blocks.next().await.unwrap().unwrap(); - assert_eq!(block.data_size, 262144); - assert_eq!(block.data_offset_source, 149); - - // Second block - let block = blocks.next().await.unwrap().unwrap(); - assert_eq!(block.data_size, 262144); - assert_eq!(block.data_offset_source, 262332); - - // Third block - let block = blocks.next().await.unwrap().unwrap(); - assert_eq!(block.data_size, 129742); - assert_eq!(block.data_offset_source, 524515); - - // Fourth block - let block = blocks.next().await.unwrap().unwrap(); - assert_eq!(block.data_size, 158); - assert_eq!(block.data_offset_source, 654295); - - // Fifth block - assert!(blocks.next().await.is_none()); - } -} diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index 5d3aeb69b..73a6105b6 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -1,8 +1,7 @@ -use std::{path::Path, sync::Arc}; +use std::{fmt::Debug, path::Path, sync::Arc}; -use futures::{pin_mut, StreamExt}; use local_index_directory::{IndexRecord, OffsetSize, Service}; -use mater::stream_blocks_metadata; +use mater::CarV2Reader; use polka_storage_provider_common::sector::ProvenSector; use primitives::commitment::{CommP, Commitment}; use tokio::{fs::File, io::BufReader, sync::mpsc::UnboundedReceiver, task::spawn_blocking}; @@ -75,12 +74,12 @@ where async fn index_piece(db: Arc, commitment: Commitment, piece_path: P) where D: Service + Send + Sync + 'static, - P: AsRef, + P: AsRef + Debug, { - let records = match piece_indexes(piece_path).await { + let records = match piece_indexes(&piece_path).await { Ok(records) => records, Err(err) => { - error!(?err, "piece indexing failed with an error"); + error!(?piece_path, ?err, "piece indexing failed with an error"); return; } }; @@ -111,12 +110,17 @@ where { let file = File::open(location).await?; let reader = BufReader::new(file); - let blocks = stream_blocks_metadata(reader).await?; - pin_mut!(blocks); + let mut reader = CarV2Reader::new(reader); + + reader.read_pragma().await?; + let header = reader.read_header().await?; + let _v1_header = reader.read_v1_header().await?; + let data_end = header.data_offset + header.data_size; let mut records = vec![]; - while let Some(metadata) = blocks.next().await { - let metadata = metadata?; + loop { + let metadata = reader.read_block_metadata().await?; + let position = metadata.data_offset_source + metadata.data_size; records.push(IndexRecord { cid: metadata.cid, @@ -125,6 +129,11 @@ where size: metadata.data_size, }, }); + + // This is the last block + if position >= data_end { + break; + } } Ok(records) @@ -133,12 +142,12 @@ where #[cfg(test)] pub mod tests { use std::{ + fmt::Debug, path::{Path, PathBuf}, sync::Arc, }; - use futures::{pin_mut, StreamExt}; - use mater::stream_blocks_metadata; + use mater::CarV2Reader; use primitives::commitment::{CommP, Commitment}; use tempfile::tempdir; use tokio::{fs::File, io::BufReader}; @@ -147,7 +156,7 @@ pub mod tests { index_piece, local_index_directory::{ rdb::{RocksDBLid, RocksDBStateStoreConfig}, - Service, + IndexRecord, OffsetSize, Service, }, }; @@ -157,7 +166,7 @@ pub mod tests { piece_path: P, ) where D: Service + Send + Sync + 'static, - P: AsRef, + P: AsRef + Debug, { index_piece(db, commitment, piece_path).await } @@ -188,20 +197,43 @@ pub mod tests { // Check indexed blocks let file = File::open(piece_path).await.unwrap(); let reader = BufReader::new(file); - let blocks = stream_blocks_metadata(reader).await.unwrap(); - pin_mut!(blocks); + let mut reader = CarV2Reader::new(reader); + + reader.read_pragma().await.unwrap(); + let header = reader.read_header().await.unwrap(); + let _v1_header = reader.read_v1_header().await.unwrap(); + let data_end = header.data_offset + header.data_size; + + let mut records = vec![]; + loop { + let metadata = reader.read_block_metadata().await.unwrap(); + let position = metadata.data_offset_source + metadata.data_size; - while let Some(Ok(data)) = blocks.next().await { // Check if piece exists for the block - let indexed_pieces = db.pieces_containing_multihash(*data.cid.hash()).unwrap(); + let indexed_pieces = db + .pieces_containing_multihash(*metadata.cid.hash()) + .unwrap(); assert_eq!(indexed_pieces, vec![dummy_commitment.cid()]); // Check the indexed offset size for the block let indexed_offset = db - .get_offset_size(dummy_commitment.cid(), *data.cid.hash()) + .get_offset_size(dummy_commitment.cid(), *metadata.cid.hash()) .unwrap(); - assert_eq!(indexed_offset.offset, data.data_offset_source); - assert_eq!(indexed_offset.size, data.data_size); + assert_eq!(indexed_offset.offset, metadata.data_offset_source); + assert_eq!(indexed_offset.size, metadata.data_size); + + records.push(IndexRecord { + cid: metadata.cid, + offset_size: OffsetSize { + offset: metadata.data_offset_source, + size: metadata.data_size, + }, + }); + + // This is the last block + if position >= data_end { + break; + } } } } diff --git a/storage-provider/server/src/retrieval/blockstore.rs b/storage-provider/server/src/retrieval/blockstore.rs index be39893ff..abbfdf67c 100644 --- a/storage-provider/server/src/retrieval/blockstore.rs +++ b/storage-provider/server/src/retrieval/blockstore.rs @@ -130,8 +130,7 @@ mod tests { use blockstore::Blockstore; use cid::{multihash::Multihash, Cid}; - use futures::{pin_mut, StreamExt}; - use mater::{stream_blocks_metadata, IDENTITY_CODE, RAW_CODE}; + use mater::{CarV2Reader, IDENTITY_CODE, RAW_CODE}; use primitives::commitment::{CommP, Commitment}; use tempfile::{tempdir, TempDir}; use tokio::{fs::File, io::BufReader}; @@ -195,12 +194,24 @@ mod tests { // Check if blocks are provided by the blockstore let file = File::open(piece_path).await.unwrap(); let reader = BufReader::new(file); - let blocks = stream_blocks_metadata(reader).await.unwrap(); - pin_mut!(blocks); + let mut reader = CarV2Reader::new(reader); - while let Some(Ok(block)) = blocks.next().await { - let blockstore_block = blockstore.get(&block.cid).await.unwrap().unwrap(); + reader.read_pragma().await.unwrap(); + let header = reader.read_header().await.unwrap(); + let _v1_header = reader.read_v1_header().await.unwrap(); + let data_end = header.data_offset + header.data_size; + + loop { + let metadata = reader.read_block_metadata().await.unwrap(); + let position = metadata.data_offset_source + metadata.data_size; + + let blockstore_block = blockstore.get(&metadata.cid).await.unwrap().unwrap(); assert!(!blockstore_block.is_empty()); + + // This is the last block + if position >= data_end { + break; + } } } } From 83fc15bd0f7a293d0d46b8ddd9af70798e2b9fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 17 Feb 2025 15:35:15 +0100 Subject: [PATCH 27/33] more review suggestions --- storage-provider/server/src/config.rs | 2 +- .../src/indexer/local_index_directory/mod.rs | 1 - .../src/indexer/local_index_directory/rdb.rs | 58 ++++++++++++++----- .../indexer/local_index_directory/rdb_ext.rs | 38 ------------ .../server/src/retrieval/blockstore.rs | 10 +++- storage-provider/server/src/rpc.rs | 2 +- 6 files changed, 53 insertions(+), 58 deletions(-) delete mode 100644 storage-provider/server/src/indexer/local_index_directory/rdb_ext.rs diff --git a/storage-provider/server/src/config.rs b/storage-provider/server/src/config.rs index 88026a184..f924045a9 100644 --- a/storage-provider/server/src/config.rs +++ b/storage-provider/server/src/config.rs @@ -69,7 +69,7 @@ pub struct ConfigurationArgs { #[arg(long, default_value_t = default_node_address())] pub(crate) node_url: Url, - /// Storage provider listen address. + /// Storage provider retrieval service listen address. #[serde(default = "default_retrieval_address")] #[arg(long, default_value_t = default_retrieval_address())] pub(crate) retrieval_listen_address: Multiaddr, diff --git a/storage-provider/server/src/indexer/local_index_directory/mod.rs b/storage-provider/server/src/indexer/local_index_directory/mod.rs index 236ea65f3..30e074af8 100644 --- a/storage-provider/server/src/indexer/local_index_directory/mod.rs +++ b/storage-provider/server/src/indexer/local_index_directory/mod.rs @@ -13,7 +13,6 @@ use serde::{Deserialize, Serialize}; use uuid::Uuid; pub mod rdb; -pub mod rdb_ext; /// Convert a [`Multihash`] into a key (converts [`Multihash::digest`] to base-64). /// diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb.rs b/storage-provider/server/src/indexer/local_index_directory/rdb.rs index f866f8ae3..1d4d0b0e7 100644 --- a/storage-provider/server/src/indexer/local_index_directory/rdb.rs +++ b/storage-provider/server/src/indexer/local_index_directory/rdb.rs @@ -5,16 +5,15 @@ use base64::Engine; use cid::{multihash::Multihash, Cid}; use integer_encoding::{VarInt, VarIntReader}; use rocksdb::{ - ColumnFamily, ColumnFamilyDescriptor, IteratorMode, Options, WriteBatchWithTransaction, - DB as RocksDB, + AsColumnFamilyRef, ColumnFamily, ColumnFamilyDescriptor, IteratorMode, Options, + WriteBatchWithTransaction, DB as RocksDB, }; use serde::{de::DeserializeOwned, Serialize}; use uuid::Uuid; use super::{ - multihash_base64, rdb_ext::WriteBatchWithTransactionExt, DealInfo, FlaggedPiece, - FlaggedPiecesListFilter, IndexRecord, LidError, OffsetSize, PieceInfo, Service, - StorageProviderAddress, + multihash_base64, DealInfo, FlaggedPiece, FlaggedPiecesListFilter, IndexRecord, LidError, + OffsetSize, PieceInfo, Service, StorageProviderAddress, }; const RAW_CODEC: u64 = 0x55; @@ -83,6 +82,40 @@ fn key_flag_piece(cid: &Cid, address: &StorageProviderAddress) -> String { format!("/{}/{}", cid, address.0) } +pub(crate) trait WriteBatchWithTransactionExt { + /// Insert a CBOR serialized value with the provided key. + fn put_cf_cbor( + &mut self, + cf: &impl AsColumnFamilyRef, + key: K, + value: V, + ) -> Result<(), LidError> + where + K: AsRef<[u8]>, + V: Serialize; +} + +impl WriteBatchWithTransactionExt + for WriteBatchWithTransaction +{ + fn put_cf_cbor( + &mut self, + cf: &impl AsColumnFamilyRef, + key: K, + value: V, + ) -> Result<(), LidError> + where + K: AsRef<[u8]>, + V: Serialize, + { + let mut serialized = vec![]; + if let Err(err) = ciborium::into_writer(&value, &mut serialized) { + return Err(LidError::Serialization(err.to_string())); + } + Ok(self.put_cf(cf, key, serialized)) + } +} + pub struct RocksDBStateStoreConfig { pub path: PathBuf, } @@ -273,14 +306,11 @@ impl RocksDBLid { /// Initialize cursor with the default value if not set already. fn init_cursor(&self) -> Result<(), LidError> { - if let Err(err) = self.get_next_cursor() { - if matches!(err, LidError::CursorNotFound) { - self.set_next_cursor(0)?; - } else { - return Err(err); - } + match self.get_next_cursor() { + Ok(_) => Ok(()), + Err(LidError::CursorNotFound) => self.set_next_cursor(0), + Err(err) => Err(err), } - Ok(()) } /// Get the next available cursor. @@ -350,7 +380,7 @@ impl RocksDBLid { // Filter out the keys not prefixed with the cursor if !key.as_ref().starts_with(cursor_prefix.as_bytes()) { - continue; + break; } let (_, mh_key) = key.split_at(cursor_prefix.len()); @@ -628,7 +658,7 @@ impl Service for RocksDBLid { // Filter out the keys not prefixed with the cursor if !key.as_ref().starts_with(cursor_prefix.as_bytes()) { - continue; + break; } // With some trickery, we can probably get rid of this allocation diff --git a/storage-provider/server/src/indexer/local_index_directory/rdb_ext.rs b/storage-provider/server/src/indexer/local_index_directory/rdb_ext.rs deleted file mode 100644 index eef43d0cf..000000000 --- a/storage-provider/server/src/indexer/local_index_directory/rdb_ext.rs +++ /dev/null @@ -1,38 +0,0 @@ -use rocksdb::{AsColumnFamilyRef, WriteBatchWithTransaction}; -use serde::Serialize; - -use super::LidError; - -pub(crate) trait WriteBatchWithTransactionExt { - /// Insert a CBOR serialized value with the provided key. - fn put_cf_cbor( - &mut self, - cf: &impl AsColumnFamilyRef, - key: K, - value: V, - ) -> Result<(), LidError> - where - K: AsRef<[u8]>, - V: Serialize; -} - -impl WriteBatchWithTransactionExt - for WriteBatchWithTransaction -{ - fn put_cf_cbor( - &mut self, - cf: &impl AsColumnFamilyRef, - key: K, - value: V, - ) -> Result<(), LidError> - where - K: AsRef<[u8]>, - V: Serialize, - { - let mut serialized = vec![]; - if let Err(err) = ciborium::into_writer(&value, &mut serialized) { - return Err(LidError::Serialization(err.to_string())); - } - Ok(self.put_cf(cf, key, serialized)) - } -} diff --git a/storage-provider/server/src/retrieval/blockstore.rs b/storage-provider/server/src/retrieval/blockstore.rs index abbfdf67c..f0c6a44fb 100644 --- a/storage-provider/server/src/retrieval/blockstore.rs +++ b/storage-provider/server/src/retrieval/blockstore.rs @@ -7,6 +7,7 @@ use tokio::{ fs::File, io::{AsyncReadExt, AsyncSeekExt}, }; +use tracing::debug; use crate::indexer::local_index_directory::Service; @@ -46,11 +47,13 @@ where // Pieces containing the cid. let Ok(pieces) = self.indexer.pieces_containing_multihash(*cid.hash()) else { + debug!(multihash = ?cid.hash(), "no pieces containing a multihash"); return Ok(None); }; // We take the first piece that contains the multihash let Some(piece_cid) = pieces.first() else { + debug!(multihash = ?cid.hash(), "no piece containing a multihash"); return Ok(None); }; @@ -97,13 +100,13 @@ where _data: &[u8], ) -> blockstore::Result<()> { Err(Error::FatalDatabaseError( - "put operation not supported".to_string(), + "Blockstore is read-only".to_string(), )) } async fn remove(&self, _cid: &cid::CidGeneric) -> blockstore::Result<()> { Err(Error::FatalDatabaseError( - "remove operation not supported".to_string(), + "Blockstore is read-only".to_string(), )) } @@ -121,7 +124,8 @@ fn to_blockstore_cid(cid: &CidGeneric) -> Result .resize::<64>() .map_err(|_| Error::CidError(CidError::InvalidMultihashLength(digest_size)))?; - Ok(Cid::new(cid.version(), cid.codec(), hash).expect("we know cid is correct here")) + Ok(Cid::new(cid.version(), cid.codec(), hash) + .expect("new CID is derived from a valid existing CID, this should never fail")) } #[cfg(test)] diff --git a/storage-provider/server/src/rpc.rs b/storage-provider/server/src/rpc.rs index 257f31b4d..9b6d2849b 100644 --- a/storage-provider/server/src/rpc.rs +++ b/storage-provider/server/src/rpc.rs @@ -314,7 +314,7 @@ impl StorageProviderRpcServer for RpcServerState { .send(PipelineMessage::AddPiece(AddPieceMessage { deal: deal_proposal, published_deal_id: deal_id, - piece_path: piece_path.clone(), + piece_path, commitment, })) .map_err(|e| RpcError::internal_error(e, None))?; From 835eb520927e43480a3e62712e24d1b1ea485ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 17 Feb 2025 15:38:23 +0100 Subject: [PATCH 28/33] convert to symlink --- .../tests/fixtures/spaceglenda_wrapped_v2.car | Bin 654785 -> 67 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 120000 storage-provider/server/tests/fixtures/spaceglenda_wrapped_v2.car diff --git a/storage-provider/server/tests/fixtures/spaceglenda_wrapped_v2.car b/storage-provider/server/tests/fixtures/spaceglenda_wrapped_v2.car deleted file mode 100644 index e33af4b0f8e76e4429237a432b5f8ef4b2bbb914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 654785 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 KA!=*Q=P5DRS*u80YVCT21;9l&#vYlJVr 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

#?NSHsFc}d?salQ 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�abAmMw@rA7+#*a%SV*U8aV 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 qi9J4oLvNqxSu$1%4v|0px|XpNlxG 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

D2-ZjK4@PF&q%4X3Ge<+aE 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℞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

tbv*)aC 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 Date: Mon, 17 Feb 2025 15:51:27 +0100 Subject: [PATCH 29/33] rename generic type --- storage-provider/server/src/indexer/mod.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index 73a6105b6..35cb722fc 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -19,17 +19,17 @@ pub enum IndexerMessage { } #[derive(Clone)] -pub struct IndexerState { - pub lid: Arc, +pub struct IndexerState { + pub lid: Arc, } -pub async fn start_indexer( - state: IndexerState, +pub async fn start_indexer( + state: IndexerState, mut indexer_rx: UnboundedReceiver, token: CancellationToken, ) -> Result<(), ServerError> where - D: Service + Send + Sync + 'static, + I: Service + Send + Sync + 'static, { let tracker = TaskTracker::new(); @@ -51,9 +51,9 @@ where Ok(()) } -fn on_command(command: IndexerMessage, db: Arc, tracker: &TaskTracker) +fn on_command(command: IndexerMessage, db: Arc, tracker: &TaskTracker) where - D: Service + Send + Sync + 'static, + I: Service + Send + Sync + 'static, { debug!("Command received: {command:?}"); @@ -71,9 +71,9 @@ where } #[instrument(skip_all, fields(piece_cid = %commitment.cid()))] -async fn index_piece(db: Arc, commitment: Commitment, piece_path: P) +async fn index_piece(db: Arc, commitment: Commitment, piece_path: P) where - D: Service + Send + Sync + 'static, + I: Service + Send + Sync + 'static, P: AsRef + Debug, { let records = match piece_indexes(&piece_path).await { From 915fa14ed2f48148cb49be09ffe9ae9532e51d92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 17 Feb 2025 16:16:48 +0100 Subject: [PATCH 30/33] change comment --- storage-provider/server/src/indexer/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index 35cb722fc..4b0c8c470 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -98,7 +98,7 @@ where error!(?err, "piece indexing failed with an error"); } Err(err) => { - error!(?err, "piece indexing panicked"); + error!(?err, "failed to join task"); } }; } From 78446ad8959abee38c93c513a2b05f2b30bba6e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 17 Feb 2025 16:29:12 +0100 Subject: [PATCH 31/33] docs --- mater/lib/src/cid.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mater/lib/src/cid.rs b/mater/lib/src/cid.rs index b24260d6f..6c11e6891 100644 --- a/mater/lib/src/cid.rs +++ b/mater/lib/src/cid.rs @@ -3,7 +3,7 @@ use tokio::io::{AsyncRead, AsyncReadExt}; use crate::{async_varint::read_varint, IDENTITY_CODE}; -/// Extension trait for [`ipld_core::cid::Cid``] +/// Extension trait for [`Cid`](ipld_core::cid::Cid) pub trait CidExt { /// Reads the bytes from a byte stream. fn read_bytes_async(r: R) -> impl std::future::Future> @@ -15,7 +15,7 @@ pub trait CidExt { fn get_identity_data(&self) -> Option<&[u8]>; } -/// Extension trait for [`ipld_core::cid::multihash::Multihash`] +/// Extension trait for [`Multihash`](ipld_core::cid::multihash::Multihash) pub trait MultihashExt { /// Reads the bytes from a byte stream. fn read_async(r: R) -> impl std::future::Future> From 4a53246ac7b1df87e1e55bc2bbf269c7b76b7e5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 17 Feb 2025 16:32:17 +0100 Subject: [PATCH 32/33] small change --- storage-provider/server/src/indexer/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index 4b0c8c470..6813d865e 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -74,12 +74,12 @@ where async fn index_piece(db: Arc, commitment: Commitment, piece_path: P) where I: Service + Send + Sync + 'static, - P: AsRef + Debug, + P: AsRef, { let records = match piece_indexes(&piece_path).await { Ok(records) => records, Err(err) => { - error!(?piece_path, ?err, "piece indexing failed with an error"); + error!(piece_path = ?piece_path.as_ref(), ?err, "piece indexing failed with an error"); return; } }; @@ -166,7 +166,7 @@ pub mod tests { piece_path: P, ) where D: Service + Send + Sync + 'static, - P: AsRef + Debug, + P: AsRef, { index_piece(db, commitment, piece_path).await } From 751acbde22e4318be81939329b60ccaa54256a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 17 Feb 2025 17:25:14 +0100 Subject: [PATCH 33/33] remove unused import --- storage-provider/server/src/indexer/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/storage-provider/server/src/indexer/mod.rs b/storage-provider/server/src/indexer/mod.rs index 6813d865e..3bbc134e4 100644 --- a/storage-provider/server/src/indexer/mod.rs +++ b/storage-provider/server/src/indexer/mod.rs @@ -142,7 +142,6 @@ where #[cfg(test)] pub mod tests { use std::{ - fmt::Debug, path::{Path, PathBuf}, sync::Arc, };

#?NSHsFc}d?salQ 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�abAmMw@rA7+#*a%SV*U8aV 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 qi9J4oLvNqxSu$1%4v|0px|XpNlxG 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