[
https://issues.apache.org/jira/browse/HIVE-3970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13583561#comment-13583561
]
Hudson commented on HIVE-3970:
------------------------------
Integrated in Hive-trunk-h0.21 #1980 (See
[https://builds.apache.org/job/Hive-trunk-h0.21/1980/])
HIVE-3970 Clean up/fix PartitionNameWhitelistPreEventListener
(Kevin Wilfong via namit) (Revision 1448541)
Result = SUCCESS
namit : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1448541
Files :
* /hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
* /hive/trunk/conf/hive-default.xml.template
* /hive/trunk/metastore/if/hive_metastore.thrift
* /hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
* /hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
*
/hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java
*
/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
* /hive/trunk/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
*
/hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
*
/hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
* /hive/trunk/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
*
/hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
*
/hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
*
/hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
*
/hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
*
/hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/PartitionNameWhitelistPreEventListener.java
*
/hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
*
/hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestPartitionNameWhitelistPreEventHook.java
*
/hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestPartitionNameWhitelistValidation.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
*
/hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/hooks/VerifyTableDirectoryIsEmptyHook.java
* /hive/trunk/ql/src/test/queries/clientnegative/add_partition_with_whitelist.q
*
/hive/trunk/ql/src/test/queries/clientnegative/alter_partition_with_whitelist.q
*
/hive/trunk/ql/src/test/queries/clientnegative/dynamic_partitions_with_whitelist.q
* /hive/trunk/ql/src/test/queries/clientpositive/add_partition_no_whitelist.q
* /hive/trunk/ql/src/test/queries/clientpositive/add_partition_with_whitelist.q
*
/hive/trunk/ql/src/test/queries/clientpositive/alter_partition_with_whitelist.q
*
/hive/trunk/ql/src/test/results/clientnegative/alter_partition_with_whitelist.q.out
*
/hive/trunk/ql/src/test/results/clientnegative/dynamic_partitions_with_whitelist.q.out
*
/hive/trunk/ql/src/test/results/clientpositive/add_partition_no_whitelist.q.out
*
/hive/trunk/ql/src/test/results/clientpositive/alter_partition_with_whitelist.q.out
> Clean up/fix PartitionNameWhitelistPreEventListener
> ---------------------------------------------------
>
> Key: HIVE-3970
> URL: https://issues.apache.org/jira/browse/HIVE-3970
> Project: Hive
> Issue Type: Improvement
> Components: Metastore
> Affects Versions: 0.11.0
> Reporter: Kevin Wilfong
> Assignee: Kevin Wilfong
> Fix For: 0.11.0
>
> Attachments: HIVE-3970.1.patch.txt, HIVE-3970.2.patch.txt,
> HIVE-3970.3.patch.txt
>
>
> There are a number of issues and things which can be cleaned up related to
> PartitionNameWhitelistPreEventListener.
> * It's an event listener, but it really doesn't need to be given that the
> regex whitelist is configurable, it could just be a utility method.
> * It's not run when a partition is renamed, so partitions with invalid
> characters can be created in this way.
> * There's no easy way to check if a partition contains invalid characters
> before creating it and seeing if it fails.
> Most importantly, when a dynamic partition contains an invalid character, the
> directory for this partition is created, and the data is moved into it, but
> the partition fails to be created leaving an orphan directory.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira