Description
We should handle this gracefully. Instead of just throwing ArrayIndexOutOfBound, logging the path would be helpful
2016-04-12 14:53:28,924 ERROR org.apache.sentry.hdfs.MetastorePlugin: [main]: #### Could not create Initial AuthzPaths or HMSHandler !! java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 1 at org.apache.sentry.hdfs.MetastoreCacheInitializer.createInitialUpdate(MetastoreCacheInitializer.java:242) at org.apache.sentry.hdfs.MetastorePlugin$1.run(MetastorePlugin.java:160) at org.apache.sentry.hdfs.MetastorePlugin.<init>(MetastorePlugin.java:197) 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:78) 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:1439) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:485) at org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:78) at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:84) at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5775) at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5770) at org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:6022) at org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:5947) 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.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at org.apache.sentry.hdfs.PathsUpdate.parsePath(PathsUpdate.java:109) at org.apache.sentry.hdfs.MetastoreCacheInitializer$DbTask.doTask(MetastoreCacheInitializer.java:176) at org.apache.sentry.hdfs.MetastoreCacheInitializer$BaseTask.call(MetastoreCacheInitializer.java:61) at org.apache.sentry.hdfs.MetastoreCacheInitializer$BaseTask.call(MetastoreCacheInitializer.java:53) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
Attachments
Attachments
Issue Links
- is related to
-
SENTRY-1606 Sentry HDFS Sync should survive in presence of bad paths objects
- Resolved
- relates to
-
SENTRY-1295 Investigate malformed paths in HMS db
- Open
-
SENTRY-1508 MetastorePlugin.java does not handle properly initialization failure
- Resolved
- links to