HIVE-13354 : Add ability to specify Compaction options per table and per 
request (Wei Zheng, reviewed by Eugene Koifman)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6e0504d9
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6e0504d9
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6e0504d9

Branch: refs/heads/branch-1
Commit: 6e0504d9a8552471f7137a513abe2a0a15c124de
Parents: abaf882
Author: Wei Zheng <w...@apache.org>
Authored: Fri May 27 15:13:53 2016 -0700
Committer: Wei Zheng <w...@apache.org>
Committed: Fri May 27 15:13:53 2016 -0700

----------------------------------------------------------------------
 .../hive/ql/txn/compactor/TestCompactor.java    |  164 ++
 metastore/if/hive_metastore.thrift              |    1 +
 .../upgrade/derby/036-HIVE-13354.derby.sql      |    2 +
 .../derby/hive-txn-schema-1.3.0.derby.sql       |    2 +
 .../derby/upgrade-1.2.0-to-1.3.0.derby.sql      |    1 +
 .../upgrade/mssql/021-HIVE-13354.mssql.sql      |    2 +
 .../upgrade/mssql/hive-schema-1.3.0.mssql.sql   |    2 +
 .../mssql/upgrade-1.2.0-to-1.3.0.mssql.sql      |    1 +
 .../upgrade/mysql/036-HIVE-13354.mysql.sql      |    2 +
 .../mysql/hive-txn-schema-1.3.0.mysql.sql       |    2 +
 .../mysql/upgrade-1.2.0-to-1.3.0.mysql.sql      |    1 +
 .../upgrade/oracle/036-HIVE-13354.oracle.sql    |    2 +
 .../oracle/hive-txn-schema-1.3.0.oracle.sql     |    2 +
 .../oracle/upgrade-1.2.0-to-1.3.0.oracle.sql    |    1 +
 .../postgres/035-HIVE-13354.postgres.sql        |    2 +
 .../postgres/hive-txn-schema-1.3.0.postgres.sql |    2 +
 .../upgrade-1.2.0-to-1.3.0.postgres.sql         |    1 +
 .../gen/thrift/gen-cpp/ThriftHiveMetastore.cpp  | 1814 ++++++++--------
 .../gen/thrift/gen-cpp/hive_metastore_types.cpp |  640 +++---
 .../gen/thrift/gen-cpp/hive_metastore_types.h   |   10 +-
 .../metastore/api/AddDynamicPartitions.java     |   32 +-
 .../hive/metastore/api/CompactionRequest.java   |  166 +-
 .../hive/metastore/api/FireEventRequest.java    |   32 +-
 .../metastore/api/GetAllFunctionsResponse.java  |   36 +-
 .../metastore/api/InsertEventRequestData.java   |   32 +-
 .../api/NotificationEventResponse.java          |   36 +-
 .../hive/metastore/api/ShowCompactResponse.java |   36 +-
 .../hive/metastore/api/ThriftHiveMetastore.java | 1948 +++++++++---------
 .../gen-php/metastore/ThriftHiveMetastore.php   | 1098 +++++-----
 .../src/gen/thrift/gen-php/metastore/Types.php  |  171 +-
 .../hive_metastore/ThriftHiveMetastore.py       |  738 +++----
 .../gen/thrift/gen-py/hive_metastore/ttypes.py  |  103 +-
 .../gen/thrift/gen-rb/hive_metastore_types.rb   |    4 +-
 .../hive/metastore/HiveMetaStoreClient.java     |   14 +
 .../hadoop/hive/metastore/IMetaStoreClient.java |   18 +
 .../hive/metastore/txn/CompactionInfo.java      |   30 +-
 .../metastore/txn/CompactionTxnHandler.java     |   11 +-
 .../hadoop/hive/metastore/txn/TxnDbUtil.java    |    2 +
 .../hadoop/hive/metastore/txn/TxnHandler.java   |    8 +
 .../hadoop/hive/metastore/txn/TxnUtils.java     |   54 +
 .../org/apache/hadoop/hive/ql/exec/DDLTask.java |    2 +-
 .../apache/hadoop/hive/ql/metadata/Hive.java    |    6 +-
 .../hive/ql/parse/DDLSemanticAnalyzer.java      |    5 +
 .../apache/hadoop/hive/ql/parse/HiveParser.g    |    4 +-
 .../hive/ql/plan/AlterTableSimpleDesc.java      |    8 +
 .../hive/ql/txn/compactor/CompactorMR.java      |  121 +-
 .../hadoop/hive/ql/txn/compactor/Initiator.java |   22 +-
 .../hadoop/hive/ql/txn/compactor/Worker.java    |    9 +
 .../hive/ql/txn/compactor/TestWorker.java       |    9 +-
 49 files changed, 4016 insertions(+), 3393 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
