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

Review request for atlas, Madhan Neethiraj and Nixon Rodrigues.


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


Repository: atlas


Description
-------

**Approach**
- Message size is checked. It is split into parts if it exceeds the size 
threshold.
- New message type _Split_ derived from _VersionedMessage_ holds information of 
the individual parts of the message.
- _MessageSplitter_ splits message into smaller packets and encloses them in a 
message of type _Split_.
- _MessageCombiner_ combines array of split messages.
- _VersionedMessageDeserializer_ is modified to support the new message type.

**Additional configuration item**
- _atlas.notification.message.size.threshold_ Needs to be added to Hive's atlas 
configuration as well as _Atlas_'s own _atlas-application.properties_.
    - Default is set to a number closer to 1MB.


Diffs
-----

  intg/src/main/java/org/apache/atlas/type/AtlasType.java c99eb7f 
  intg/src/test/java/org/apache/atlas/TestAtlasTypeJSONSerialize.java 
PRE-CREATION 
  notification/src/main/java/org/apache/atlas/kafka/AtlasKafkaConsumer.java 
d3b4e49 
  notification/src/main/java/org/apache/atlas/kafka/KafkaNotification.java 
38889ef 
  
notification/src/main/java/org/apache/atlas/notification/AbstractNotification.java
 cb44fc6 
  notification/src/main/java/org/apache/atlas/notification/MessageCombiner.java 
PRE-CREATION 
  notification/src/main/java/org/apache/atlas/notification/MessageSplitter.java 
PRE-CREATION 
  notification/src/main/java/org/apache/atlas/notification/MessageVersion.java 
6ef407a 
  
notification/src/main/java/org/apache/atlas/notification/VersionedMessage.java 
1929eb4 
  
notification/src/main/java/org/apache/atlas/notification/VersionedMessageDeserializer.java
 cc2099e 
  
notification/src/main/java/org/apache/atlas/notification/messages/CompressedVersioned.java
 PRE-CREATION 
  notification/src/main/java/org/apache/atlas/notification/messages/Split.java 
PRE-CREATION 
  notification/src/main/java/org/apache/atlas/utils/StringSplitterCombiner.java 
PRE-CREATION 
  notification/src/test/java/org/apache/atlas/hook/StringSplitCombineTest.java 
PRE-CREATION 
  
notification/src/test/java/org/apache/atlas/notification/AbstractNotificationConsumerTest.java
 3b2a093 
  
notification/src/test/java/org/apache/atlas/notification/AbstractNotificationTest.java
 61107a9 
  
notification/src/test/java/org/apache/atlas/notification/MessageCombinerTest.java
 PRE-CREATION 
  
notification/src/test/java/org/apache/atlas/notification/MessageSplitterTest.java
 PRE-CREATION 
  
notification/src/test/java/org/apache/atlas/notification/SplitCombinerUtils.java
 PRE-CREATION 
  
notification/src/test/java/org/apache/atlas/notification/entity/EntityMessageDeserializerTest.java
 be32427 
  
notification/src/test/java/org/apache/atlas/notification/hook/HookMessageDeserializerTest.java
 3724fd5 
  
notification/src/test/java/org/apache/atlas/notification/hook/HookNotificationTest.java
 dd3257e 
  
webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
 ef64c3b 
  
webapp/src/test/java/org/apache/atlas/web/filters/AtlasAuthenticationSimpleFilterIT.java
 25414fd 


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


Testing
-------

**Unit tests**
- Added unit tests for new functionality.
- Refactored few of existing unit tests.
- Added tests to verify backward compatibility.

**Functional tests**
- Verified regular flow.
- Verified cases:
    - Case where server is shutdown before all the parts of a message are 
committed.


Thanks,

Ashutosh Mestry

Reply via email to