Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.4.0
-
None
-
None
Description
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
Attachments
Attachments
Issue Links
- blocks
-
SENTRY-665 PathsUpdate.parsePath needs to handle special characters
- Resolved