Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
7ed5ca0
Add manifest commit performance benchmark
jackye1995 Feb 15, 2026
5c58fc7
commit
jackye1995 Feb 21, 2026
d8e64d6
feat: add version hint optimization for manifest reads
jackye1995 Feb 21, 2026
60a0fe1
feat: add configurable version hint format and write mode
jackye1995 Feb 22, 2026
f6ee1e0
feat: optimize list_manifest_locations with version hint for O(k) pro…
jackye1995 Feb 22, 2026
67bc41a
fix: return empty list when no new versions exist after hint check
jackye1995 Feb 23, 2026
54f5953
debug: add timing logs to load path for investigation
jackye1995 Feb 23, 2026
0057386
Add more detailed debug logging for hint read timing
jackye1995 Feb 23, 2026
2343472
Add more debug logging for hint read timing
jackye1995 Feb 23, 2026
d6512a8
fix: add stagger start to avoid connection contention in load path
jackye1995 Feb 23, 2026
8c832bf
debug: add more precise timing for HEAD request
jackye1995 Feb 23, 2026
d316e8c
revert stagger start, make JSON default hint format, add detailed HEA…
jackye1995 Feb 23, 2026
55e4b2e
bench: add 10ms delay between commit and load to avoid hint write int…
jackye1995 Feb 23, 2026
516789f
feat: add LANCE_HINT_ONLY mode for debugging load latency
jackye1995 Feb 23, 2026
bea023c
feat: add WARM_SESSION option to benchmark warm connection performance
jackye1995 Feb 23, 2026
3011065
feat: add LANCE_CONNECTION_WARMUP for cold start optimization
jackye1995 Feb 23, 2026
44aa4ac
Simplify benchmark to use checkout_latest with shared registry
jackye1995 Feb 23, 2026
97bf432
Add S3 Express storage options support to benchmark
jackye1995 Feb 23, 2026
f58d1ee
Add region to S3 Express storage options
jackye1995 Feb 23, 2026
f63a4dd
Cleanup benchmark and remove debug code paths
jackye1995 Feb 23, 2026
4655cdd
commit
jackye1995 Feb 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
714 changes: 648 additions & 66 deletions rust/lance-table/src/io/commit.rs

Large diffs are not rendered by default.

15 changes: 12 additions & 3 deletions rust/lance-table/src/io/commit/external_manifest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ use snafu::location;
use tracing::info;

use super::{
current_manifest_path, default_resolve_version, make_staging_manifest_path, ManifestLocation,
ManifestNamingScheme, MANIFEST_EXTENSION,
current_manifest_path, default_resolve_version, make_staging_manifest_path, write_version_hint,
ManifestLocation, ManifestNamingScheme, MANIFEST_EXTENSION,
};
use crate::format::{IndexMetadata, Manifest, Transaction};
use crate::io::commit::{CommitError, CommitHandler};
Expand Down Expand Up @@ -472,6 +472,7 @@ impl CommitHandler for ExternalManifestCommitHandler {
manifest_writer: super::ManifestWriter,
naming_scheme: ManifestNamingScheme,
transaction: Option<Transaction>,
sync_version_hint_write: bool,
) -> std::result::Result<ManifestLocation, CommitError> {
// path we get here is the path to the manifest we want to write
// use object_store.base_path.as_ref() for getting the root of the dataset
Expand All @@ -497,7 +498,15 @@ impl CommitHandler for ExternalManifestCommitHandler {
.await;

match result {
Ok(location) => Ok(location),
Ok(location) => {
write_version_hint(
object_store,
base_path,
manifest.version,
sync_version_hint_write,
);
Ok(location)
}
Err(_) => {
// delete the staging manifest
match object_store.inner.delete(&staging_path).await {
Expand Down
8 changes: 8 additions & 0 deletions rust/lance/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -189,5 +189,13 @@ harness = false
name = "mem_wal_read"
harness = false

[[bench]]
name = "manifest_commit"
harness = false

[[bench]]
name = "object_store_bench"
harness = false

[lints]
workspace = true
Loading
Loading