Skip to content

Commit 537ce63

Browse files
committed
Fix japicmp API compatibility check for parquet-compression refactoring
The japicmp plugin fails because: 1. commons-pool classes (BasePoolableObjectFactory, GenericObjectPool) are no longer transitively available after removing the Hadoop codec pool path 2. Public codec classes were moved from parquet-hadoop to parquet-compression 3. CodecFactory was refactored to extend DefaultCompressionCodecFactory 4. Deprecated constructors in ParquetRecordWriter and ColumnChunkPageWriteStore changed their BytesCompressor parameter type Add ignoreMissingClassesByRegularExpression for org.apache.commons.pool and exclude all moved/refactored classes from the compatibility check.
1 parent cabf77e commit 537ce63

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

pom.xml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,12 @@
592592
<onlyModified>true</onlyModified>
593593
<ignoreMissingClassesByRegularExpressions>
594594
<ignoreMissingClassesByRegularExpression>${shade.prefix}.*</ignoreMissingClassesByRegularExpression>
595+
<!-- commons-pool was a transitive dependency via Hadoop; no longer needed after
596+
extracting compression code to parquet-compression module -->
597+
<ignoreMissingClassesByRegularExpression>org\.apache\.commons\.pool\..*</ignoreMissingClassesByRegularExpression>
598+
<!-- CodecFactory inner classes (BytesCompressor, BytesDecompressor) removed in GH-3530;
599+
other classes still reference them in the old jar's signatures -->
600+
<ignoreMissingClassesByRegularExpression>org\.apache\.parquet\.hadoop\.CodecFactory.*</ignoreMissingClassesByRegularExpression>
595601
</ignoreMissingClassesByRegularExpressions>
596602
<ignoreMissingOldVersion>true</ignoreMissingOldVersion>
597603
<excludeModules>
@@ -621,6 +627,37 @@
621627
<exclude>org.apache.parquet.avro.AvroReadSupport#AVRO_REQUESTED_PROJECTION</exclude>
622628
<exclude>org.apache.parquet.avro.AvroReadSupport#AVRO_DATA_SUPPLIER</exclude>
623629
<exclude>org.apache.parquet.hadoop.ParquetFileReader#PARQUET_READ_PARALLELISM</exclude>
630+
<!-- Hadoop CompressionCodec implementations moved to parquet-compression module (GH-3530) -->
631+
<exclude>org.apache.parquet.hadoop.codec.Lz4RawCodec</exclude>
632+
<exclude>org.apache.parquet.hadoop.codec.Lz4RawCompressor</exclude>
633+
<exclude>org.apache.parquet.hadoop.codec.Lz4RawDecompressor</exclude>
634+
<exclude>org.apache.parquet.hadoop.codec.NonBlockedCompressor</exclude>
635+
<exclude>org.apache.parquet.hadoop.codec.NonBlockedCompressorStream</exclude>
636+
<exclude>org.apache.parquet.hadoop.codec.NonBlockedDecompressor</exclude>
637+
<exclude>org.apache.parquet.hadoop.codec.NonBlockedDecompressorStream</exclude>
638+
<exclude>org.apache.parquet.hadoop.codec.SnappyCodec</exclude>
639+
<exclude>org.apache.parquet.hadoop.codec.SnappyCompressor</exclude>
640+
<exclude>org.apache.parquet.hadoop.codec.SnappyDecompressor</exclude>
641+
<exclude>org.apache.parquet.hadoop.codec.ZstandardCodec</exclude>
642+
<exclude>org.apache.parquet.hadoop.codec.ZstdCompressorStream</exclude>
643+
<exclude>org.apache.parquet.hadoop.codec.ZstdDecompressorStream</exclude>
644+
<!-- CodecFactory refactored: now extends DefaultCompressionCodecFactory,
645+
inner classes BytesCompressor/BytesDecompressor moved to parent (GH-3530) -->
646+
<exclude>org.apache.parquet.hadoop.CodecFactory</exclude>
647+
<!-- DirectCodecFactory and all its public inner classes removed (GH-3530) -->
648+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory</exclude>
649+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory$DirectCodecPool$CodecPool</exclude>
650+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory$DirectCodecPool$ParquetCompressionCodecException</exclude>
651+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory$FullDirectDecompressor</exclude>
652+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory$IndirectDecompressor</exclude>
653+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory$NoopCompressor</exclude>
654+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory$NoopDecompressor</exclude>
655+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory$SnappyCompressor</exclude>
656+
<exclude>org.apache.parquet.hadoop.DirectCodecFactory$SnappyDecompressor</exclude>
657+
<!-- Deprecated constructors changed param type from CodecFactory.BytesCompressor
658+
to DefaultCompressionCodecFactory.BytesCompressor (GH-3530) -->
659+
<exclude>org.apache.parquet.hadoop.ParquetRecordWriter</exclude>
660+
<exclude>org.apache.parquet.hadoop.ColumnChunkPageWriteStore</exclude>
624661
</excludes>
625662
</parameter>
626663
</configuration>

0 commit comments

Comments
 (0)