costas-db opened a new issue, #3828: URL: https://github.com/apache/parquet-java/issues/3828
### Problem `DictionaryPageReader` keys column metadata and cached dictionary pages by `ColumnPath.toDotString()`. These distinct component paths therefore collide: ```text Top-level field named `a.b`: ["a.b"] Nested field `b` in `a`: ["a", "b"] ``` The later column overwrites the earlier entry under the shared `"a.b"` key. ### Reproduction A generic test uses two dictionary-encoded string columns with disjoint values: ```text ["a.b"] -> ["one", "two"] ["a", "b"] -> ["nested-one", "nested-two"] ``` Requesting the top-level dictionary currently returns: ```text expected: ["one", "two"] actual: ["nested-one", "nested-two"] ``` ### Proposed direction Key the metadata and dictionary cache maps by component-based `ColumnPath` rather than flattened strings. This is an in-memory identity fix with no on-disk format change. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
