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

Review request for atlas, Ashutosh Mestry, Jayendra Parab, and Radhika Kundam.


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


Repository: atlas


Description
-------

**Background:** 

Atlas uses HBase as its store for audit repository.

After import, atlas store the audit entity with the import information along 
with all the processed entitiy guids.

**Issue: **

When large sized export zipped file is imported, import gives below error, 
internally import gets succesful, but fail creating audit.

*{"errorCode":"ATLAS-500-00-001","errorMessage":"org.janusgraph.core.JanusGraphException:
 Could not commit transaction due to exception during 
persistence","errorCause":"Could not commit transaction due to exception during 
persistence"}*

When size of the entity is greater than "hbase.client.keyvalue.maxsize" 
property then audit entity creation fails with  exception.

*Caused by: 
org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1 
action: org.apache.hadoop.hbase.DoNotRetryIOException: 
Cell[\x00\x00\x00\x00\x00\x00\x00\x00\x01\x05\xCC\xBB/l:\x00\x06\x18r\xB0\xBE\xFDH\xA00a11ed186467-ve0214-halxg-cloudera-com\xB2\x00\x00\x00\x00\x00\x0D\xB6Y/1715730740890001/Put/vlen=23826488/seqid=0]
 with size 23826581 exceeds limit of 10485760 bytes
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.checkCellSizeLimit(RSRpcServices.java:906)
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:992)
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicBatchOp(RSRpcServices.java:927)
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:892)
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2855)
        at 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:45961)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:387)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:139)
        at 
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:369)
        at 
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:349)
: 1 time, servers with issues: ve0214.halxg.cloudera.com,22101,1715690875185
        at 
org.apache.hadoop.hbase.client.BatchErrors.makeException(BatchErrors.java:50)
        at 
org.apache.hadoop.hbase.client.AsyncRequestFutureImpl.getErrors(AsyncRequestFutureImpl.java:1228)
        at org.apache.hadoop.hbase.client.HTable.batch(HTable.java:434)
        at org.apache.hadoop.hbase.client.HTable.batch(HTable.java:422)
        at org.janusgraph.diskstorage.hbase2.HTable2_0.batch(HTable2_0.java:51)
 
**Solution: **

Hence in this case, storing processed entities guids is skipped while creating 
ExportImportAuditEntry when size of entity goes beyond the value (in bytes) of 
below property

atlas.hbase.client.keyvalue.maxsize


Diffs
-----

  
repository/src/main/java/org/apache/atlas/repository/impexp/ExportImportAuditService.java
 3afa17301 


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


Testing
-------

manually verified through below api, processed entity guids is not stored

/api/atlas/admin/expimp/audit?userName=admin&operation=IMPORT


Thanks,

Pinal Shah

Reply via email to