aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java
diff options
context:
space:
mode:
authorParth Chandra <parthc@apache.org>2016-09-27 14:03:35 -0700
committerParth Chandra <parthc@apache.org>2016-11-02 17:57:46 -0700
commitf9a443d8a3d8e81b7e76f161b611003d16a53a4d (patch)
treef0212574d0a40b42c9e1f61720b1717aba42b937 /exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java
parentfe2334ee0234aa37637f17d7833e734333b73892 (diff)
DRILL-4800: Add AsyncPageReader to pipeline PageRead Use non tracking input stream for Parquet scans. Make choice between async and sync reader configurable. Make various options user configurable - choose between sync and async page reader, enable/disable fadvise Add Parquet Scan metrics to track time spent in various operations
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java')
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java
index a98c66083..a14bab52d 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java
@@ -73,10 +73,18 @@ public class ParquetScanBatchCreator implements BatchCreator<ParquetRowGroupScan
DrillFileSystem fs;
try {
- fs = oContext.newFileSystem(rowGroupScan.getStorageEngine().getFsConf());
- } catch(IOException e) {
- throw new ExecutionSetupException(String.format("Failed to create DrillFileSystem: %s", e.getMessage()), e);
+ boolean useAsyncPageReader =
+ context.getOptions().getOption(ExecConstants.PARQUET_PAGEREADER_ASYNC).bool_val;
+ if (useAsyncPageReader) {
+ fs = oContext.newNonTrackingFileSystem(rowGroupScan.getStorageEngine().getFsConf());
+ } else {
+ fs = oContext.newFileSystem(rowGroupScan.getStorageEngine().getFsConf());
+ }
+ } catch (IOException e) {
+ throw new ExecutionSetupException(
+ String.format("Failed to create DrillFileSystem: %s", e.getMessage()), e);
}
+
Configuration conf = new Configuration(fs.getConf());
conf.setBoolean(ENABLE_BYTES_READ_COUNTER, false);
conf.setBoolean(ENABLE_BYTES_TOTAL_COUNTER, false);