-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/61274/
-----------------------------------------------------------

Review request for atlas, Apoorv Naik, Ashutosh Mestry, Madhan Neethiraj, and 
Sarath Subramanian.


Bugs: ATLAS-1944
    https://issues.apache.org/jira/browse/ATLAS-1944


Repository: atlas


Description
-------

Background:- NotificationHookConsumer was throwing 
ConcurrentModificationException exception while shutting down the consumer 
thread. The stop method of thread was calling the kafkacosumer.stop method 
while in run method of HookConsumer which is busy in cosuming the kafka message 
by polling kafka server. This simaltanous action of stoping and polling causes 
ConcurrentModificationException.

Fix:- 

* Added try finally block in run method which wraps the while loop and when 
loop ends the finally blocks calls the consumer close method is called which 
ensures that close is called after consuming is ended. 

* Replaced the ShutdownThread interface which was delaying the shutdown process 
of consumer with Runnable interface used earlier.


Reference : - 
https://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html


Diffs
-----

  notification/src/main/java/org/apache/atlas/kafka/AtlasKafkaConsumer.java 
d431176 
  
notification/src/main/java/org/apache/atlas/notification/NotificationConsumer.java
 0bd75e1 
  
notification/src/test/java/org/apache/atlas/notification/AbstractNotificationConsumerTest.java
 bcee00c 
  
webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
 b8255b3 


Diff: https://reviews.apache.org/r/61274/diff/1/


Testing
-------

Tested the Atlas kafkaconsumer from hive hook and shutdown of atlas server to 
check if there is issue while shutdown process.
Unit test and integration test are passing.


Thanks,

Nixon Rodrigues

Reply via email to