You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@parquet.apache.org by ga...@apache.org on 2021/02/03 08:31:54 UTC

[parquet-mr] branch master updated: PARQUET-1964: FOLLOWUP: Avoid constructing useless ArrayList (#855)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new e6bca6f  PARQUET-1964: FOLLOWUP: Avoid constructing useless ArrayList (#855)
e6bca6f is described below

commit e6bca6f72db5b450c074676ac20dae9e33e93695
Author: Yuming Wang <yu...@ebay.com>
AuthorDate: Wed Feb 3 16:31:45 2021 +0800

    PARQUET-1964: FOLLOWUP: Avoid constructing useless ArrayList (#855)
---
 .../apache/parquet/hadoop/ParquetFileReader.java   | 27 +++++++++++-----------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileReader.java b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileReader.java
index b13d336..0cb6660 100644
--- a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileReader.java
+++ b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileReader.java
@@ -851,23 +851,22 @@ public class ParquetFileReader implements Closeable {
   }
 
   private List<BlockMetaData> filterRowGroups(List<BlockMetaData> blocks) throws IOException {
-    // set up data filters based on configured levels
-    List<RowGroupFilter.FilterLevel> levels = new ArrayList<>();
-
-    if (options.useStatsFilter()) {
-      levels.add(STATISTICS);
-    }
+    FilterCompat.Filter recordFilter = options.getRecordFilter();
+    if (FilterCompat.isFilteringRequired(recordFilter)) {
+      // set up data filters based on configured levels
+      List<RowGroupFilter.FilterLevel> levels = new ArrayList<>();
 
-    if (options.useDictionaryFilter()) {
-      levels.add(DICTIONARY);
-    }
+      if (options.useStatsFilter()) {
+        levels.add(STATISTICS);
+      }
 
-    if (options.useBloomFilter()) {
-      levels.add(BLOOMFILTER);
-    }
+      if (options.useDictionaryFilter()) {
+        levels.add(DICTIONARY);
+      }
 
-    FilterCompat.Filter recordFilter = options.getRecordFilter();
-    if (FilterCompat.isFilteringRequired(recordFilter)) {
+      if (options.useBloomFilter()) {
+        levels.add(BLOOMFILTER);
+      }
       return RowGroupFilter.filterRowGroups(levels, recordFilter, blocks, this);
     }