Skip to content

[HSTACK] delta engine injection support#17

Merged
VLCDaniel merged 1 commit into
mainfrom
injected-engine
May 7, 2026
Merged

[HSTACK] delta engine injection support#17
VLCDaniel merged 1 commit into
mainfrom
injected-engine

Conversation

@VLCDaniel
Copy link
Copy Markdown
Collaborator

No description provided.

Copy link
Copy Markdown
Collaborator

@aditanase aditanase left a comment

Choose a reason for hiding this comment

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

2 requests:

  • it should work with the old provider too, not just the new one
    • we should make sure this works especially during metadata load operations. this is the main entrypoint that we care about
  • we should add a builder method similar to the log size limiter, not rely on extensions - so maybe inject it via DeltaTableConfig?

Copy link
Copy Markdown
Collaborator

@cdobre cdobre left a comment

Choose a reason for hiding this comment

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

I think we also need to support injecting engine in LogStore::engine ( crates/core/src/logstore/mod.rs ) which is used when loading snapshots

Comment thread crates/core/src/delta_datafusion/engine/mod.rs Outdated
Copy link
Copy Markdown
Collaborator

@aditanase aditanase left a comment

Choose a reason for hiding this comment

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

👍 with minor comments

Comment thread crates/core/src/kernel/snapshot/mod.rs Outdated
) -> DeltaResult<Self> {
// TODO: bundle operation_id with logstore ...
let engine = log_store.engine(None);
let engine = config.engine.as_ref().map(|e| e.0.clone())
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

use the engine fn you just added?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

we don't have self here, but found a good alternative

Copy link
Copy Markdown
Collaborator

@cdobre cdobre left a comment

Choose a reason for hiding this comment

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

With some comments

Comment thread crates/core/src/kernel/snapshot/mod.rs Outdated
}

/// Returns the configured engine, falling back to the log store's default engine.
pub fn engine(&self, log_store: &dyn LogStore) -> Arc<dyn Engine> {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm not sure about this one - if I don't invoke with the same log_store both when doing try_new or engine I could get different results right?

I'm ok with having this a private method for simplifying the rest of methods, but I'm not sure it makes a lot of sense as public

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

You're right, i made it pub(crate)

return Ok(());
}

let engine = self.snapshot.engine(log_store);
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

is this the reason for having public?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

yes

@VLCDaniel VLCDaniel changed the title feat: delta engine injection support [HSTACK] delta engine injection support May 7, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

ACTION NEEDED

delta-rs follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

@VLCDaniel VLCDaniel merged commit b94f184 into main May 7, 2026
5 of 25 checks passed
@VLCDaniel VLCDaniel deleted the injected-engine branch May 7, 2026 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants