Return-Path: X-Original-To: apmail-hive-dev-archive@www.apache.org Delivered-To: apmail-hive-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1839D66B3 for ; Tue, 2 Aug 2011 22:10:10 +0000 (UTC) Received: (qmail 83138 invoked by uid 500); 2 Aug 2011 22:10:09 -0000 Delivered-To: apmail-hive-dev-archive@hive.apache.org Received: (qmail 83002 invoked by uid 500); 2 Aug 2011 22:10:09 -0000 Mailing-List: contact dev-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hive.apache.org Delivered-To: mailing list dev@hive.apache.org Delivered-To: moderator for dev@hive.apache.org Received: (qmail 7554 invoked by uid 99); 2 Aug 2011 21:34:02 -0000 Content-Type: multipart/alternative; boundary="===============0627746632201641943==" MIME-Version: 1.0 Subject: Review Request: Support archiving for multiple partitions if the table is partitioned by multiple columns From: "Marcin Kurczych" To: "Paul Yang" , "namit jain" Date: Tue, 02 Aug 2011 21:34:07 -0000 Message-ID: <20110802213407.1124.44744@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org X-ReviewRequest-URL: https://reviews.apache.org/r/1259/ Cc: "hive" ,"Marcin Kurczych" --===============0627746632201641943== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1259/ ----------------------------------------------------------- Review request for hive, Paul Yang and namit jain. Summary ------- Allowing archiving at chosen level. When table is partitioned by ds, hr, mi= n it allows archiving at ds level, hr level and min level. Corresponding sy= ntaxes are: ALTER TABLE test ARCHIVE PARTITION (ds=3D'2008-04-08'); ALTER TABLE test ARCHIVE PARTITION (ds=3D'2008-04-08', hr=3D'11'); ALTER TABLE test ARCHIVE PARTITION (ds=3D'2008-04-08', hr=3D'11', min=3D'30= '); You cannot do much to archived partitions. You can read them. You cannot wr= ite to them / overwrite them. You can drop single archived partitions, but = not parts of bigger archives. Diffs ----- trunk/data/conf/hive-site.xml 1153271 = trunk/metastore/if/hive_metastore.thrift 1153271 = trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_constants.h 1153271 = trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_constants.cpp 11532= 71 = trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metast= ore/api/Constants.java 1153271 = trunk/metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_cons= tants.php 1153271 = trunk/metastore/src/gen/thrift/gen-py/hive_metastore/constants.py 1153271 = trunk/metastore/src/gen/thrift/gen-rb/hive_metastore_constants.rb 1153271 = trunk/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.= java 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MetaUtils.java PRE-CREAT= ION = trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/hooks/UpdateArchivedCounter.j= ava PRE-CREATION = trunk/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHi= veLockManager.java 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/DummyPartition.java = 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.jav= a 1153271 = trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 1= 153271 = trunk/ql/src/test/queries/clientnegative/archive_insert1.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_insert2.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_insert3.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_insert4.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_multi1.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_multi2.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_multi3.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_multi4.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_multi5.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_multi6.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_multi7.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_partspec1.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_partspec2.q PRE-CREATION = trunk/ql/src/test/queries/clientnegative/archive_partspec3.q PRE-CREATION = trunk/ql/src/test/queries/clientpositive/archive_corrupt.q PRE-CREATION = trunk/ql/src/test/queries/clientpositive/archive_multi.q PRE-CREATION = trunk/ql/src/test/results/clientnegative/archive1.q.out 1153271 = trunk/ql/src/test/results/clientnegative/archive2.q.out 1153271 = trunk/ql/src/test/results/clientnegative/archive_insert1.q.out PRE-CREATI= ON = trunk/ql/src/test/results/clientnegative/archive_insert2.q.out PRE-CREATI= ON = trunk/ql/src/test/results/clientnegative/archive_insert3.q.out PRE-CREATI= ON = trunk/ql/src/test/results/clientnegative/archive_insert4.q.out PRE-CREATI= ON = trunk/ql/src/test/results/clientnegative/archive_multi1.q.out PRE-CREATIO= N = trunk/ql/src/test/results/clientnegative/archive_multi2.q.out PRE-CREATIO= N = trunk/ql/src/test/results/clientnegative/archive_multi3.q.out PRE-CREATIO= N = trunk/ql/src/test/results/clientnegative/archive_multi4.q.out PRE-CREATIO= N = trunk/ql/src/test/results/clientnegative/archive_multi5.q.out PRE-CREATIO= N = trunk/ql/src/test/results/clientnegative/archive_multi6.q.out PRE-CREATIO= N = trunk/ql/src/test/results/clientnegative/archive_multi7.q.out PRE-CREATIO= N = trunk/ql/src/test/results/clientnegative/archive_partspec1.q.out PRE-CREA= TION = trunk/ql/src/test/results/clientnegative/archive_partspec2.q.out PRE-CREA= TION = trunk/ql/src/test/results/clientnegative/archive_partspec3.q.out PRE-CREA= TION = trunk/ql/src/test/results/clientpositive/archive_corrupt.q.out PRE-CREATI= ON = trunk/ql/src/test/results/clientpositive/archive_multi.q.out PRE-CREATION = Diff: https://reviews.apache.org/r/1259/diff Testing ------- Added unittests for normal uses. Tried recovery during manual tests (had to simulate exceptions in different= places in code, which shouldn't be committed, that's why it had to be manu= al testing). Thanks, Marcin --===============0627746632201641943==--