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 76DCD7F30 for ; Wed, 3 Aug 2011 07:27:27 +0000 (UTC) Received: (qmail 54484 invoked by uid 500); 3 Aug 2011 07:27:27 -0000 Delivered-To: apmail-hive-dev-archive@hive.apache.org Received: (qmail 54283 invoked by uid 500); 3 Aug 2011 07:27:22 -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 Received: (qmail 54264 invoked by uid 99); 3 Aug 2011 07:27:19 -0000 Received: from reviews.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Aug 2011 07:27:19 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id 2388C1C00AA; Wed, 3 Aug 2011 07:27:23 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============6796248892500523054==" MIME-Version: 1.0 Subject: Re: Review Request: Support archiving for multiple partitions if the table is partitioned by multiple columns From: "Ning Zhang" To: "Paul Yang" , "namit jain" Date: Wed, 03 Aug 2011 07:27:23 -0000 Message-ID: <20110803072723.1124.94382@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org X-ReviewRequest-URL: https://reviews.apache.org/r/1259/ Cc: "Ning Zhang" , "Marcin Kurczych" , "hive" In-Reply-To: <20110802213407.1124.44744@reviews.apache.org> References: <20110802213407.1124.44744@reviews.apache.org> --===============6796248892500523054== 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/#review1275 ----------------------------------------------------------- trunk/metastore/if/hive_metastore.thrift archiving_level seems to be a better name for this. = trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java use Path.SEPARATOR instead of '/' trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java '/' -> Path.SEPARATOR trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java isn't the archive operation atomic? If an archive operation failed, and= it's not recovered, does it mean the partitions will not be correct? = trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MetaUtils.java Change "ArrayList<...> fields =3D" to "List<...> fields =3D ". Variable= s should be declared as interface rather than implementation. = trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java need some comments on this public function. - Ning On 2011-08-02 21:34:07, Marcin Kurczych wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/1259/ > ----------------------------------------------------------- > = > (Updated 2011-08-02 21:34:07) > = > = > Review request for hive, Paul Yang and namit jain. > = > = > Summary > ------- > = > Allowing archiving at chosen level. When table is partitioned by ds, hr, = min it allows archiving at ds level, hr level and min level. Corresponding = syntaxes 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 = write to them / overwrite them. You can drop single archived partitions, bu= t 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 11532= 71 = > trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_constants.cpp 115= 3271 = > trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/meta= store/api/Constants.java 1153271 = > trunk/metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_co= nstants.php 1153271 = > trunk/metastore/src/gen/thrift/gen-py/hive_metastore/constants.py 11532= 71 = > trunk/metastore/src/gen/thrift/gen-rb/hive_metastore_constants.rb 11532= 71 = > trunk/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtil= s.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-CRE= ATION = > trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java 1153271 = > trunk/ql/src/java/org/apache/hadoop/hive/ql/hooks/UpdateArchivedCounter= .java PRE-CREATION = > trunk/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeper= HiveLockManager.java 1153271 = > trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/DummyPartition.jav= a 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.j= ava 1153271 = > trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java= 1153271 = > 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-CREATI= ON = > trunk/ql/src/test/queries/clientnegative/archive_partspec2.q PRE-CREATI= ON = > trunk/ql/src/test/queries/clientnegative/archive_partspec3.q PRE-CREATI= ON = > 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-CREA= TION = > trunk/ql/src/test/results/clientnegative/archive_insert2.q.out PRE-CREA= TION = > trunk/ql/src/test/results/clientnegative/archive_insert3.q.out PRE-CREA= TION = > trunk/ql/src/test/results/clientnegative/archive_insert4.q.out PRE-CREA= TION = > trunk/ql/src/test/results/clientnegative/archive_multi1.q.out PRE-CREAT= ION = > trunk/ql/src/test/results/clientnegative/archive_multi2.q.out PRE-CREAT= ION = > trunk/ql/src/test/results/clientnegative/archive_multi3.q.out PRE-CREAT= ION = > trunk/ql/src/test/results/clientnegative/archive_multi4.q.out PRE-CREAT= ION = > trunk/ql/src/test/results/clientnegative/archive_multi5.q.out PRE-CREAT= ION = > trunk/ql/src/test/results/clientnegative/archive_multi6.q.out PRE-CREAT= ION = > trunk/ql/src/test/results/clientnegative/archive_multi7.q.out PRE-CREAT= ION = > trunk/ql/src/test/results/clientnegative/archive_partspec1.q.out PRE-CR= EATION = > trunk/ql/src/test/results/clientnegative/archive_partspec2.q.out PRE-CR= EATION = > trunk/ql/src/test/results/clientnegative/archive_partspec3.q.out PRE-CR= EATION = > trunk/ql/src/test/results/clientpositive/archive_corrupt.q.out PRE-CREA= TION = > trunk/ql/src/test/results/clientpositive/archive_multi.q.out PRE-CREATI= ON = > = > Diff: https://reviews.apache.org/r/1259/diff > = > = > Testing > ------- > = > Added unittests for normal uses. > Tried recovery during manual tests (had to simulate exceptions in differe= nt places in code, which shouldn't be committed, that's why it had to be ma= nual testing). > = > = > Thanks, > = > Marcin > = > --===============6796248892500523054==--