[ 
https://issues.apache.org/jira/browse/SENTRY-1270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15293983#comment-15293983
 ] 

Sravya Tirukkovalur commented on SENTRY-1270:
---------------------------------------------

SENTRY-1260 handles the actual failure of malformed path during initialization, 
and it gives complete details on the context: auth obj names, path etc. 
In Sentry-1270, we do not have context of why intialization failed, but we know 
that it failed. Correctness with respect to HDFS Sentry sync is today actually 
all or none. So there is no questions of consistency. Either it works or not. 
This message shows that it does not.

> 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
>         Attachments: SENTRY-1270.0.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)

Reply via email to