You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Hive QA (JIRA)" <ji...@apache.org> on 2014/08/09 04:04:12 UTC

[jira] [Commented] (HIVE-7341) Support for Table replication across HCatalog instances

    [ https://issues.apache.org/jira/browse/HIVE-7341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14091584#comment-14091584 ] 

Hive QA commented on HIVE-7341:
-------------------------------



{color:red}Overall{color}: -1 no tests executed

Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12660665/HIVE-7341.3.patch

Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/237/testReport
Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/237/console
Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-237/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.PrepPhase
Tests exited with: NonZeroExitCodeException
Command 'bash /data/hive-ptest/working/scratch/source-prep.sh' failed with exit status 1 and output '+ [[ -n /usr/java/jdk1.7.0_45-cloudera ]]
+ export JAVA_HOME=/usr/java/jdk1.7.0_45-cloudera
+ JAVA_HOME=/usr/java/jdk1.7.0_45-cloudera
+ export PATH=/usr/java/jdk1.7.0_45-cloudera/bin/:/usr/java/jdk1.6.0_34/bin:/usr/local/apache-maven-3.0.5/bin:/usr/local/apache-maven-3.0.5/bin:/usr/java/jdk1.6.0_34/bin:/usr/local/apache-ant-1.9.1/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/hiveptest/bin
+ PATH=/usr/java/jdk1.7.0_45-cloudera/bin/:/usr/java/jdk1.6.0_34/bin:/usr/local/apache-maven-3.0.5/bin:/usr/local/apache-maven-3.0.5/bin:/usr/java/jdk1.6.0_34/bin:/usr/local/apache-ant-1.9.1/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/hiveptest/bin
+ export 'ANT_OPTS=-Xmx1g -XX:MaxPermSize=256m '
+ ANT_OPTS='-Xmx1g -XX:MaxPermSize=256m '
+ export 'M2_OPTS=-Xmx1g -XX:MaxPermSize=256m -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128'
+ M2_OPTS='-Xmx1g -XX:MaxPermSize=256m -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128'
+ cd /data/hive-ptest/working/
+ tee /data/hive-ptest/logs/PreCommit-HIVE-TRUNK-Build-237/source-prep.txt
+ [[ false == \t\r\u\e ]]
+ mkdir -p maven ivy
+ [[ svn = \s\v\n ]]
+ [[ -n '' ]]
+ [[ -d apache-svn-trunk-source ]]
+ [[ ! -d apache-svn-trunk-source/.svn ]]
+ [[ ! -d apache-svn-trunk-source ]]
+ cd apache-svn-trunk-source
+ svn revert -R .
Reverted 'hcatalog/hcatalog-pig-adapter/src/test/java/org/apache/hive/hcatalog/pig/TestHCatLoader.java'
Reverted 'common/src/test/org/apache/hadoop/hive/common/type/TestDecimal128.java'
Reverted 'common/src/test/org/apache/hadoop/hive/common/type/TestHiveDecimal.java'
Reverted 'common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java'
Reverted 'common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java'
Reverted 'serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java'
Reverted 'ql/src/test/results/clientpositive/decimal_2.q.out'
Reverted 'ql/src/test/results/clientpositive/decimal_udf.q.out'
Reverted 'ql/src/test/results/clientpositive/serde_regex.q.out'
Reverted 'ql/src/test/results/clientpositive/windowing_navfn.q.out'
Reverted 'ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out'
Reverted 'ql/src/test/results/clientpositive/decimal_4.q.out'
Reverted 'ql/src/test/results/clientpositive/udf_when.q.out'
Reverted 'ql/src/test/results/clientpositive/parquet_decimal.q.out'
Reverted 'ql/src/test/results/clientpositive/literal_decimal.q.out'
Reverted 'ql/src/test/results/clientpositive/decimal_6.q.out'
Reverted 'ql/src/test/results/clientpositive/vector_decimal_cast.q.out'
Reverted 'ql/src/test/results/clientpositive/avro_decimal_native.q.out'
Reverted 'ql/src/test/results/clientpositive/compute_stats_decimal.q.out'
Reverted 'ql/src/test/results/clientpositive/vector_decimal_expressions.q.out'
Reverted 'ql/src/test/results/clientpositive/windowing_decimal.q.out'
Reverted 'ql/src/test/results/clientpositive/decimal_3.q.out'
Reverted 'ql/src/test/results/clientpositive/parquet_decimal1.q.out'
Reverted 'ql/src/test/results/clientpositive/avro_decimal.q.out'
Reverted 'ql/src/test/results/clientpositive/udf_case.q.out'
Reverted 'ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out'
Reverted 'ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out'
Reverted 'ql/src/test/results/clientpositive/vector_between_in.q.out'
Reverted 'ql/src/test/results/clientpositive/decimal_precision.q.out'
Reverted 'ql/src/test/results/clientpositive/decimal_5.q.out'
Reverted 'ql/src/test/results/clientpositive/windowing_rank.q.out'
Reverted 'ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out'
Reverted 'ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java'
Reverted 'ql/src/test/org/apache/hadoop/hive/ql/io/sarg/TestSearchArgumentImpl.java'
Reverted 'ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPDivide.java'
Reverted 'ql/src/test/queries/clientpositive/literal_decimal.q'
Reverted 'ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java'
++ egrep -v '^X|^Performing status on external'
++ awk '{print $2}'
++ svn status --no-ignore
+ rm -rf target datanucleus.log ant/target shims/target shims/0.20/target shims/0.20S/target shims/0.23/target shims/aggregator/target shims/common/target shims/common-secure/target packaging/target hbase-handler/target testutils/target jdbc/target metastore/target data/files/kv10.txt itests/target itests/hcatalog-unit/target itests/test-serde/target itests/qtest/target itests/hive-unit-hadoop2/target itests/hive-minikdc/target itests/hive-unit/target itests/custom-serde/target itests/util/target hcatalog/target hcatalog/core/target hcatalog/streaming/target hcatalog/server-extensions/target hcatalog/hcatalog-pig-adapter/target hcatalog/webhcat/svr/target hcatalog/webhcat/java-client/target hwi/target common/target common/src/gen contrib/target service/target serde/target beeline/target odbc/target cli/target ql/dependency-reduced-pom.xml ql/target ql/src/test/results/clientpositive/decimal_trailing.q.out ql/src/test/queries/clientpositive/decimal_trailing.q
+ svn update
U    service/src/java/org/apache/hive/service/cli/thrift/ThriftHttpCLIService.java
U    service/src/java/org/apache/hive/service/cli/thrift/ThriftBinaryCLIService.java
U    beeline/src/java/org/apache/hive/beeline/HiveSchemaTool.java
U    beeline/pom.xml
U    ql/src/test/templates/TestCompareCliDriver.vm
U    ql/src/test/templates/TestParse.vm
U    ql/src/test/templates/TestParseNegative.vm
U    ql/src/test/templates/TestCliDriver.vm
U    ql/src/test/templates/TestNegativeCliDriver.vm
U    ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java
U    shims/0.20/src/main/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java
U    shims/0.20S/src/main/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java
U    shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java
U    shims/common/src/main/java/org/apache/hadoop/hive/shims/HadoopShims.java
U    hbase-handler/src/test/templates/TestHBaseCliDriver.vm
U    hbase-handler/src/test/templates/TestHBaseNegativeCliDriver.vm
U    metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java
U    metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnDbUtil.java
U    data/scripts/q_test_init.sql
U    data/scripts/q_test_cleanup.sql
U    data/conf/hive-site.xml
U    data/conf/tez/hive-site.xml
U    itests/qtest/pom.xml
A    itests/hive-unit-hadoop2/src/test/java/org/apache/hadoop/hive/ql/security/TestPasswordWithCredentialProvider.java
U    itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/TestLocationQueries.java
A    itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/TestPasswordWithConfig.java
U    itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java
U    itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java

Fetching external item into 'hcatalog/src/test/e2e/harness'
Updated external to revision 1616913.

Updated to revision 1616913.
+ patchCommandPath=/data/hive-ptest/working/scratch/smart-apply-patch.sh
+ patchFilePath=/data/hive-ptest/working/scratch/build.patch
+ [[ -f /data/hive-ptest/working/scratch/build.patch ]]
+ chmod +x /data/hive-ptest/working/scratch/smart-apply-patch.sh
+ /data/hive-ptest/working/scratch/smart-apply-patch.sh /data/hive-ptest/working/scratch/build.patch
The patch does not appear to apply with p0, p1, or p2
+ exit 1
'
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12660665

> Support for Table replication across HCatalog instances
> -------------------------------------------------------
>
>                 Key: HIVE-7341
>                 URL: https://issues.apache.org/jira/browse/HIVE-7341
>             Project: Hive
>          Issue Type: New Feature
>          Components: HCatalog
>    Affects Versions: 0.13.1
>            Reporter: Mithun Radhakrishnan
>            Assignee: Mithun Radhakrishnan
>             Fix For: 0.14.0
>
>         Attachments: HIVE-7341.1.patch, HIVE-7341.2.patch, HIVE-7341.3.patch
>
>
> The HCatClient currently doesn't provide very much support for replicating HCatTable definitions between 2 HCatalog Server (i.e. Hive metastore) instances. 
> Systems similar to Apache Falcon might find the need to replicate partition data between 2 clusters, and keep the HCatalog metadata in sync between the two. This poses a couple of problems:
> # The definition of the source table might change (in column schema, I/O formats, record-formats, serde-parameters, etc.) The system will need a way to diff 2 tables and update the target-metastore with the changes. E.g. 
> {code}
> targetTable.resolve( sourceTable, targetTable.diff(sourceTable) );
> hcatClient.updateTableSchema(dbName, tableName, targetTable);
> {code}
> # The current {{HCatClient.addPartitions()}} API requires that the partition's schema be derived from the table's schema, thereby requiring that the table-schema be resolved *before* partitions with the new schema are added to the table. This is problematic, because it introduces race conditions when 2 partitions with differing column-schemas (e.g. right after a schema change) are copied in parallel. This can be avoided if each HCatAddPartitionDesc kept track of the partition's schema, in flight.
> # The source and target metastores might be running different/incompatible versions of Hive. 
> The impending patch attempts to address these concerns (with some caveats).
> # {{HCatTable}} now has 
> ## a {{diff()}} method, to compare against another HCatTable instance
> ## a {{resolve(diff)}} method to copy over specified table-attributes from another HCatTable
> ## a serialize/deserialize mechanism (via {{HCatClient.serializeTable()}} and {{HCatClient.deserializeTable()}}), so that HCatTable instances constructed in other class-loaders may be used for comparison
> # {{HCatPartition}} now provides finer-grained control over a Partition's column-schema, StorageDescriptor settings, etc. This allows partitions to be copied completely from source, with the ability to override specific properties if required (e.g. location).
> # {{HCatClient.updateTableSchema()}} can now update the entire table-definition, not just the column schema.
> # I've cleaned up and removed most of the redundancy between the HCatTable, HCatCreateTableDesc and HCatCreateTableDesc.Builder. The prior API failed to separate the table-attributes from the add-table-operation's attributes. By providing fluent-interfaces in HCatTable, and composing an HCatTable instance in HCatCreateTableDesc, the interfaces are cleaner(ish). The old setters are deprecated, in favour of those in HCatTable. Likewise, HCatPartition and HCatAddPartitionDesc.
> I'll post a patch for trunk shortly.



--
This message was sent by Atlassian JIRA
(v6.2#6252)