You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ja...@apache.org on 2018/08/07 13:09:45 UTC

[21/50] [abbrv] carbondata git commit: [CARBONDATA-2781] Added fix for Null Pointer Excpetion when create datamap killed from UI

[CARBONDATA-2781] Added fix for Null Pointer Excpetion when create datamap killed from UI

What was the issue?
In undo meta, datamap was not being dropped.
In case of Pre-aggregate table or timeseries table, the datamap was not being dropped from schema as undo meta method was not handling the same.

What is the solution?
Datamap gets dropped when create command is killed from UI during undo meta.

This closes #2552


Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/3816e90e
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/3816e90e
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/3816e90e

Branch: refs/heads/external-format
Commit: 3816e90e758dde86c778b88af3d47d5b63f0f4db
Parents: e580d64
Author: praveenmeenakshi56 <pr...@gmail.com>
Authored: Wed Jul 25 21:52:54 2018 +0530
Committer: ravipesala <ra...@gmail.com>
Committed: Wed Aug 1 19:01:36 2018 +0530

----------------------------------------------------------------------
 .../carbondata/datamap/PreAggregateDataMapProvider.java     | 9 ++++++---
 .../command/datamap/CarbonCreateDataMapCommand.scala        | 6 +++++-
 2 files changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/3816e90e/integration/spark2/src/main/java/org/apache/carbondata/datamap/PreAggregateDataMapProvider.java
----------------------------------------------------------------------
diff --git a/integration/spark2/src/main/java/org/apache/carbondata/datamap/PreAggregateDataMapProvider.java b/integration/spark2/src/main/java/org/apache/carbondata/datamap/PreAggregateDataMapProvider.java
index a1f80b1..099d65d 100644
--- a/integration/spark2/src/main/java/org/apache/carbondata/datamap/PreAggregateDataMapProvider.java
+++ b/integration/spark2/src/main/java/org/apache/carbondata/datamap/PreAggregateDataMapProvider.java
@@ -39,11 +39,15 @@ public class PreAggregateDataMapProvider extends DataMapProvider {
   protected PreAggregateTableHelper helper;
   protected CarbonDropTableCommand dropTableCommand;
   protected SparkSession sparkSession;
+  private String dbName;
+  private String tableName;
 
   PreAggregateDataMapProvider(CarbonTable table, DataMapSchema schema,
       SparkSession sparkSession) {
     super(table, schema);
     this.sparkSession = sparkSession;
+    this.dbName = table.getDatabaseName();
+    this.tableName = table.getTableName() + '_' + schema.getDataMapName();
   }
 
   @Override
@@ -74,11 +78,10 @@ public class PreAggregateDataMapProvider extends DataMapProvider {
 
   @Override
   public void cleanMeta() {
-    DataMapSchema dataMapSchema = getDataMapSchema();
     dropTableCommand = new CarbonDropTableCommand(
         true,
-        new Some<>(dataMapSchema.getRelationIdentifier().getDatabaseName()),
-        dataMapSchema.getRelationIdentifier().getTableName(),
+        new Some<>(dbName),
+        tableName,
         true);
     dropTableCommand.processMetadata(sparkSession);
   }

http://git-wip-us.apache.org/repos/asf/carbondata/blob/3816e90e/integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/datamap/CarbonCreateDataMapCommand.scala
----------------------------------------------------------------------
diff --git a/integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/datamap/CarbonCreateDataMapCommand.scala b/integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/datamap/CarbonCreateDataMapCommand.scala
index c40dcb0..1e4c2c3 100644
--- a/integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/datamap/CarbonCreateDataMapCommand.scala
+++ b/integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/datamap/CarbonCreateDataMapCommand.scala
@@ -181,7 +181,11 @@ case class CarbonCreateDataMapCommand(
 
   override def undoMetadata(sparkSession: SparkSession, exception: Exception): Seq[Row] = {
     if (dataMapProvider != null) {
-      dataMapProvider.cleanMeta()
+        CarbonDropDataMapCommand(
+          dataMapName,
+          true,
+          Some(TableIdentifier(mainTable.getTableName, Some(mainTable.getDatabaseName))),
+          forceDrop = false).run(sparkSession)
     }
     Seq.empty
   }