Skip to content

Commit

Permalink
fix!: delta index fragment bitmaps contained previous index coverage (#…
Browse files Browse the repository at this point in the history
…3377)

BREAKING CHANGE: delta index fragment bitmaps will now only contain the
fragment ids covered by the delta, not the full index. To get the full
bitmap, make sure to union with all index segments with the same name.
Old datasets will still show previous fragment ids, until a write is
done, which forces a migration. **If corrupted fragment ids are present
in a dataset, then the `dataset.index_statistics` will return an error.
Before using `dataset.index_statistics()`, call `dataset.validate()` to
check the integrity and use `dataset.delete("false")` to force a
migration.**

Fixes #3374
  • Loading branch information
wjones127 authored Jan 20, 2025
1 parent 4cb37c1 commit 2b784b3
Show file tree
Hide file tree
Showing 19 changed files with 306 additions and 96 deletions.
32 changes: 16 additions & 16 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 17 additions & 17 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ exclude = ["python"]
resolver = "2"

[workspace.package]
version = "0.22.1"
version = "0.23.0"
edition = "2021"
authors = ["Lance Devs <[email protected]>"]
license = "Apache-2.0"
Expand All @@ -44,21 +44,21 @@ categories = [
rust-version = "1.80.1"

[workspace.dependencies]
lance = { version = "=0.22.1", path = "./rust/lance" }
lance-arrow = { version = "=0.22.1", path = "./rust/lance-arrow" }
lance-core = { version = "=0.22.1", path = "./rust/lance-core" }
lance-datafusion = { version = "=0.22.1", path = "./rust/lance-datafusion" }
lance-datagen = { version = "=0.22.1", path = "./rust/lance-datagen" }
lance-encoding = { version = "=0.22.1", path = "./rust/lance-encoding" }
lance-encoding-datafusion = { version = "=0.22.1", path = "./rust/lance-encoding-datafusion" }
lance-file = { version = "=0.22.1", path = "./rust/lance-file" }
lance-index = { version = "=0.22.1", path = "./rust/lance-index" }
lance-io = { version = "=0.22.1", path = "./rust/lance-io" }
lance-jni = { version = "=0.22.1", path = "./java/core/lance-jni" }
lance-linalg = { version = "=0.22.1", path = "./rust/lance-linalg" }
lance-table = { version = "=0.22.1", path = "./rust/lance-table" }
lance-test-macros = { version = "=0.22.1", path = "./rust/lance-test-macros" }
lance-testing = { version = "=0.22.1", path = "./rust/lance-testing" }
lance = { version = "=0.23.0", path = "./rust/lance" }
lance-arrow = { version = "=0.23.0", path = "./rust/lance-arrow" }
lance-core = { version = "=0.23.0", path = "./rust/lance-core" }
lance-datafusion = { version = "=0.23.0", path = "./rust/lance-datafusion" }
lance-datagen = { version = "=0.23.0", path = "./rust/lance-datagen" }
lance-encoding = { version = "=0.23.0", path = "./rust/lance-encoding" }
lance-encoding-datafusion = { version = "=0.23.0", path = "./rust/lance-encoding-datafusion" }
lance-file = { version = "=0.23.0", path = "./rust/lance-file" }
lance-index = { version = "=0.23.0", path = "./rust/lance-index" }
lance-io = { version = "=0.23.0", path = "./rust/lance-io" }
lance-jni = { version = "=0.23.0", path = "./java/core/lance-jni" }
lance-linalg = { version = "=0.23.0", path = "./rust/lance-linalg" }
lance-table = { version = "=0.23.0", path = "./rust/lance-table" }
lance-test-macros = { version = "=0.23.0", path = "./rust/lance-test-macros" }
lance-testing = { version = "=0.23.0", path = "./rust/lance-testing" }
approx = "0.5.1"
# Note that this one does not include pyarrow
arrow = { version = "53.2", optional = false, features = ["prettyprint"] }
Expand Down Expand Up @@ -114,7 +114,7 @@ datafusion-physical-expr = { version = "44.0" }
deepsize = "0.2.0"
dirs = "5.0.0"
either = "1.0"
fsst = { version = "=0.22.1", path = "./rust/lance-encoding/src/compression_algo/fsst" }
fsst = { version = "=0.23.0", path = "./rust/lance-encoding/src/compression_algo/fsst" }
futures = "0.3"
http = "1.1.0"
hyperloglogplus = { version = "0.4.1", features = ["const-loop"] }
Expand Down
2 changes: 1 addition & 1 deletion java/core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>com.lancedb</groupId>
<artifactId>lance-parent</artifactId>
<version>0.21.2</version>
<version>0.23.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.lancedb</groupId>
<artifactId>lance-parent</artifactId>
<version>0.21.2</version>
<version>0.23.0</version>
<packaging>pom</packaging>

<name>Lance Parent</name>
Expand Down
4 changes: 2 additions & 2 deletions java/spark/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>com.lancedb</groupId>
<artifactId>lance-parent</artifactId>
<version>0.21.2</version>
<version>0.23.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down Expand Up @@ -112,7 +112,7 @@
<dependency>
<groupId>com.lancedb</groupId>
<artifactId>lance-core</artifactId>
<version>0.21.2</version>
<version>0.23.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
Expand Down
26 changes: 13 additions & 13 deletions python/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion python/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pylance"
version = "0.22.1"
version = "0.23.0"
edition = "2021"
authors = ["Lance Devs <[email protected]>"]
rust-version = "1.65"
Expand Down
Loading

0 comments on commit 2b784b3

Please sign in to comment.