Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Discrepency in the fetched table properties

Aberta
#3,247 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@mj006648 já está trabalhando nisso.

Desde 27/5/2026.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
python
Domínio
databases

Direção de pesquisa

Comece em catalog.load_table(table_identifier) e rastreie como a configuração de tabela retornada é passada para o sistema de arquivos criado a partir de table.io. Reproduza a discrepância com as chamadas mostradas do Polaris CLI e REST e, em seguida, verifique se o sistema de arquivos usa o endpoint e as credenciais retornados sem mutação manual de propriedades. Adicione um teste de regressão se o repositório tiver cobertura para propriedades de tabelas carregadas do catálogo.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Apache Iceberg version

None

Please describe the bug 🐞

I am using Apache Polaris as catalog and when i load the table using pyiceberg, the response has config that is different from what i get when i use Polaris CLI and not only that when i use the file system from this table, i am getting Permission Denied errors, suggesting the credentials in the table are wrong.

Details:

polaris --profile root tables get --catalog "senec_catalog" --namespace "Senec.Stage.Bronze.Ampace_V3LFP" "BmsAmpaceV3ModuleMeasurement"

returns a table with the config property as follows:

, "config": {"s3.path-style-access": "true", "s3.endpoint": "http://localhost:9008"}

however, the rest api cal inside catalog.load_table(table_identifier) has a response that contains the config that looks like this:

{'s3.path-style-access': 'true', 's3.access-key-id': 'NFAIYHBUDHR1VBDHR8G0', 's3.secret-access
-key': 'L4Q_0W4We1ClcHsg8t0A5RcazPu4Xx1TR9P5-fbn', 's3.session-token': '***', 'client.refresh-credentials-endpoint': 'v1/senec_catalog/namespaces/Senec%1FStage%1FBronze%1FAmpace_V3LFP/tables/BmsAmpaceV3ModuleMeasurement/credentials', '
expiration-time': '1776355429000', 's3.endpoint': 'http://localhost:9008', 's3.session-token-e
xpires-at-ms': '1776355429000'}

which would have been okay but using a filesystem created using the io from this table is always resulting in permission errors, so i have to manually set the table properties like so:

        self.tbl.io.properties["s3.endpoint"] = self.catalog.properties["s3.endpoint"]
        self.tbl.io.properties["s3.endpoint"] = self.catalog.properties.get("s3.endpoint")
        self.tbl.io.properties["s3.access-key-id"] = self.catalog.properties.get("s3.access-key-id")
        self.tbl.io.properties["s3.secret-access-key"] = self.catalog.properties.get("s3.secret-access-key")
        self.tbl.io.properties.pop("s3.session-token", None)

Could anyone tell me why is this the case? This is related to #1958 as i am trying to use the filesystem to delete the orphan files.

Willingness to contribute
  • I can contribute a fix for this bug independently
  • I would be willing to contribute a fix for this bug with guidance from the Iceberg community
  • I cannot contribute a fix for this bug at this time
Linguagem predominante
Python
Estrelas
1.1k
Forks
606
Merge médio
1d 10h
PRs com merge (30d)
72

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/iceberg-python

Todas as issues de apache/iceberg-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.