----------------------------------------------------------------------
diff --git 
a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
 
b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
index 37bbab8..9c8bcc1 100644
--- 
a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
+++ 
b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
@@ -14,6 +14,7 @@ import 
org.apache.hadoop.hive.metastore.api.ColumnStatisticsObj;
 import org.apache.hadoop.hive.metastore.api.CompactionRequest;
 import org.apache.hadoop.hive.metastore.api.CompactionType;
 import org.apache.hadoop.hive.metastore.api.LongColumnStatsData;
+import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.ShowCompactRequest;
 import org.apache.hadoop.hive.metastore.api.ShowCompactResponse;
 import org.apache.hadoop.hive.metastore.api.ShowCompactResponseElement;
@@ -34,6 +35,7 @@ import org.apache.hadoop.hive.ql.io.orc.OrcInputFormat;
 import org.apache.hadoop.hive.ql.io.orc.OrcStruct;
 import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
 import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.mapred.JobConf;
 import org.apache.hive.hcatalog.common.HCatUtil;
 import org.apache.hive.hcatalog.streaming.DelimitedInputWriter;
 import org.apache.hive.hcatalog.streaming.HiveEndPoint;
@@ -61,6 +63,7 @@ import java.util.SortedSet;
 import java.util.TreeSet;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.TimeUnit;
 
 /**
  */
@@ -834,6 +837,137 @@ public class TestCompactor {
       connection.close();
     }
   }
