Skip to content

Conversation

@namrathamyske
Copy link
Contributor

@namrathamyske namrathamyske commented Jul 2, 2022

issue addressed from: #3896

PR to address: #4926 (comment)

This PR implements the performing RowDelta operations on a particular branch ref. Throws unsupported operations with other operations.

PR continued from:
#4926
#5010

@namrathamyske
Copy link
Contributor Author

@amogh-jahagirdar @rdblue As per #4926 (comment) I have changed validation checks when we commit to a branch. Right now I have implemented for BaseRowDelta usecase. My future plan is to extend for others.

My thought process is every-time we check for validations, the start snapshot should start from an ancestor of the branch. If not we can throw a validation exception. Start snapshot should ideally never go before the snapshot with which branch was created. But we don't store the commit for which the branch was created in metadata. So i am quite confused how to go ahead. Any thoughts appreciated!

@namrathamyske namrathamyske marked this pull request as ready for review July 6, 2022 06:08
@namrathamyske namrathamyske marked this pull request as draft July 6, 2022 06:09
@namrathamyske namrathamyske marked this pull request as ready for review July 8, 2022 16:32
@namrathamyske namrathamyske changed the title Core, API: Append/Delete changes to branch Impl - Validations Core, API: RowDelta changes to branch Impl - Validations Jul 9, 2022
@namrathamyske namrathamyske changed the title Core, API: RowDelta changes to branch Impl - Validations Core, API: RowDelta changes to branch Impl Jul 9, 2022
@namrathamyske
Copy link
Contributor Author

namrathamyske commented Jul 9, 2022

@rdblue @aokolnychyi @amogh-jahagirdar can you give inputs on this ? Can be merged only after #4926

Fokko and others added 18 commits July 10, 2022 11:06
Currently, the properties are optional, which doesn't really make sense.

Also, in the Java code it throws an exception:
https://github.com/apache/iceberg/blob/master/core/src/test/java/org/apache/iceberg/rest/requests/TestRenameTableRequest.java#L106-L121

Therefore I would suggest making those required in the spec as well
* Remove redundant call to String.valueOf in format argument

* Remove redundant warning suppression

The unchecked code was removed in
9384bd6.

* Include actual class name in class mismatch exception

Include requested and actual class name in the exception message thrown
when `PartitionData` detects type mismatch.
```
➜  python git:(fd-bump-pre-commit) pre-commit autoupdate
Updating https://github.com/pre-commit/pre-commit-hooks ... updating v4.2.0 -> v4.3.0.
Updating https://github.com/ambv/black ... already up to date.
Updating https://github.com/pre-commit/mirrors-isort ... already up to date.
Updating https://github.com/pre-commit/mirrors-mypy ... updating v0.960 -> v0.961.
Updating https://github.com/hadialqattan/pycln ... already up to date.
Updating https://github.com/asottile/pyupgrade ... updating v2.32.1 -> v2.34.0.
➜  python git:(fd-bump-pre-commit) ✗ pre-commit run --all-files
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check docstring is first.................................................Passed
debug statements (python)................................................Passed
check yaml...............................................................Passed
check python ast.........................................................Passed
black....................................................................Passed
isort....................................................................Passed
mypy.....................................................................Passed
pycln....................................................................Passed
pyupgrade................................................................Passed
```
* Python: Renable pylint

For some reason pylint fell through the cracks when migrating from tox
to pre-commit

* Be more explicit in disabled checks
* Shutdown refresh token thread during REST catalog client close

* Improved shutdown of token refresh executor during REST catalog close

* REST: Set table format version for create table transactions

* add test for creating v2 table via transaction

* Core: Check for valid identifiers in REST catalog
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.