GitHub user kunal642 opened a pull request:
https://github.com/apache/carbondata/pull/2786 [CARBONDATA-2967] Fixed NPE for preaggregate queries **Problem:** Preaggregate select queries require table path of parent table to access dictionary files. Therefore in executor CarbonMetadata class was used to get parent table object. As CarbonMetadata class is only meant to be used in driver and is not filled with carbontable objects for select queries therefore the query was throwing NPE. **Solution:** Pass parent table path from driver to executor by adding a new variable in RelationIdentifier. This will not be written to thrift, instead will be used to carry tablePath property from driver to executor. Be sure to do all of the following checklist to help us incorporate your contribution quickly and easily: - [ ] Any interfaces changed? - [ ] Any backward compatibility impacted? - [ ] Document update required? - [ ] Testing done Please provide details on - Whether new unit test cases have been added or why no new tests are required? - How it is tested? Please attach test report. - Is it a performance related change? Please attach the performance test report. - Any additional information to help reviewers in testing this change. - [ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA. You can merge this pull request into a Git repository by running: $ git pull https://github.com/kunal642/carbondata preagg_query_fix Alternatively you can review and apply these changes as the patch at: https://github.com/apache/carbondata/pull/2786.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2786 ---- commit ac358ad2f6b6e1d0451a28fae2ecdca23f30a409 Author: kunal642 <kunalkapoor642@...> Date: 2018-09-28T12:11:32Z Fixed NPE for preaggregate queries ---- --- |
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder2.1/633/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.3.1, Please check CI http://136.243.101.176:8080/job/carbondataprbuilder2.3/8894/ --- |
In reply to this post by qiuchenjian-2
Github user ravipesala commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2786#discussion_r221259855 --- Diff: integration/spark2/src/main/scala/org/apache/spark/sql/CarbonDatasourceHadoopRelation.scala --- @@ -80,6 +82,20 @@ case class CarbonDatasourceHadoopRelation( val projection = new CarbonProjection + if (carbonTable.isChildDataMap) { + val parentTableIdentifier = carbonTable.getTableInfo.getParentRelationIdentifiers.get(0) + val path = CarbonEnv.getCarbonTable(Some(parentTableIdentifier.getDatabaseName), + parentTableIdentifier.getTableName)(sparkSession).getTablePath + for (carbonDimension: CarbonDimension <- carbonTable.getAllDimensions.asScala) { + carbonDimension.getColumnSchema.getParentColumnTableRelations.get(0) + .getRelationIdentifier.setTablePath(path) + } + for (carbonDimension: CarbonDimension <- carbonTable.getDimensions.asScala) { --- End diff -- why for loop is duplicated, I think one time is once. --- |
In reply to this post by qiuchenjian-2
Github user ravipesala commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2786#discussion_r221260295 --- Diff: integration/spark2/src/main/scala/org/apache/spark/sql/CarbonDatasourceHadoopRelation.scala --- @@ -80,6 +82,20 @@ case class CarbonDatasourceHadoopRelation( val projection = new CarbonProjection + if (carbonTable.isChildDataMap) { + val parentTableIdentifier = carbonTable.getTableInfo.getParentRelationIdentifiers.get(0) + val path = CarbonEnv.getCarbonTable(Some(parentTableIdentifier.getDatabaseName), + parentTableIdentifier.getTableName)(sparkSession).getTablePath + for (carbonDimension: CarbonDimension <- carbonTable.getAllDimensions.asScala) { + carbonDimension.getColumnSchema.getParentColumnTableRelations.get(0) + .getRelationIdentifier.setTablePath(path) + } + for (carbonDimension: CarbonDimension <- carbonTable.getDimensions.asScala) { + carbonDimension.getColumnSchema.getParentColumnTableRelations.get(0) + .getRelationIdentifier.setTablePath(path) --- End diff -- Is the `RelationIdentifier` is different objects in all dimensions? Isn't it a single object used in all dimensions.? --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.2.1, Please check CI http://95.216.28.178:8080/job/ApacheCarbonPRBuilder1/827/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder2.1/650/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Failed with Spark 2.2.1, Please check CI http://95.216.28.178:8080/job/ApacheCarbonPRBuilder1/845/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Failed with Spark 2.3.1, Please check CI http://136.243.101.176:8080/job/carbondataprbuilder2.3/8913/ --- |
In reply to this post by qiuchenjian-2
Github user kunal642 commented on the issue:
https://github.com/apache/carbondata/pull/2786 retest this please --- |
In reply to this post by qiuchenjian-2
Github user kunal642 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2786#discussion_r221447268 --- Diff: integration/spark2/src/main/scala/org/apache/spark/sql/CarbonDatasourceHadoopRelation.scala --- @@ -80,6 +82,20 @@ case class CarbonDatasourceHadoopRelation( val projection = new CarbonProjection + if (carbonTable.isChildDataMap) { + val parentTableIdentifier = carbonTable.getTableInfo.getParentRelationIdentifiers.get(0) + val path = CarbonEnv.getCarbonTable(Some(parentTableIdentifier.getDatabaseName), + parentTableIdentifier.getTableName)(sparkSession).getTablePath + for (carbonDimension: CarbonDimension <- carbonTable.getAllDimensions.asScala) { + carbonDimension.getColumnSchema.getParentColumnTableRelations.get(0) + .getRelationIdentifier.setTablePath(path) + } + for (carbonDimension: CarbonDimension <- carbonTable.getDimensions.asScala) { + carbonDimension.getColumnSchema.getParentColumnTableRelations.get(0) + .getRelationIdentifier.setTablePath(path) --- End diff -- Yeah..removed the second loop --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder2.1/658/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Failed with Spark 2.3.1, Please check CI http://136.243.101.176:8080/job/carbondataprbuilder2.3/8921/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.2.1, Please check CI http://95.216.28.178:8080/job/ApacheCarbonPRBuilder1/854/ --- |
In reply to this post by qiuchenjian-2
Github user zzcclp commented on the issue:
https://github.com/apache/carbondata/pull/2786 retest this please --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder2.1/666/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.3.1, Please check CI http://136.243.101.176:8080/job/carbondataprbuilder2.3/8929/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.2.1, Please check CI http://95.216.28.178:8080/job/ApacheCarbonPRBuilder1/861/ --- |
In reply to this post by qiuchenjian-2
Github user ravipesala commented on the issue:
https://github.com/apache/carbondata/pull/2786 retest this please --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2786 Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder2.1/671/ --- |
Free forum by Nabble | Edit this page |