+
+  /**
+   * Users have the choice of specifying compaction related tblproperties 
either in CREATE TABLE
+   * statement or in ALTER TABLE .. COMPACT statement. This tests both cases.
+   * @throws Exception
+   */
+  @Test
+  public void testTableProperties() throws Exception {
+    String tblName1 = "ttp1"; // plain acid table
+    String tblName2 = "ttp2"; // acid table with customized tblproperties
+    executeStatementOnDriver("drop table if exists " + tblName1, driver);
+    executeStatementOnDriver("drop table if exists " + tblName2, driver);
+    executeStatementOnDriver("CREATE TABLE " + tblName1 + "(a INT, b STRING) " 
+
+        " CLUSTERED BY(a) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES 
('transactional'='true')", driver);
+    executeStatementOnDriver("CREATE TABLE " + tblName2 + "(a INT, b STRING) " 
+
+        " CLUSTERED BY(a) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES (" +
+        "'transactional'='true'," +
+        "'compactor.mapreduce.map.memory.mb'='2048'," + // 2048 MB memory for 
compaction map job
+        "'compactorthreshold.hive.compactor.delta.num.threshold'='4'," +  // 
minor compaction if more than 4 delta dirs
+        "'compactorthreshold.hive.compactor.delta.pct.threshold'='0.5'" + // 
major compaction if more than 50%
+        ")", driver);
+
+    // Insert 5 rows to both tables
+    executeStatementOnDriver("insert into " + tblName1 + " values (1, 'a')", 
driver);
+    executeStatementOnDriver("insert into " + tblName1 + " values (2, 'b')", 
driver);
+    executeStatementOnDriver("insert into " + tblName1 + " values (3, 'c')", 
driver);
+    executeStatementOnDriver("insert into " + tblName1 + " values (4, 'd')", 
driver);
+    executeStatementOnDriver("insert into " + tblName1 + " values (5, 'e')", 
driver);
+
+    executeStatementOnDriver("insert into " + tblName2 + " values (1, 'a')", 
driver);
+    executeStatementOnDriver("insert into " + tblName2 + " values (2, 'b')", 
driver);
+    executeStatementOnDriver("insert into " + tblName2 + " values (3, 'c')", 
driver);
+    executeStatementOnDriver("insert into " + tblName2 + " values (4, 'd')", 
driver);
+    executeStatementOnDriver("insert into " + tblName2 + " values (5, 'e')", 
driver);
+
+    runInitiator(conf);
+
+    // Compactor should only schedule compaction for ttp2 
(delta.num.threshold=4), not ttp1
+    TxnStore txnHandler = TxnUtils.getTxnStore(conf);
+    ShowCompactResponse rsp = txnHandler.showCompact(new ShowCompactRequest());
+    Assert.assertEquals(1, rsp.getCompacts().size());
+    Assert.assertEquals(TxnStore.INITIATED_RESPONSE, 
rsp.getCompacts().get(0).getState());
+    Assert.assertEquals("ttp2", rsp.getCompacts().get(0).getTablename());
+    Assert.assertEquals(CompactionType.MAJOR, 
rsp.getCompacts().get(0).getType()); // type is MAJOR since there's no base yet
+
+    // Finish the scheduled compaction for ttp2, and manually compact ttp1, to 
make them comparable again
+    executeStatementOnDriver("alter table " + tblName1 + " compact 'major'", 
driver);
+    rsp = txnHandler.showCompact(new ShowCompactRequest());
+    Assert.assertEquals(2, rsp.getCompacts().size());
+    Assert.assertEquals("ttp2", rsp.getCompacts().get(0).getTablename());
+    Assert.assertEquals(TxnStore.INITIATED_RESPONSE, 
rsp.getCompacts().get(0).getState());
+    Assert.assertEquals("ttp1", rsp.getCompacts().get(1).getTablename());
+    Assert.assertEquals(TxnStore.INITIATED_RESPONSE, 
rsp.getCompacts().get(1).getState());
+    // compact ttp2, by running the Worker explicitly, in order to get the 
reference to the compactor MR job
+    AtomicBoolean stop = new AtomicBoolean(true);
+    Worker t = new Worker();
+    t.setThreadId((int) t.getId());
+    t.setHiveConf(conf);
+    AtomicBoolean looped = new AtomicBoolean();
+    t.init(stop, looped);
+    t.run();
+    JobConf job = t.getMrJob();
+    Assert.assertEquals("2048", job.get("mapreduce.map.memory.mb"));  // 2048 
comes from tblproperties
+    // Compact ttp1
+    stop = new AtomicBoolean(true);
+    t = new Worker();
+    t.setThreadId((int) t.getId());
+    t.setHiveConf(conf);
+    looped = new AtomicBoolean();
+    t.init(stop, looped);
+    t.run();
+    job = t.getMrJob();
+    Assert.assertEquals("1024", job.get("mapreduce.map.memory.mb"));  // 1024 
is the default value
+    // Clean up
+    runCleaner(conf);
+    rsp = txnHandler.showCompact(new ShowCompactRequest());
+    Assert.assertEquals(2, rsp.getCompacts().size());
+    Assert.assertEquals("ttp2", rsp.getCompacts().get(0).getTablename());
+    Assert.assertEquals(TxnStore.SUCCEEDED_RESPONSE, 
rsp.getCompacts().get(0).getState());
+    Assert.assertEquals("ttp1", rsp.getCompacts().get(1).getTablename());
+    Assert.assertEquals(TxnStore.SUCCEEDED_RESPONSE, 
rsp.getCompacts().get(1).getState());
+
+    // Insert one more row - this should trigger 
hive.compactor.delta.pct.threshold to be reached for ttp2
+    executeStatementOnDriver("insert into " + tblName1 + " values (6, 'f')", 
driver);
+    executeStatementOnDriver("insert into " + tblName2 + " values (6, 'f')", 
driver);
+
+    // Intentionally set this high so that it will not trigger major 
compaction for ttp1.
+    // Only trigger major compaction for ttp2 (delta.pct.threshold=0.5) 
because of the newly inserted row (actual pct: 0.66)
+    conf.setFloatVar(HiveConf.ConfVars.HIVE_COMPACTOR_DELTA_PCT_THRESHOLD, 
0.8f);
+    runInitiator(conf);
+    rsp = txnHandler.showCompact(new ShowCompactRequest());
+    Assert.assertEquals(4, rsp.getCompacts().size());
+    Assert.assertEquals("ttp1", rsp.getCompacts().get(0).getTablename());
+    Assert.assertEquals(TxnStore.INITIATED_RESPONSE, 
rsp.getCompacts().get(0).getState());
+    Assert.assertEquals("ttp2", rsp.getCompacts().get(1).getTablename());
+    Assert.assertEquals(TxnStore.INITIATED_RESPONSE, 
rsp.getCompacts().get(1).getState());
+
+    // Finish the scheduled compaction for ttp2
+    runWorker(conf);
+    runWorker(conf);
+    runCleaner(conf);
+    rsp = txnHandler.showCompact(new ShowCompactRequest());
+    Assert.assertEquals(4, rsp.getCompacts().size());
+    Assert.assertEquals("ttp2", rsp.getCompacts().get(0).getTablename());
+    Assert.assertEquals(TxnStore.SUCCEEDED_RESPONSE, 
rsp.getCompacts().get(0).getState());
+
+    // Now test tblproperties specified on ALTER TABLE .. COMPACT .. statement
+    executeStatementOnDriver("insert into " + tblName2 + " values (7, 'g')", 
driver);
+    executeStatementOnDriver("alter table " + tblName2 + " compact 'major'" +
+        " with overwrite tblproperties (" +
+        "'compactor.mapreduce.map.memory.mb'='3072'," +
+        "'tblprops.orc.compress.size'='8192')", driver);
+
+    rsp = txnHandler.showCompact(new ShowCompactRequest());
+    Assert.assertEquals(5, rsp.getCompacts().size());
+    Assert.assertEquals("ttp2", rsp.getCompacts().get(0).getTablename());
+    Assert.assertEquals(TxnStore.INITIATED_RESPONSE, 
rsp.getCompacts().get(0).getState());
+
+    // Run the Worker explicitly, in order to get the reference to the 
compactor MR job
+    stop = new AtomicBoolean(true);
+    t = new Worker();
+    t.setThreadId((int) t.getId());
+    t.setHiveConf(conf);
+    looped = new AtomicBoolean();
+    t.init(stop, looped);
+    t.run();
+    job = t.getMrJob();
+    Assert.assertEquals("3072", job.get("mapreduce.map.memory.mb"));
+    
Assert.assertTrue(job.get("hive.compactor.table.props").contains("orc.compress.size4:8192"));
+  }
+
   private void writeBatch(StreamingConnection connection, DelimitedInputWriter 
writer,
                           boolean closeEarly)
       throws InterruptedException, StreamingException {
@@ -957,4 +1091,34 @@ public class TestCompactor {
     }
 
   }
+
+  static void runInitiator(HiveConf hiveConf) throws MetaException {
+    AtomicBoolean stop = new AtomicBoolean(true);
+    Initiator t = new Initiator();
+    t.setThreadId((int) t.getId());
+    t.setHiveConf(hiveConf);
+    AtomicBoolean looped = new AtomicBoolean();
+    t.init(stop, looped);
+    t.run();
+  }
+
+  static void runWorker(HiveConf hiveConf) throws MetaException {
+    AtomicBoolean stop = new AtomicBoolean(true);
+    Worker t = new Worker();
+    t.setThreadId((int) t.getId());
+    t.setHiveConf(hiveConf);
+    AtomicBoolean looped = new AtomicBoolean();
+    t.init(stop, looped);
+    t.run();
+  }
+
+  static void runCleaner(HiveConf hiveConf) throws MetaException {
+    AtomicBoolean stop = new AtomicBoolean(true);
+    Cleaner t = new Cleaner();
+    t.setThreadId((int) t.getId());
+    t.setHiveConf(hiveConf);
+    AtomicBoolean looped = new AtomicBoolean();
+    t.init(stop, looped);
+    t.run();
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/if/hive_metastore.thrift
----------------------------------------------------------------------
diff --git a/metastore/if/hive_metastore.thrift 
b/metastore/if/hive_metastore.thrift
index f3d1d42..c7b6fd8 100755
--- a/metastore/if/hive_metastore.thrift
+++ b/metastore/if/hive_metastore.thrift
@@ -674,6 +674,7 @@ struct CompactionRequest {
     3: optional string partitionname,
     4: required CompactionType type,
     5: optional string runas,
+    6: optional map<string, string> properties
 }
 
 struct ShowCompactRequest {

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/derby/036-HIVE-13354.derby.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/derby/036-HIVE-13354.derby.sql 
b/metastore/scripts/upgrade/derby/036-HIVE-13354.derby.sql
new file mode 100644
index 0000000..2f691b1
--- /dev/null
+++ b/metastore/scripts/upgrade/derby/036-HIVE-13354.derby.sql
@@ -0,0 +1,2 @@
+ALTER TABLE COMPACTION_QUEUE ADD CQ_TBLPROPERTIES varchar(2048);
+ALTER TABLE COMPLETED_COMPACTIONS ADD CC_TBLPROPERTIES varchar(2048);

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/derby/hive-txn-schema-1.3.0.derby.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/derby/hive-txn-schema-1.3.0.derby.sql 
b/metastore/scripts/upgrade/derby/hive-txn-schema-1.3.0.derby.sql
index 480c19e..634dd73 100644
--- a/metastore/scripts/upgrade/derby/hive-txn-schema-1.3.0.derby.sql
+++ b/metastore/scripts/upgrade/derby/hive-txn-schema-1.3.0.derby.sql
@@ -82,6 +82,7 @@ CREATE TABLE COMPACTION_QUEUE (
   CQ_PARTITION varchar(767),
   CQ_STATE char(1) NOT NULL,
   CQ_TYPE char(1) NOT NULL,
+  CQ_TBLPROPERTIES varchar(2048),
   CQ_WORKER_ID varchar(128),
   CQ_START bigint,
   CQ_RUN_AS varchar(128),
@@ -102,6 +103,7 @@ CREATE TABLE COMPLETED_COMPACTIONS (
   CC_PARTITION varchar(767),
   CC_STATE char(1) NOT NULL,
   CC_TYPE char(1) NOT NULL,
+  CC_TBLPROPERTIES varchar(2048),
   CC_WORKER_ID varchar(128),
   CC_START bigint,
   CC_END bigint,

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/derby/upgrade-1.2.0-to-1.3.0.derby.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/derby/upgrade-1.2.0-to-1.3.0.derby.sql 
b/metastore/scripts/upgrade/derby/upgrade-1.2.0-to-1.3.0.derby.sql
index 1b9e171..d4484bd 100644
--- a/metastore/scripts/upgrade/derby/upgrade-1.2.0-to-1.3.0.derby.sql
+++ b/metastore/scripts/upgrade/derby/upgrade-1.2.0-to-1.3.0.derby.sql
@@ -11,5 +11,6 @@ RUN '030-HIVE-12823.derby.sql';
 RUN '031-HIVE-12831.derby.sql';
 RUN '032-HIVE-12832.derby.sql';
 RUN '035-HIVE-13395.derby.sql';
+RUN '036-HIVE-13354.derby.sql';
 
 UPDATE "APP".VERSION SET SCHEMA_VERSION='1.3.0', VERSION_COMMENT='Hive release 
version 1.3.0' where VER_ID=1;

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/mssql/021-HIVE-13354.mssql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/021-HIVE-13354.mssql.sql 
b/metastore/scripts/upgrade/mssql/021-HIVE-13354.mssql.sql
new file mode 100644
index 0000000..518b142
--- /dev/null
+++ b/metastore/scripts/upgrade/mssql/021-HIVE-13354.mssql.sql
@@ -0,0 +1,2 @@
+ALTER TABLE COMPACTION_QUEUE ADD CQ_TBLPROPERTIES nvarchar(2048) NULL;
+ALTER TABLE COMPLETED_COMPACTIONS ADD CC_TBLPROPERTIES nvarchar(2048) NULL;

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/mssql/hive-schema-1.3.0.mssql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/hive-schema-1.3.0.mssql.sql 
b/metastore/scripts/upgrade/mssql/hive-schema-1.3.0.mssql.sql
index 7e0e24f..931edfc 100644
--- a/metastore/scripts/upgrade/mssql/hive-schema-1.3.0.mssql.sql
+++ b/metastore/scripts/upgrade/mssql/hive-schema-1.3.0.mssql.sql
@@ -863,6 +863,7 @@ CREATE TABLE COMPACTION_QUEUE(
        CQ_PARTITION nvarchar(767) NULL,
        CQ_STATE char(1) NOT NULL,
        CQ_TYPE char(1) NOT NULL,
+       CQ_TBLPROPERTIES nvarchar(2048) NULL,
        CQ_WORKER_ID nvarchar(128) NULL,
        CQ_START bigint NULL,
        CQ_RUN_AS nvarchar(128) NULL,
@@ -882,6 +883,7 @@ CREATE TABLE COMPLETED_COMPACTIONS (
        CC_PARTITION nvarchar(767) NULL,
        CC_STATE char(1) NOT NULL,
        CC_TYPE char(1) NOT NULL,
+       CC_TBLPROPERTIES nvarchar(2048) NULL,
        CC_WORKER_ID nvarchar(128) NULL,
        CC_START bigint NULL,
        CC_END bigint NULL,

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/mssql/upgrade-1.2.0-to-1.3.0.mssql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/upgrade-1.2.0-to-1.3.0.mssql.sql 
b/metastore/scripts/upgrade/mssql/upgrade-1.2.0-to-1.3.0.mssql.sql
index 18da152..32782eb 100644
--- a/metastore/scripts/upgrade/mssql/upgrade-1.2.0-to-1.3.0.mssql.sql
+++ b/metastore/scripts/upgrade/mssql/upgrade-1.2.0-to-1.3.0.mssql.sql
@@ -11,6 +11,7 @@ SELECT 'Upgrading MetaStore schema from 1.2.0 to 1.3.0' AS 
MESSAGE;
 :r 016-HIVE-12831.mssql.sql;
 :r 017-HIVE-12832.mssql.sql;
 :r 020-HIVE-13395.mssql.sql;
+:r 021-HIVE-13354.mssql.sql
 
 UPDATE VERSION SET SCHEMA_VERSION='1.3.0', VERSION_COMMENT='Hive release 
version 1.3.0' where VER_ID=1;
 SELECT 'Finished upgrading MetaStore schema from 1.2.0 to 1.3.0' AS MESSAGE;

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/mysql/036-HIVE-13354.mysql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mysql/036-HIVE-13354.mysql.sql 
b/metastore/scripts/upgrade/mysql/036-HIVE-13354.mysql.sql
new file mode 100644
index 0000000..2f691b1
--- /dev/null
+++ b/metastore/scripts/upgrade/mysql/036-HIVE-13354.mysql.sql
@@ -0,0 +1,2 @@
+ALTER TABLE COMPACTION_QUEUE ADD CQ_TBLPROPERTIES varchar(2048);
+ALTER TABLE COMPLETED_COMPACTIONS ADD CC_TBLPROPERTIES varchar(2048);

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/mysql/hive-txn-schema-1.3.0.mysql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mysql/hive-txn-schema-1.3.0.mysql.sql 
b/metastore/scripts/upgrade/mysql/hive-txn-schema-1.3.0.mysql.sql
index e852fc9..21b6c9b 100644
--- a/metastore/scripts/upgrade/mysql/hive-txn-schema-1.3.0.mysql.sql
+++ b/metastore/scripts/upgrade/mysql/hive-txn-schema-1.3.0.mysql.sql
@@ -85,6 +85,7 @@ CREATE TABLE COMPACTION_QUEUE (
   CQ_PARTITION varchar(767),
   CQ_STATE char(1) NOT NULL,
   CQ_TYPE char(1) NOT NULL,
+  CQ_TBLPROPERTIES varchar(2048),
   CQ_WORKER_ID varchar(128),
   CQ_START bigint,
   CQ_RUN_AS varchar(128),
@@ -100,6 +101,7 @@ CREATE TABLE COMPLETED_COMPACTIONS (
   CC_PARTITION varchar(767),
   CC_STATE char(1) NOT NULL,
   CC_TYPE char(1) NOT NULL,
+  CC_TBLPROPERTIES varchar(2048),
   CC_WORKER_ID varchar(128),
   CC_START bigint,
   CC_END bigint,

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql 
b/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql
index 021b802..284f366 100644
--- a/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql
+++ b/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql
@@ -12,6 +12,7 @@ SOURCE 030-HIVE-12823.mysql.sql;
 SOURCE 031-HIVE-12831.mysql.sql;
 SOURCE 032-HIVE-12832.mysql.sql;
 SOURCE 035-HIVE-13395.mysql.sql;
+SOURCE 036-HIVE-13354.mysql.sql;
 
 UPDATE VERSION SET SCHEMA_VERSION='1.3.0', VERSION_COMMENT='Hive release 
version 1.3.0' where VER_ID=1;
 SELECT 'Finished upgrading MetaStore schema from 1.2.0 to 1.3.0' AS ' ';

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/oracle/036-HIVE-13354.oracle.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/oracle/036-HIVE-13354.oracle.sql 
b/metastore/scripts/upgrade/oracle/036-HIVE-13354.oracle.sql
new file mode 100644
index 0000000..2f691b1
--- /dev/null
+++ b/metastore/scripts/upgrade/oracle/036-HIVE-13354.oracle.sql
@@ -0,0 +1,2 @@
+ALTER TABLE COMPACTION_QUEUE ADD CQ_TBLPROPERTIES varchar(2048);
+ALTER TABLE COMPLETED_COMPACTIONS ADD CC_TBLPROPERTIES varchar(2048);

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/oracle/hive-txn-schema-1.3.0.oracle.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/oracle/hive-txn-schema-1.3.0.oracle.sql 
b/metastore/scripts/upgrade/oracle/hive-txn-schema-1.3.0.oracle.sql
index 199ff4c..89f6374 100644
--- a/metastore/scripts/upgrade/oracle/hive-txn-schema-1.3.0.oracle.sql
+++ b/metastore/scripts/upgrade/oracle/hive-txn-schema-1.3.0.oracle.sql
@@ -83,6 +83,7 @@ CREATE TABLE COMPACTION_QUEUE (
   CQ_PARTITION varchar(767),
   CQ_STATE char(1) NOT NULL,
   CQ_TYPE char(1) NOT NULL,
+  CQ_TBLPROPERTIES varchar(2048),
   CQ_WORKER_ID varchar(128),
   CQ_START NUMBER(19),
   CQ_RUN_AS varchar(128),
@@ -103,6 +104,7 @@ CREATE TABLE COMPLETED_COMPACTIONS (
   CC_PARTITION varchar(767),
   CC_STATE char(1) NOT NULL,
   CC_TYPE char(1) NOT NULL,
+  CC_TBLPROPERTIES varchar(2048),
   CC_WORKER_ID varchar(128),
   CC_START NUMBER(19),
   CC_END NUMBER(19),

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/oracle/upgrade-1.2.0-to-1.3.0.oracle.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/oracle/upgrade-1.2.0-to-1.3.0.oracle.sql 
b/metastore/scripts/upgrade/oracle/upgrade-1.2.0-to-1.3.0.oracle.sql
index ce86e67..7673b6e 100644
--- a/metastore/scripts/upgrade/oracle/upgrade-1.2.0-to-1.3.0.oracle.sql
+++ b/metastore/scripts/upgrade/oracle/upgrade-1.2.0-to-1.3.0.oracle.sql
@@ -11,6 +11,7 @@ SELECT 'Upgrading MetaStore schema from 1.2.0 to 1.3.0' AS 
Status from dual;
 @031-HIVE-12381.oracle.sql;
 @032-HIVE-12832.oracle.sql;
 @035-HIVE-13395.oracle.sql;
+@036-HIVE-13354.oracle.sql;
 
 UPDATE VERSION SET SCHEMA_VERSION='1.3.0', VERSION_COMMENT='Hive release 
version 1.3.0' where VER_ID=1;
 SELECT 'Finished upgrading MetaStore schema from 1.2.0 to 1.3.0' AS Status 
from dual;

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/postgres/035-HIVE-13354.postgres.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/postgres/035-HIVE-13354.postgres.sql 
b/metastore/scripts/upgrade/postgres/035-HIVE-13354.postgres.sql
new file mode 100644
index 0000000..2f691b1
--- /dev/null
+++ b/metastore/scripts/upgrade/postgres/035-HIVE-13354.postgres.sql
@@ -0,0 +1,2 @@
+ALTER TABLE COMPACTION_QUEUE ADD CQ_TBLPROPERTIES varchar(2048);
+ALTER TABLE COMPLETED_COMPACTIONS ADD CC_TBLPROPERTIES varchar(2048);

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/postgres/hive-txn-schema-1.3.0.postgres.sql
----------------------------------------------------------------------
diff --git 
a/metastore/scripts/upgrade/postgres/hive-txn-schema-1.3.0.postgres.sql 
b/metastore/scripts/upgrade/postgres/hive-txn-schema-1.3.0.postgres.sql
index b606f81..f998d18 100644
--- a/metastore/scripts/upgrade/postgres/hive-txn-schema-1.3.0.postgres.sql
+++ b/metastore/scripts/upgrade/postgres/hive-txn-schema-1.3.0.postgres.sql
@@ -83,6 +83,7 @@ CREATE TABLE COMPACTION_QUEUE (
   CQ_PARTITION varchar(767),
   CQ_STATE char(1) NOT NULL,
   CQ_TYPE char(1) NOT NULL,
+  CQ_TBLPROPERTIES varchar(2048),
   CQ_WORKER_ID varchar(128),
   CQ_START bigint,
   CQ_RUN_AS varchar(128),
@@ -103,6 +104,7 @@ CREATE TABLE COMPLETED_COMPACTIONS (
   CC_PARTITION varchar(767),
   CC_STATE char(1) NOT NULL,
   CC_TYPE char(1) NOT NULL,
+  CC_TBLPROPERTIES varchar(2048),
   CC_WORKER_ID varchar(128),
   CC_START bigint,
   CC_END bigint,

http://git-wip-us.apache.org/repos/asf/hive/blob/6e0504d9/metastore/scripts/upgrade/postgres/upgrade-1.2.0-to-1.3.0.postgres.sql
----------------------------------------------------------------------
diff --git 
a/metastore/scripts/upgrade/postgres/upgrade-1.2.0-to-1.3.0.postgres.sql 
b/metastore/scripts/upgrade/postgres/upgrade-1.2.0-to-1.3.0.postgres.sql
index 624dde6..260f5c2 100644
--- a/metastore/scripts/upgrade/postgres/upgrade-1.2.0-to-1.3.0.postgres.sql
+++ b/metastore/scripts/upgrade/postgres/upgrade-1.2.0-to-1.3.0.postgres.sql
@@ -11,6 +11,7 @@ SELECT 'Upgrading MetaStore schema from 1.2.0 to 1.3.0';
 \i 030-HIVE-12831.postgres.sql;
 \i 031-HIVE-12832.postgres.sql;
 \i 034-HIVE-13395.postgres.sql;
+\i 035-HIVE-13354.postgres.sql;
 
 UPDATE "VERSION" SET "SCHEMA_VERSION"='1.3.0', "VERSION_COMMENT"='Hive release 
version 1.3.0' where "VER_ID"=1;
 SELECT 'Finished upgrading MetaStore schema from 1.2.0 to 1.3.0';

Reply via email to