-----------------------------------------------------------
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