Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Bug]: Hive lowercase conversion rejects repeated names in independent nested structs

Aperta
#4,425 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

@hutiefang76 ci sta già lavorando.

Dal 7/10/2026.

  • #4427 di @hutiefang76 — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
java
Ambito
backend, databases

Direzione di ricerca

Start with HiveSchemaUtil.changeFieldNameToLowercase and the TestHiveSchemaUtil tests mentioned in the issue. The issue describes both nested-struct collision handling and traversal through list elements and map keys/values; verify expected behavior for each while preserving IDs, docs, and requiredness. Done means independent structs may reuse lowercase field names, same-struct collisions still fail, and nested fields are converted; linked PR #4427 is already open.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

What happened?

HiveSchemaUtil.changeFieldNameToLowercase uses one collision set for the entire schema. A valid schema with col1.X and col2.X throws an IllegalArgumentException although the fields belong to different structs. Struct fields nested inside lists/maps are also left unchanged.

Expected behavior: Keep collision detection within each struct and visit list elements and map keys/values, retaining IDs, docs and requiredness. Same-struct collisions still fail.

Affects Versions

master at 061eb724e93592fe87cf44b61af34c1d799f5db6

Table formats / engines

Mixed-Hive; AMS / Hive schema conversion

How to reproduce

Call HiveSchemaUtil.changeFieldNameToLowercase on two top-level struct columns, each containing a field named X. Expected: col1.x and col2.x. Actual: Multiple fields name will be changed to x. Also put a struct with ELEM inside a list: expected elem, actual ELEM.

Relevant log output

JDK 17: TestHiveSchemaUtil, 5 tests passed. The same tests against the original implementation produced 1 failure and 2 errors. Root ./mvnw -q -Pskip-dashboard-build validate passed.

Are you willing to submit a PR?

  • Yes

Code of Conduct

  • I agree to follow the Apache Code of Conduct.
Lingua principale
Java
Stelle
1.2k
Fork
398
Merge medio
3g 11h
PR unite (30g)
23

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/amoro

Tutte le issue di apache/amoro

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.