Lenni Kuff created SENTRY-1270:
----------------------------------
Summary: Database with malformed URI causes NPE in HMS plugin
during INSERT OVERWRITE
Key: SENTRY-1270
URL: https://issues.apache.org/jira/browse/SENTRY-1270
Project: Sentry
Issue Type: Bug
Affects Versions: 1.7.0
Reporter: Lenni Kuff
Exception:
{code}
Caused by: java.lang.NullPointerException
at
org.apache.sentry.hdfs.MetastorePlugin.applyLocal(MetastorePlugin.java:336)
at
org.apache.sentry.hdfs.MetastorePlugin.processUpdate(MetastorePlugin.java:364)
at
org.apache.sentry.hdfs.MetastorePlugin.notifySentryAndApplyLocal(MetastorePlugin.java:341)
at
org.apache.sentry.hdfs.MetastorePlugin.renameAuthzObject(MetastorePlugin.java:292)
at
org.apache.sentry.binding.metastore.SentryMetastorePostEventListener.renameSentryTablePrivilege(SentryMetastorePostEventListener.java:336)
at
org.apache.sentry.binding.metastore.SentryMetastorePostEventListener.onAlterTable(SentryMetastorePostEventListener.java:194)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.alter_table_core(HiveMetaStore.java:3439)
... 21 more
{code}
When looking in the HMS database we found:
{code}
SELECT "NAME", "DB_LOCATION_URI" FROM "DBS" WHERE NOT "DB_LOCATION_URI" LIKE
'hdfs://%/%';
NAME | DB_LOCATION_URI
-----------+--------------------
db_name | hdfs://nameservice1
(1 row)
{code}
Fixed by manually updating the HMS DB:
{code}
UPDATE DBS
SET DB_LOCATION_URI='hdfs://nameservice1/user/hive/warehouse/db_name.db'
WHERE DB_ID=12345;
{code}
We should handle this more gracefully in Sentry.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)