-
Notifications
You must be signed in to change notification settings - Fork 705
[CORE-13943] rptest: bump pyiceberg version #28429
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
Conversation
There was recently a bug fixed caused by pydantic:
TimeoutError('Error waiting for Iceberg table to have data')
Traceback (most recent call last):
File "/opt/.ducktape-venv/lib/python3.10/site-packages/ducktape/utils/util.py", line 44, in wait_until
if condition():
File "/home/ubuntu/redpanda/tests/rptest/tests/datalake/rest_catalog_connection_test.py", line 116, in data_available_in_iceberg_table
table = catalog.load_table(f"{namespace}.{topic.name}")
File "/opt/.ducktape-venv/lib/python3.10/site-packages/tenacity/__init__.py", line 338, in wrapped_f
return copy(f, *args, **kw)
File "/opt/.ducktape-venv/lib/python3.10/site-packages/tenacity/__init__.py", line 477, in __call__
do = self.iter(retry_state=retry_state)
File "/opt/.ducktape-venv/lib/python3.10/site-packages/tenacity/__init__.py", line 378, in iter
result = action(retry_state)
File "/opt/.ducktape-venv/lib/python3.10/site-packages/tenacity/__init__.py", line 400, in <lambda>
self._add_action_func(lambda rs: rs.outcome.result())
File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/opt/.ducktape-venv/lib/python3.10/site-packages/tenacity/__init__.py", line 480, in __call__
result = fn(*args, **kwargs)
File "/opt/.ducktape-venv/lib/python3.10/site-packages/pyiceberg/catalog/rest/__init__.py", line 636, in load_table
table_response = TableResponse.model_validate_json(response.text)
File "/opt/.ducktape-venv/lib/python3.10/site-packages/pydantic/main.py", line 766, in model_validate_json
return cls.__pydantic_validator__.validate_json(
File "/opt/.ducktape-venv/lib/python3.10/site-packages/pyiceberg/table/metadata.py", line 494, in check_schemas
return check_schemas(table_metadata)
File "/opt/.ducktape-venv/lib/python3.10/site-packages/pyiceberg/table/metadata.py", line 82, in check_schemas
current_schema_id = table_metadata.current_schema_id
AttributeError: 'pydantic_core._pydantic_core.ValidationInfo' object has no attribute 'current_schema_id'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the pyiceberg dependency to a newer commit to resolve a bug that was causing AttributeError failures when loading Iceberg tables. The error was related to a pydantic validation issue where ValidationInfo objects were being incorrectly accessed as table metadata objects.
Key Changes:
- Updates the pyiceberg git dependency commit hash from
76a6451cd6863fe3d0e10d33da9b78af12e50111tobb41a6dc7b7cd69bef67e11b989953c727a6193b
There was recently a bug fixed caused by pydantic:
Backports Required
Release Notes