You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by "Ryan P (JIRA)" <ji...@apache.org> on 2015/03/23 15:15:11 UTC

[jira] [Commented] (SENTRY-652) Sentry fails to parse spaces when HDFS ACL sync enabled

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

Ryan P commented on SENTRY-652:
-------------------------------

See SENTRY-665, which handles this situation better. SENTRY-665 encodes all non-encoded URI characters. This creates a more robust parsePaths which can encode several special characters instead of just spaces. 

> Sentry fails to parse spaces when HDFS ACL sync enabled 
> --------------------------------------------------------
>
>                 Key: SENTRY-652
>                 URL: https://issues.apache.org/jira/browse/SENTRY-652
>             Project: Sentry
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Ryan P
>            Assignee: Ryan P
>             Fix For: 1.5.0
>
>         Attachments: SENTRY-652.patch, SENTRY-652.patch, SENTRY-652.patch, SENTRY-652.patch, SENTRY-652.patch, SENTRY-652.patch
>
>
> Sentry HDFS ACL sync with partitions containing spaces in partition key
> When partition keys, and thus their directory, contain white space HDFS ACL sync breaks HMS functionality. 
> Upon restart HMS throws the following exception:
> Could not initialize Plugin !!
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> at org.apache.sentry.binding.metastore.SentryMetastorePostEventListener.<init>(SentryMetastorePostEventListener.java:79)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> at org.apache.hadoop.hive.metastore.MetaStoreUtils.getMetaStoreListeners(MetaStoreUtils.java:1373)
> at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:424)
> at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaStore.java:365)
> at org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:55)
> at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:60)
> at org.apache.hadoop.hive.metastore.HiveMetaStore.newHMSHandler(HiveMetaStore.java:4953)
> at org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:5174)
> at org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:5093)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Incomprehensible path [hdfs://host-10-17-74-151.coe.cloudera.com:8020/user/hive/warehouse/test/b=all the spaces/c=in PartKeys]
> at org.apache.sentry.hdfs.MetastorePlugin.<init>(MetastorePlugin.java:121)
> ... 22 more
> Caused by: java.lang.RuntimeException: Incomprehensible path [hdfs://host-10-17-74-151.coe.cloudera.com:8020/user/hive/warehouse/test/b=all the spaces/c=in PartKeys]
> at org.apache.sentry.hdfs.PathsUpdate.parsePath(PathsUpdate.java:96)
> at org.apache.sentry.hdfs.MetastorePlugin.createInitialUpdate(MetastorePlugin.java:162)
> at org.apache.sentry.hdfs.MetastorePlugin.<init>(MetastorePlugin.java:118)
> This puts HMS in a state where it will not listen to incoming connections



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)