Skip to content

feat(delete-vector): parse deletion-vector-v1 puffin blob - read support#2414

Open
Shekharrajak wants to merge 1 commit intoapache:mainfrom
Shekharrajak:feat/dv-blob-parser-2411
Open

feat(delete-vector): parse deletion-vector-v1 puffin blob - read support#2414
Shekharrajak wants to merge 1 commit intoapache:mainfrom
Shekharrajak:feat/dv-blob-parser-2411

Conversation

@Shekharrajak
Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Ref #2411

What changes are included in this PR?

Are these changes tested?

@Shekharrajak Shekharrajak force-pushed the feat/dv-blob-parser-2411 branch from d8d4048 to 7ce78ba Compare May 8, 2026 06:47
@Shekharrajak Shekharrajak force-pushed the feat/dv-blob-parser-2411 branch from 7ce78ba to f625093 Compare May 8, 2026 18:27
@Shekharrajak Shekharrajak changed the title [WIP] feat(delete-vector): parse deletion-vector-v1 puffin blob - read support feat(delete-vector): parse deletion-vector-v1 puffin blob - read support May 9, 2026
}

#[allow(dead_code)]
pub fn deserialize_blob(blob_bytes: &[u8], expected_cardinality: Option<u64>) -> Result<Self> {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read path deserialize_blob parses a binary blob (length + magic + roaring bitmap + CRC32) into a DeleteVector.


#[allow(dead_code)]
pub fn deserialize_blob(blob_bytes: &[u8], expected_cardinality: Option<u64>) -> Result<Self> {
if blob_bytes.len() < DV_MIN_BLOB_SIZE {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minimum size check

}

// 2GB cap matches Java's signed-i32 length field.
if blob_bytes.len() > i32::MAX as usize {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2GB cap - Java's Integer.MAX_VALUE is 2,147,483,647 — exactly i32::MAX - similar to java implementation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant