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

[KYUUBI #5407][AUTHZ] Tests for Iceberg system procedures of snapshot management #5394

Closed
wants to merge 3 commits into from

Conversation

yabola
Copy link
Contributor

@yabola yabola commented Oct 10, 2023

Why are the changes needed?

To close #5407 .
Follow up for #5248 .
Add some UT for snapshot management procedures. These procedures require alter permissions.

  1. rollback_to_snapshot (https://iceberg.apache.org/docs/latest/spark-procedures/#rollback_to_snapshot):
    Usage: CALL catalog_name.system.rollback_to_snapshot('db.sample', 1)
    Meaning: rollback a table to a specific snapshot ID.

  2. rollback_to_timestamp (https://iceberg.apache.org/docs/latest/spark-procedures/#rollback_to_timestamp)
    Usage: CALL catalog_name.system.rollback_to_timestamp('db.sample', TIMESTAMP '2021-06-30 00:00:00')
    Meaning: rollback the table to the latest snapshot less than time.

  3. set_current_snapshot (https://iceberg.apache.org/docs/latest/spark-procedures/#set_current_snapshot)
    Usage: CALL catalog_name.system.set_current_snapshot('db.sample', 1)
    Meaning: Set a table to a specific snapshot ID.

How was this patch tested?

  • Add some test cases that check the changes thoroughly including negative and positive cases if possible

  • Add screenshots for manual tests if appropriate

  • Run test locally before make a pull request

Was this patch authored or co-authored using generative AI tooling?

No

@codecov-commenter
Copy link

codecov-commenter commented Oct 10, 2023

Codecov Report

Merging #5394 (98b7492) into master (34bf47c) will not change coverage.
Report is 6 commits behind head on master.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #5394   +/-   ##
======================================
  Coverage    0.00%   0.00%           
======================================
  Files         590     588    -2     
  Lines       33493   33427   -66     
  Branches     4424    4393   -31     
======================================
+ Misses      33493   33427   -66     

see 8 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@yabola
Copy link
Contributor Author

yabola commented Oct 11, 2023

It looks like the failed UT is unstable

@bowenliang123
Copy link
Contributor

It looks like the failed UT is unstable

Some flaky tests may fail occasionally. No worries.

})

val calendar = Calendar.getInstance()
calendar.add(Calendar.DAY_OF_MONTH, 1)
Copy link
Contributor

@bowenliang123 bowenliang123 Oct 11, 2023

Choose a reason for hiding this comment

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

What does this shifting to 1 month later stand for ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The meaning of Iceberg's rollbackToTimestamp command is to roll back the snapshot to the latest snapshot less than calendar time. In order to ensure that this snapshot must exist, I added for one day.

Copy link
Contributor

@bowenliang123 bowenliang123 Oct 11, 2023

Choose a reason for hiding this comment

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

Replaced to use the target snapshot timestamp as the base.

@bowenliang123 bowenliang123 changed the title Add UT for checking previleges in iceberg call snapshot management [AUTHZ] Add UT for Iceberg call snapshot management Oct 11, 2023
@bowenliang123 bowenliang123 changed the title [AUTHZ] Add UT for Iceberg call snapshot management [AUTHZ] Add UT for calling Iceberg system procedures of snapshot management Oct 11, 2023
Copy link
Contributor

@bowenliang123 bowenliang123 left a comment

Choose a reason for hiding this comment

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

LGTM.

@bowenliang123 bowenliang123 changed the title [AUTHZ] Add UT for calling Iceberg system procedures of snapshot management [KYUUBI #5407][AUTHZ] Tests for Iceberg system procedures of snapshot management Oct 12, 2023
@bowenliang123 bowenliang123 added this to the v1.8.0 milestone Oct 12, 2023
@bowenliang123 bowenliang123 modified the milestones: v1.8.0, v1.9.0 Oct 12, 2023
@bowenliang123
Copy link
Contributor

Thanks for the continuous contribution from @yabola .
Merged to master (1.9.0) .

@yabola
Copy link
Contributor Author

yabola commented Oct 12, 2023

@bowenliang123 Thank you for your help!

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.

[TASK][EASY] Authz Tests for Iceberg system procedures of snapshot management
3 participants