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

Review request for atlas and Madhan Neethiraj.


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


Repository: atlas


Description
-------

**Approach**
Modified _AtlasNotificationMessageDeserializer_:
- Large message is defined as message that has been subjected to split or 
compression. The deserialization follows a separate path to accumulate splits 
or decompress compressed messages.
- Algorithm:
  - Added internal class that keep a map of message ids and number of times the 
message was fetched.
  - Large messages are added to this map.
  - Everytime the message is fetch, the fetch count is incremented.
  - For message that is not large, fetch count of 0 is returned.
  - If a fetch count is greater than 1, which is that the message is retrieved 
more than once, commit on Kafka is called immediately. This message is not 
handed to _NotificationHookConsumer_ for further processing.

Modified _AtlasKafkaConsumer_: Handle the new fetch logic.
Modified _NotificationHookConsumer_: Extracted _ATLAS_HOOK_ topic name.

**Additional Refactoring**
None.


Diffs
-----

  notification/src/main/java/org/apache/atlas/kafka/AtlasKafkaConsumer.java 
fd0c4e48a 
  
notification/src/main/java/org/apache/atlas/notification/AbstractNotificationConsumer.java
 c3940ceb4 
  
notification/src/main/java/org/apache/atlas/notification/AtlasNotificationMessageDeserializer.java
 3264e264c 
  
notification/src/test/java/org/apache/atlas/notification/AbstractNotificationConsumerTest.java
 c9638309d 
  
notification/src/test/java/org/apache/atlas/notification/hook/HookNotificationDeserializerTest.java
 d04817024 
  
webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
 7a4596a7e 


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


Testing
-------

**Unit tests**
Additional unit tests to test specific scenarios.


Thanks,

Ashutosh Mestry

Reply via email to