Skip to content

Conversation

@andrwng
Copy link
Contributor

@andrwng andrwng commented Nov 7, 2025

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'

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v25.3.x
  • v25.2.x
  • v25.1.x
  • v24.3.x

Release Notes

  • None

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'
Copilot AI review requested due to automatic review settings November 7, 2025 16:33
Copy link
Contributor

Copilot AI left a 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 76a6451cd6863fe3d0e10d33da9b78af12e50111 to bb41a6dc7b7cd69bef67e11b989953c727a6193b

@vbotbuildovich
Copy link
Collaborator

CI test results

test results on build#75843
test_class test_method test_arguments test_kind job_url test_status passed reason test_history
ControlCharacterNag test_validate_nag_message {"initial_version_as_list": [22, 2, 9]} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=ControlCharacterNag&test_method=test_validate_nag_message
DataMigrationsApiTest test_creating_and_listing_migrations null integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51db-4956-9e31-f865bc01d2b2 FLAKY 17/21 upstream reliability is '95.39518900343643'. current run reliability is '80.95238095238095'. drift is 14.44281 and the allowed drift is set to 50. The test should PASS https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=DataMigrationsApiTest&test_method=test_creating_and_listing_migrations
DatalakeE2ETests test_avro_schema {"catalog_type": "nessie", "cloud_storage_type": 1, "query_engine": "trino"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=DatalakeE2ETests&test_method=test_avro_schema
DatalakeE2ETests test_field_names_compat {"catalog_type": "rest_hadoop", "cloud_storage_type": 1, "query_engine": "spark"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=DatalakeE2ETests&test_method=test_field_names_compat
DatalakeE2ETests test_iceberg_partition_key_file_location {"catalog_type": "nessie", "cloud_storage_type": 1, "custom_partition_spec": null} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=DatalakeE2ETests&test_method=test_iceberg_partition_key_file_location
MountUnmountIcebergTest test_simple_remount {"cloud_storage_type": 1} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51db-4956-9e31-f865bc01d2b2 FLAKY 17/21 upstream reliability is '91.971454058876'. current run reliability is '80.95238095238095'. drift is 11.01907 and the allowed drift is set to 50. The test should PASS https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=MountUnmountIcebergTest&test_method=test_simple_remount
SchemaEvolutionE2ETests test_illegal_schema_evolution {"catalog_type": "rest_hadoop", "cloud_storage_type": 1, "produce_mode": "proto3", "query_engine": "spark", "test_case": "illegal promotion int->string"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_illegal_schema_evolution
SchemaEvolutionE2ETests test_illegal_schema_evolution {"catalog_type": "rest_jdbc", "cloud_storage_type": 1, "produce_mode": "proto3", "query_engine": "trino", "test_case": "illegal promotion int->string"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_illegal_schema_evolution
SchemaEvolutionE2ETests test_legal_schema_evolution {"catalog_type": "nessie", "cloud_storage_type": 1, "produce_mode": "avro", "query_engine": "spark", "test_case": "drop_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_legal_schema_evolution
SchemaEvolutionE2ETests test_legal_schema_evolution {"catalog_type": "rest_hadoop", "cloud_storage_type": 1, "produce_mode": "avro", "query_engine": "spark", "test_case": "promote_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_legal_schema_evolution
SchemaEvolutionE2ETests test_legal_schema_evolution {"catalog_type": "rest_jdbc", "cloud_storage_type": 1, "produce_mode": "avro", "query_engine": "spark", "test_case": "reorder_columns"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_legal_schema_evolution
SchemaEvolutionE2ETests test_legal_schema_evolution {"catalog_type": "nessie", "cloud_storage_type": 1, "produce_mode": "proto2", "query_engine": "trino", "test_case": "add_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_legal_schema_evolution
SchemaEvolutionE2ETests test_legal_schema_evolution {"catalog_type": "rest_hadoop", "cloud_storage_type": 1, "produce_mode": "proto2", "query_engine": "trino", "test_case": "drop_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_legal_schema_evolution
SchemaEvolutionE2ETests test_legal_schema_evolution {"catalog_type": "rest_jdbc", "cloud_storage_type": 1, "produce_mode": "proto2", "query_engine": "trino", "test_case": "promote_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_legal_schema_evolution
SchemaEvolutionE2ETests test_legal_schema_evolution {"catalog_type": "nessie", "cloud_storage_type": 1, "produce_mode": "proto3", "query_engine": "trino", "test_case": "reorder_columns"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_legal_schema_evolution
SchemaEvolutionE2ETests test_old_schema_writer {"catalog_type": "rest_hadoop", "cloud_storage_type": 1, "produce_mode": "proto3", "query_engine": "spark", "test_case": "add_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_old_schema_writer
SchemaEvolutionE2ETests test_old_schema_writer {"catalog_type": "rest_jdbc", "cloud_storage_type": 1, "produce_mode": "proto3", "query_engine": "spark", "test_case": "drop_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_old_schema_writer
SchemaEvolutionE2ETests test_old_schema_writer {"catalog_type": "nessie", "cloud_storage_type": 1, "produce_mode": "avro", "query_engine": "spark", "test_case": "reorder_columns"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_old_schema_writer
SchemaEvolutionE2ETests test_old_schema_writer {"catalog_type": "rest_hadoop", "cloud_storage_type": 1, "produce_mode": "avro", "query_engine": "trino", "test_case": "add_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_old_schema_writer
SchemaEvolutionE2ETests test_old_schema_writer {"catalog_type": "rest_jdbc", "cloud_storage_type": 1, "produce_mode": "avro", "query_engine": "trino", "test_case": "drop_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_old_schema_writer
SchemaEvolutionE2ETests test_old_schema_writer {"catalog_type": "nessie", "cloud_storage_type": 1, "produce_mode": "proto2", "query_engine": "trino", "test_case": "promote_column"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_old_schema_writer
SchemaEvolutionE2ETests test_old_schema_writer {"catalog_type": "rest_hadoop", "cloud_storage_type": 1, "produce_mode": "proto2", "query_engine": "trino", "test_case": "reorder_columns"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_old_schema_writer
SchemaEvolutionE2ETests test_reorder_columns {"catalog_type": "rest_jdbc", "cloud_storage_type": 1, "produce_mode": "proto2", "query_engine": "spark"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_reorder_columns
SchemaEvolutionE2ETests test_reorder_columns {"catalog_type": "nessie", "cloud_storage_type": 1, "produce_mode": "proto3", "query_engine": "trino"} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SchemaEvolutionE2ETests&test_method=test_reorder_columns
SparkSmokeTest test_spark_smoke {"cloud_storage_type": 1} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SparkSmokeTest&test_method=test_spark_smoke
DeleteRecordsTest test_delete_records_topic_start_delta {"cloud_storage_enabled": true} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=DeleteRecordsTest&test_method=test_delete_records_topic_start_delta
LicenseEnforcementPermittedTopicParams test_iceberg_topic_parameter_when_license_expired null integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=LicenseEnforcementPermittedTopicParams&test_method=test_iceberg_topic_parameter_when_license_expired
NodeIdAssignmentUpgrade test_omit_node_ids_after_upgrade null integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=NodeIdAssignmentUpgrade&test_method=test_omit_node_ids_after_upgrade
RedpandaNodeOperationsSmokeTest test_node_ops_smoke_test {"cloud_storage_type": 1, "mixed_versions": false} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51d1-4092-b610-82b1262146f5 FLAKY 20/21 upstream reliability is '98.18181818181819'. current run reliability is '95.23809523809523'. drift is 2.94372 and the allowed drift is set to 50. The test should PASS https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=RedpandaNodeOperationsSmokeTest&test_method=test_node_ops_smoke_test
SIAdminApiTest test_topic_recovery_redirects_to_controller_leader null integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=SIAdminApiTest&test_method=test_topic_recovery_redirects_to_controller_leader
TopicRecoveryTest test_admin_api_recovery {"cloud_storage_type": 1} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=TopicRecoveryTest&test_method=test_admin_api_recovery
TopicRecoveryTest test_vcluster_id {"cloud_storage_type": 1} integration https://buildkite.com/redpanda/redpanda/builds/75843#019a5f40-51cf-4a6a-b1a4-625ab1f6104e FAIL 0/1 https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=TopicRecoveryTest&test_method=test_vcluster_id

@andrwng andrwng changed the title rptest: bump pyiceberg version [CORE-13943] rptest: bump pyiceberg version Nov 10, 2025
@andrwng andrwng merged commit 2ac5cb7 into redpanda-data:dev Nov 10, 2025
20 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants