thswlsqls opened a new issue, #8628: URL: https://github.com/apache/paimon/issues/8628
**Search before asking** - [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. **Paimon version** master @ 4fe3cfdd1 / 2.0-SNAPSHOT **Compute Engine** Engine-agnostic (Parquet read path, all engines) **Minimal reproduce step** Write a dictionary-encoded Parquet file with an INT64 (BIGINT) column, then read it back with a Paimon TINYINT or SMALLINT schema. Reading throws `UnsupportedOperationException`. `ParquetVectorUpdaterFactory.visit(TinyIntType)` and `visit(SmallIntType)` unconditionally return `ByteUpdater` / `ShortUpdater`, which have no INT64 branch. Their `decodeSingleDictionaryId` calls `dictionary.decodeToInt(...)`, which throws on a `PlainLongDictionary`. `isLazyDecodingSupported` returns false for byte/short vectors on INT64, so this decode path is reached. **What doesn't meet your expectations?** Expected: TINYINT/SMALLINT reads narrow an INT64 physical column, matching INT←INT64 and FLOAT←DOUBLE. Actual: read fails. **Anything else?** Merged PR #8505 added the same narrowing for `IntType`←INT64 and `FloatType`←DOUBLE but left the symmetric TINYINT/SMALLINT sibling cases uncovered. **Are you willing to submit a PR?** - [x] I'm willing to submit a PR! -- 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]
