You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Hussain Towaileb (Jira)" <ji...@apache.org> on 2021/11/12 17:20:00 UTC

[jira] [Updated] (ASTERIXDB-2983) "Parquet" format external datasets fail when no files exist in the queried external data source

     [ 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)