This is an automated email from the ASF dual-hosted git repository.

fokko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-java.git


The following commit(s) were added to refs/heads/master by this push:
     new 942024944 GH-3215: Sort the list of org.apache.parquet.format.Encoding 
(#3413)
942024944 is described below

commit 942024944eb71255928e02d71715bc4493e1d415
Author: Mikael Brännström <[email protected]>
AuthorDate: Sat Mar 7 22:32:33 2026 +0100

    GH-3215: Sort the list of org.apache.parquet.format.Encoding (#3413)
    
    * GH-3215: Sort the list of org.apache.parquet.format.Encoding created by 
org.apache.parquet.format.converter.ParquetMetadataConverter::toFormatEncodings
    
    * GH-3215: Reformat test case to address format violations failures.
    
    ---------
    
    Co-authored-by: Peter Franzen <[email protected]>
    Co-authored-by: Mikael Brännström <[email protected]>
---
 .../format/converter/ParquetMetadataConverter.java       |  4 +++-
 .../format/converter/TestParquetMetadataConverter.java   | 16 ++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git 
a/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
 
b/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
index 60150439a..3597898c3 100644
--- 
a/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
+++ 
b/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
@@ -703,11 +703,13 @@ public class ParquetMetadataConverter {
     rowGroups.add(rowGroup);
   }
 
-  private List<Encoding> 
toFormatEncodings(Set<org.apache.parquet.column.Encoding> encodings) {
+  // Visible for testing
+  List<Encoding> toFormatEncodings(Set<org.apache.parquet.column.Encoding> 
encodings) {
     List<Encoding> converted = new ArrayList<Encoding>(encodings.size());
     for (org.apache.parquet.column.Encoding encoding : encodings) {
       converted.add(getEncoding(encoding));
     }
+    Collections.sort(converted);
     return converted;
   }
 
diff --git 
a/parquet-hadoop/src/test/java/org/apache/parquet/format/converter/TestParquetMetadataConverter.java
 
b/parquet-hadoop/src/test/java/org/apache/parquet/format/converter/TestParquetMetadataConverter.java
index 264017a1f..e4851d8ec 100644
--- 
a/parquet-hadoop/src/test/java/org/apache/parquet/format/converter/TestParquetMetadataConverter.java
+++ 
b/parquet-hadoop/src/test/java/org/apache/parquet/format/converter/TestParquetMetadataConverter.java
@@ -759,6 +759,22 @@ public class TestParquetMetadataConverter {
     assertEquals("java.util.Collections$UnmodifiableSet", 
res3.getClass().getName());
   }
 
+  @Test
+  public void testEncodingsOrder() {
+    ParquetMetadataConverter parquetMetadataConverter = new 
ParquetMetadataConverter();
+
+    Set<org.apache.parquet.column.Encoding> columnEncodings =
+        new 
HashSet<>(Arrays.asList(org.apache.parquet.column.Encoding.values()));
+
+    // Assert that the encodings are returned in ascending ordinal order
+    List<org.apache.parquet.format.Encoding> formatEncodings =
+        parquetMetadataConverter.toFormatEncodings(columnEncodings);
+    for (int i = 1; i < formatEncodings.size(); i++) {
+      assertTrue(formatEncodings.get(i - 1).ordinal()
+          < formatEncodings.get(i).ordinal());
+    }
+  }
+
   @Test
   public void testBinaryStatsV1() {
     testBinaryStats(StatsHelper.V1);

Reply via email to