Skip to content

Commit aaee83e

Browse files
committed
Convert uint64 to int64 (lossy)
Caused by: java.lang.IllegalArgumentException: Cannot use uint64: not a supported Java type at org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) at org.apache.iceberg.parquet.MessageTypeToType$ParquetLogicalTypeVisitor.visit(MessageTypeToType.java:224) at org.apache.parquet.schema.LogicalTypeAnnotation$IntLogicalTypeAnnotation.accept(LogicalTypeAnnotation.java:800) at org.apache.iceberg.parquet.MessageTypeToType.primitive(MessageTypeToType.java:153) at org.apache.iceberg.parquet.MessageTypeToType.primitive(MessageTypeToType.java:46) at org.apache.iceberg.parquet.ParquetTypeVisitor.visit(ParquetTypeVisitor.java:39) at org.apache.iceberg.parquet.ParquetTypeVisitor.visitFields(ParquetTypeVisitor.java:182) at org.apache.iceberg.parquet.ParquetTypeVisitor.visit(ParquetTypeVisitor.java:36) at org.apache.iceberg.parquet.ParquetSchemaUtil.convertInternal(ParquetSchemaUtil.java:74) at org.apache.iceberg.parquet.ParquetSchemaUtil.convert(ParquetSchemaUtil.java:57)
1 parent 818a164 commit aaee83e

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

ice/src/main/java/org/apache/iceberg/data/parquet/BaseParquetReaders.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -214,9 +214,10 @@ public Optional<ParquetValueReader<?>> visit(
214214
@Override
215215
public Optional<ParquetValueReader<?>> visit(IntLogicalTypeAnnotation intLogicalType) {
216216
if (intLogicalType.getBitWidth() == 64) {
217-
Preconditions.checkArgument(
218-
intLogicalType.isSigned(), "Cannot read UINT64 as a long value");
219-
217+
/*
218+
Preconditions.checkArgument(
219+
intLogicalType.isSigned(), "Cannot read UINT64 as a long value");
220+
*/
220221
return Optional.of(new ParquetValueReaders.UnboxedReader<>(desc));
221222
}
222223

ice/src/main/java/org/apache/iceberg/data/parquet/BaseParquetWriter.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -233,9 +233,11 @@ public Optional<ParquetValueWriter<?>> visit(
233233
@Override
234234
public Optional<ParquetValueWriter<?>> visit(
235235
LogicalTypeAnnotation.IntLogicalTypeAnnotation intType) {
236-
Preconditions.checkArgument(
237-
intType.isSigned() || intType.getBitWidth() < 64,
238-
"Cannot read uint64: not a supported Java type");
236+
/*
237+
Preconditions.checkArgument(
238+
intType.isSigned() || intType.getBitWidth() < 64,
239+
"Cannot read uint64: not a supported Java type");
240+
*/
239241
if (intType.getBitWidth() < 64) {
240242
return Optional.of(ParquetValueWriters.ints(desc));
241243
} else {

ice/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,11 @@ public Optional<Type> visit(
221221

222222
@Override
223223
public Optional<Type> visit(LogicalTypeAnnotation.IntLogicalTypeAnnotation intType) {
224-
Preconditions.checkArgument(
225-
intType.isSigned() || intType.getBitWidth() < 64,
226-
"Cannot use uint64: not a supported Java type");
224+
/*
225+
Preconditions.checkArgument(
226+
intType.isSigned() || intType.getBitWidth() < 64,
227+
"Cannot use uint64: not a supported Java type");
228+
*/
227229
if (intType.getBitWidth() < 32) {
228230
return Optional.of(Types.IntegerType.get());
229231
} else if (intType.getBitWidth() == 32 && intType.isSigned()) {

0 commit comments

Comments
 (0)