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

Review request for atlas, Madhan Neethiraj and Sarath Subramanian.


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


Repository: atlas


Description
-------

**Background**
If entities and types are created simultaneously it was observed that some 
stale transactions are created. Titan runs an eviction thread every minute to 
evict these out of transaction cache. That is when the message mentioned in the 
bug appears.

**Analysis**
During startup when built-in types are added to the database, the process did 
not use _GraphTransactionInterceptor_ approach. This caused stale transactions 
to appear, which grew over time.

**Instrumentation**
Used _Titan's_ _StandardTitanGraph_ for adding instrumentation code. This is 
central point for transaction operations.

Tracing the creation and co-relating them with destruction helped in narrowing 
down the area of focus.


Diffs
-----

  
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasTypeDefGraphStoreV1.java
 6e9ef685 


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


Testing
-------

**Unit tests**
Existing.

**Other**
Executed the attached bash scripts to create numerous types and entities 
simultaneously.

Use this command:
```
bash create-type.sh & bash create-entity.sh &
```


File Attachments
----------------

create type
  
https://reviews.apache.org/media/uploaded/files/2017/10/12/755455cc-c08c-4885-9d07-5b5d9e3867e2__create-type.sh
create entity
  
https://reviews.apache.org/media/uploaded/files/2017/10/12/b20ddb13-7300-493d-8f43-5fcaf884c055__create-entity.sh


Thanks,

Ashutosh Mestry

Reply via email to