Hussain Towaileb created ASTERIXDB-2983:
-------------------------------------------

             Summary: "Parquet" format external datasets fail when no files 
exist in the queried external data source
                 Key: ASTERIXDB-2983
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2983
             Project: Apache AsterixDB
          Issue Type: Improvement
          Components: EXT - External data
    Affects Versions: 0.9.7
            Reporter: Hussain Towaileb
            Assignee: Wail Y. Alkowaileet
             Fix For: 0.9.8


Steps to reproduce:

1- Have an S3 bucket with no files in it

2- Create an external dataset pointing to the bucket in step 1, or point to a 
path that has no files.

3- Query the created external dataset, observe the below error.

 
{code:java}
n_0:org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: Unable 
to create adapter
n_0:    at 
org.apache.asterix.metadata.declared.MetadataProvider.getConfiguredAdapterFactory(MetadataProvider.java:911)
 ~[asterix-metadata-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.metadata.declared.DatasetDataSource.buildDatasourceScanRuntime(DatasetDataSource.java:122)
 ~[asterix-metadata-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.metadata.declared.MetadataProvider.getScannerRuntime(MetadataProvider.java:493)
 ~[asterix-metadata-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.algebra.operators.physical.DataSourceScanPOperator.contributeRuntimeOperator(DataSourceScanPOperator.java:120)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractLogicalOperator.contributeRuntimeOperator(AbstractLogicalOperator.java:171)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:111)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:97)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compilePlanImpl(PlanCompiler.java:70)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compilePlan(PlanCompiler.java:52)
 ~[algebricks-core-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.algebricks.compiler.api.HeuristicCompilerFactoryBuilder$1$1.createJob(HeuristicCompilerFactoryBuilder.java:111)
 ~[algebricks-compiler-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.api.common.APIFramework.compileQuery(APIFramework.java:332) 
~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.app.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:3667)
 ~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.app.translator.QueryTranslator.lambda$handleQuery$2(QueryTranslator.java:4175)
 ~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.app.translator.QueryTranslator.createAndRunJob(QueryTranslator.java:4307)
 ~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.app.translator.QueryTranslator.deliverResult(QueryTranslator.java:4220)
 ~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.app.translator.QueryTranslator.handleQuery(QueryTranslator.java:4190)
 ~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:487)
 ~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.app.message.ExecuteStatementRequestMessage.handle(ExecuteStatementRequestMessage.java:180)
 ~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.messaging.CCMessageBroker.receivedMessage(CCMessageBroker.java:64)
 ~[asterix-app-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.hyracks.control.cc.work.ApplicationMessageWork.lambda$notifyMessageBroker$0(ApplicationMessageWork.java:68)
 ~[hyracks-control-cc-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
n_0:    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
n_0:    at java.lang.Thread.run(Thread.java:829) [?:?]
n_0:Caused by: org.apache.asterix.common.exceptions.AsterixException: 
java.io.IOException: No input paths specified in job
n_0:    at 
org.apache.asterix.external.input.HDFSDataSourceFactory.configureHdfsConf(HDFSDataSourceFactory.java:133)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.external.input.record.reader.aws.parquet.AwsS3ParquetReaderFactory.configure(AwsS3ParquetReaderFactory.java:56)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.external.adapter.factory.GenericAdapterFactory.configure(GenericAdapterFactory.java:153)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
com.couchbase.analytics.adapter.AnalyticsAdapterFactory.configure(AnalyticsAdapterFactory.java:80)
 ~[cbas-connector-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.external.provider.AdapterFactoryProvider.getAdapterFactory(AdapterFactoryProvider.java:57)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.metadata.declared.MetadataProvider.getConfiguredAdapterFactory(MetadataProvider.java:890)
 ~[asterix-metadata-7.1.0-0000.jar:7.1.0-0000]
n_0:    ... 29 more
n_0:Caused by: java.io.IOException: No input paths specified in job
n_0:    at 
org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:217) 
~[hadoop-mapreduce-client-core-3.3.1.jar:?]
n_0:    at 
org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:332) 
~[hadoop-mapreduce-client-core-3.3.1.jar:?]
n_0:    at 
org.apache.asterix.external.input.record.reader.hdfs.parquet.MapredParquetInputFormat.getSplits(MapredParquetInputFormat.java:63)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.external.input.HDFSDataSourceFactory.configureHdfsConf(HDFSDataSourceFactory.java:109)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.external.input.record.reader.aws.parquet.AwsS3ParquetReaderFactory.configure(AwsS3ParquetReaderFactory.java:56)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.external.adapter.factory.GenericAdapterFactory.configure(GenericAdapterFactory.java:153)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
com.couchbase.analytics.adapter.AnalyticsAdapterFactory.configure(AnalyticsAdapterFactory.java:80)
 ~[cbas-connector-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.external.provider.AdapterFactoryProvider.getAdapterFactory(AdapterFactoryProvider.java:57)
 ~[asterix-external-data-7.1.0-0000.jar:7.1.0-0000]
n_0:    at 
org.apache.asterix.metadata.declared.MetadataProvider.getConfiguredAdapterFactory(MetadataProvider.java:890)
 ~[asterix-metadata-7.1.0-0000.jar:7.1.0-0000]
n_0:    ... 29 more {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to