Description
The location of a view is null, and it should be accepted by Sentry. However, when there is view update such "create view testView as select * from test" in TestHDFSIntegrationEnd2End.testViews, the location is null, and HMSFollower throws exception when processing this notification.
The notification uses HCatEventMessage.EventType. Should we add types for view? So sentry can process view and table differently.
The call stack of exception
2017-05-04 23:24:00,198 (pool-5-thread-1) [ERROR - org.apache.sentry.service.thrift.HMSFollower.run(HMSFollower.java:300)] Encounter SentryInvalidInputException|SentryInvalidHMSEventException while processing notification log
org.apache.sentry.core.common.exception.SentryInvalidHMSEventException: Create table event has incomplete information. dbName = default, tableName = testView, location = null
at org.apache.sentry.service.thrift.HMSFollower.processNotificationEvents(HMSFollower.java:415)
at org.apache.sentry.service.thrift.HMSFollower.run(HMSFollower.java:287)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Attachments
Issue Links
- is blocked by
-
HIVE-16759 Add table type information to HMS log notifications
- Closed
- is duplicated by
-
SENTRY-1669 HMSFollower should read current processed notification ID from database every time it runs
- Resolved