Matching Catalog Properties with Java

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

Mantenedores costumam responder em até 1 dia

@Ankitraj-builds já está trabalhando nisso.

Desde 26/10/2026.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
backend

Direção de pesquisa

The issue lists configuration property differences across catalogs, REST, S3, ADLS, and GCS, but asks whether the community values compatibility before any implementation begins. Start by reading the configuration handling and tests for the listed integrations, then identify which properties should match Java. Done means the scope and expected behavior are agreed for each property; the issue does not identify files or tests.

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

Descrição

Feature Request / Improvement

I was doing some analysis of the accepted configuration properties in Python vs. Java. We have a number of them in Python that don't fully match with Java (list below, generated by Claude)

Before we start generating PRs for any of these, does the community find any value in making these properties match Java (where appropriate)?

--

Catalogs
  • DynamoDB: accept dynamodb.table-name (Python reads table-name)
  • Hive: accept iceberg.hive.lock-check-min-wait-ms / iceberg.hive.lock-check-max-wait-ms (Python reads lock-check-min-wait-time / lock-check-max-wait-time in seconds)
  • Hive: accept hive.metastore.table.owner / hive.metastore.database.owner (Python reads the table property owner)
  • SQL: accept jdbc.init-catalog-tables / jdbc.schema-version (Python reads init_catalog_tables / schema_version)
  • Glue / DynamoDB: fall back to client.region and client.* credentials (Python reads glue.* / dynamodb.*)
REST
  • Accept rest.auth.type (none / basic / oauth2 / sigv4 / google) as well as the nested auth.type config (Python uses noop, Java uses none)
  • Accept rest.auth.basic.username / rest.auth.basic.password
  • Accept rest.auth.type=sigv4 as well as rest.sigv4-enabled=true
  • Accept rest.remote-signing.endpoint and s3.remote-signing-enabled (Python reads s3.signer.uri / s3.signer.endpoint / s3.signer)
S3
  • Accept s3.sse.type / s3.sse.key (Python reads s3.server-side-encryption / s3.sse-kms-key-id)
  • Accept client.assume-role.arn / client.assume-role.session-name (Python reads s3.role-arn, client.role-arn, *.role-session-name)
  • Accept s3.path-style-access (inverse of Python's s3.force-virtual-addressing)
  • Accept http-client.proxy-endpoint (Python reads s3.proxy-uri)
  • Accept http-client.*.connection-timeout-ms (Python reads s3.connect-timeout in seconds)
ADLS / GCS
  • ADLS: accept adls.auth.shared-key.account.name / adls.auth.shared-key.account.key (Python reads adls.account-name / adls.account-key)
  • ADLS: accept adls.connection-string.<account> per account (Python reads only a single adls.connection-string)
  • GCS: accept gcs.user-project (closest Python equivalent: gcs.requester-pays)
Linguagem predominante
Python
Estrelas
1.2k
Forks
654
Merge médio
2d 11h
PRs com merge (30d)
122

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.