Content-Length: 263104 | pFad | http://github.com/apache/iceberg/issues/7075

83 Create empty snapshot for metadata operations · Issue #7075 · apache/iceberg · GitHub
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create empty snapshot for metadata operations #7075

Closed
jackye1995 opened this issue Mar 11, 2023 · 6 comments
Closed

Create empty snapshot for metadata operations #7075

jackye1995 opened this issue Mar 11, 2023 · 6 comments
Labels

Comments

@jackye1995
Copy link
Contributor

jackye1995 commented Mar 11, 2023

Feature Request / Improvement

based on #6965 (comment)

Creating an empty snapshot for all metadata operations to make sure table does not have a state with no snapshot might simplify various use cases.

(1) for branching, main does not need to be a special case compared to custom branches that has to exist only after the first data write.

(2) for time travel, currently schema is derived from snapshot ID at the specific time. If a table added data at t0, has for example schema update at t1, creating an empty snapshot at t1 means that traveling to t0 and t1 will yield different results because schema has changed, which makes more sense.

However, doing so might have other implications and affect behavior of existing operations like snapshot expiration.

Also we will have to keep backwards compatibility and still deal with tables with no snapshot, so maybe we do not gain much and have to live with the current situation.

Would like to know what others think.

cc @rdblue @aokolnychyi @RussellSpitzer @danielcweeks

Query engine

None

@rdblue
Copy link
Contributor

rdblue commented Mar 11, 2023

I don't think we need to create a new snapshot for every metadata operation, but I think it would be reasonable to create empty snapshots when we need to create a branch and there is no current snapshot. And I also think it would be reasonable to create a snapshot when the schema changes to signal when in history that happened.

@manuzhang
Copy link
Collaborator

manuzhang commented Jul 31, 2023

How do we revert a table to "empty state" without a snapshot for empty table? Do I have to rebuild table?

@s-akhtar-baig
Copy link
Contributor

s-akhtar-baig commented Aug 24, 2023

@rdblue, my team and I came across a similar problem with schema updates.

The mentioned pull request handles creating empty snapshots for empty tables but I don't see changes that address creating snapshots for schema updates. If so and if not already being worked on, can my team and I contribute to the remainder of this issue?

Fyi @mderoy @rafoid.

@namrathamyske
Copy link
Contributor

Can i take this up if not already done?

Copy link

github-actions bot commented Oct 4, 2024

This issue has been automatically marked as stale because it has been open for 180 days with no activity. It will be closed in next 14 days if no further activity occurs. To permanently prevent this issue from being considered stale, add the label 'not-stale', but commenting on the issue is preferred when possible.

@github-actions github-actions bot added the stale label Oct 4, 2024
Copy link

This issue has been closed because it has not received any activity in the last 14 days since being marked as 'stale'

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/apache/iceberg/issues/7075

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy