----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/72882/ -----------------------------------------------------------
Review request for sentry and Na Li. Bugs: SENTRY-2558 https://issues.apache.org/jira/browse/SENTRY-2558 Repository: sentry Description ------- When the storage descriptor for the table is null, sentry throws NullPointer Exception and fails to create a snapshot. 020-09-17 15:08:43,647 ERROR org.apache.sentry.service.thrift.FullUpdateInitializer: Failed to execute task java.lang.NullPointerException at org.apache.sentry.service.thrift.FullUpdateInitializer$TableTask.doTask(FullUpdateInitializer.java:369) at org.apache.sentry.service.thrift.FullUpdateInitializer$BaseTask$RetryStrategy.exec(FullUpdateInitializer.java:222) at org.apache.sentry.service.thrift.FullUpdateInitializer$BaseTask.call(FullUpdateInitializer.java:258) at org.apache.sentry.service.thrift.FullUpdateInitializer$BaseTask.call(FullUpdateInitializer.java:190) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2020-09-17 15:08:43,650 INFO org.apache.sentry.service.thrift.FullUpdateInitializer: For db = t est_db4 table = test_tb5 total number of partitions = 0 2020-09-17 15:08:43,657 INFO hive.metastore: Closed a connection to metastore, current connections: 8 2020-09-17 15:08:43,657 ERROR org.apache.sentry.service.thrift.FullUpdateInitializer: Failed to execute task java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@68c2c9a6 rejected from java.util.concurrent.ThreadPoolExecutor@1a289856[Shutting down, pool size = 7, active threads = 7, queued tasks = 0, completed tasks = 9] at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.sentry.service.thrift.FullUpdateInitializer$TableTask.doTask(FullUpdateInitia lizer.java:366) at org.apache.sentry.service.thrift.FullUpdateInitializer$BaseTask$RetryStrategy.exec(FullUpdateInitializer.java:222) at org.apache.sentry.service.thrift.FullUpdateInitializer$BaseTask.call(FullUpdateInitializer.java:258) at org.apache.sentry.service.thrift.FullUpdateInitializer$BaseTask.call(FullUpdateInitializer.java:190) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Instead, it should ignore the object and move-on. Diffs ----- sentry-service/sentry-service-server/src/main/java/org/apache/sentry/service/thrift/FullUpdateInitializer.java 668a4ca05 Diff: https://reviews.apache.org/r/72882/diff/1/ Testing ------- I instrumented the failure by manually updating HMS database made sure that logs look similar to one in the description. I verified ths issue is not observed with the fix made. Thanks, kalyan kumar kalvagadda