[
https://issues.apache.org/jira/browse/ASTERIXDB-2983?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hussain Towaileb updated ASTERIXDB-2983:
----------------------------------------
Issue Type: Bug (was: Improvement)
> "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: Bug
> Components: EXT - External data
> Affects Versions: 0.9.7
> Reporter: Hussain Towaileb
> Assignee: Wail Y. Alkowaileet
> Priority: Major
> 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)