> On Jan. 30, 2020, 2:48 p.m., Sarath Subramanian wrote:
> > repository/src/main/java/org/apache/atlas/repository/audit/AbstractStorageBasedAuditRepository.java
> > Line 161 (original), 161 (patched)
> > <https://reviews.apache.org/r/72060/diff/1/?file=2210004#file2210004line161>
> >
> >     how does adding a new field to hbase rowkey fix the issue? We are 
> > changing the rowkey format here. Will this be backward compatible? will 
> > older rows be retrieved using the new key format? Please review.
> 
> Pinal Shah wrote:
>     **Issue-2: When we add label and delete label from multiple label 
> present, simultaneously, Only LABEL_ADD is audited**
>     
>     *how does adding a new field to hbase rowkey fix the issue?*
>     => As row_key(hbase) of both the audits were same, hbase couldnt insert 
> both the audits, for this we need unique row_key for each audit,so whenever 
> getKey() of AbstractStorageBasedAuditRepository class is called, it will 
> assure to return unique Key
>     
> https://github.com/apache/atlas/blob/master/repository/src/main/java/org/apache/atlas/repository/audit/AbstractStorageBasedAuditRepository.java#L158
>     
>     *We are changing the rowkey format here*
>     => Yes old row_key = <entityID>:<timestamp>:<index(of_forloop)>
>          new row_key = 
> <entityID>:<timestamp>:<index(of_forloop)>:<randomString>       
> https://github.com/apache/atlas/blob/master/repository/src/main/java/org/apache/atlas/repository/audit/AbstractStorageBasedAuditRepository.java#L158
>     
>     *Will this be backward compatible? will older rows be retrieved using the 
> new key format?*
>     => Yes it will be backward compatible and will retrieve older rows.
>     => For retrieval, we make use of entityId and from the result, we extract 
> only entityId and timestamp from row_key
>        below is the snippet.
>                       String[] parts = key.split(FIELD_SEPARATOR);
>                 event.setEntityId(parts[0]);
>                 event.setTimestamp(Long.valueOf(parts[1]));
>        
> https://github.com/apache/atlas/blob/master/repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java#L464

Thanks for the detailed explanation Pinal.


- Sarath


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


On Jan. 30, 2020, 4:10 a.m., Pinal Shah wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/72060/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2020, 4:10 a.m.)
> 
> 
> Review request for atlas, Madhan Neethiraj, Nixon Rodrigues, and Sarath 
> Subramanian.
> 
> 
> Bugs: ATLAS-3601
>     https://issues.apache.org/jira/browse/ATLAS-3601
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> 1) When 1 label among multiple labels is removed , LABEL_DELETE is audited. 
> But when all labels are deleted or the last label is deleted , no 
> LABEL_DELETE is audited.
> 2)When we add label and delete label from multiple label present, 
> simultaneously, Only LABEL_ADD is audited
> 
> 
> Diffs
> -----
> 
>   
> repository/src/main/java/org/apache/atlas/repository/audit/AbstractStorageBasedAuditRepository.java
>  f6b741b5e 
>   
> repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
>  e427a59e7 
> 
> 
> Diff: https://reviews.apache.org/r/72060/diff/1/
> 
> 
> Testing
> -------
> 
> 1) Added one label - one audit for LABEL_ADD
> 2) Added multiple labels simultaneously - one audit for LABEL_ADD,with 
> multiple label names in Details
> 3) Deleted one of the label - one audit for LABEL_DELETE
> 4) Deleted multiple labels simultaneously - one audit for LABEL_DELETE,with 
> multiple label names in Details
> 5) deleled last label left - one audit for LABEL_DELETE
> 6) Added one label and deleted two labels simultaneously -two audits, one 
> audit for LABEL_ADD and second for LABEL_DELETE ,with multiple label names in 
> Details
> 
> 
> Thanks,
> 
> Pinal Shah
> 
>

Reply via email to