Uploaded image for project: 'Sentry (Retired)'
  1. Sentry (Retired)
  2. SENTRY-652

Sentry fails to parse spaces when HDFS ACL sync enabled

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.0
    • 1.5.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

        1. SENTRY-652.patch
          2 kB
          Ryan P
        2. SENTRY-652.patch
          2 kB
          Ryan P
        3. SENTRY-652.patch
          2 kB
          Ryan P
        4. SENTRY-652.patch
          2 kB
          Ryan P
        5. SENTRY-652.patch
          2 kB
          Ryan P
        6. SENTRY-652.patch
          0.8 kB
          Ryan P

        Issue Links

          Activity

            People

              Ryan P Ryan P
              Ryan P Ryan P
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: