You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@sentry.apache.org by "Sravya Tirukkovalur (JIRA)" <ji...@apache.org> on 2016/10/27 20:26:58 UTC
[jira] [Updated] (SENTRY-1270) Improve error handling - Database
with malformed URI causes NPE in HMS plugin during DDL
[ https://issues.apache.org/jira/browse/SENTRY-1270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sravya Tirukkovalur updated SENTRY-1270:
----------------------------------------
Resolution: Fixed
Fix Version/s: 1.8.0
Status: Resolved (was: Patch Available)
Committed to master, thanks for the review [~lskuff]!
> Improve error handling - Database with malformed URI causes NPE in HMS plugin during DDL
> ----------------------------------------------------------------------------------------
>
> 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
> Assignee: Sravya Tirukkovalur
> Fix For: 1.8.0
>
> Attachments: SENTRY-1270.0.patch, SENTRY-1270.1.patch
>
>
> 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)