> On May 27, 2016, 7:24 a.m., Hemanth Yamijala wrote: > > webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java, line > > 47 > > <https://reviews.apache.org/r/47898/diff/1/?file=1395490#file1395490line47> > > > > Is this being done mainly as a defensive safeguard? If there is any > > exception, then I guess that transaction will remain open until any of > > these calls are made. I have seen long opened transactions cause problems > > and leaks in Titan. Preferable to ensure transactions are closed. > > John Speidel wrote: > Yes, this is a safeguard to ensure correct behavior in the case where a > thread is re-pooled with an active transaction. Because of the way that > transactions are implemented in Titan, this can easily happen. Even a simple > read will start a transaction that may mutate the database as well as > establish the point in time used for read object visibility. I did see > several cases recently where this did indeed happen and was unable to easily > figure out where we missed a commit/rollback so I added this code at this > time. Ideally, this would be done via a Jersey interceptor which was invoked > for all api requests. > > I absolutely agree that we should attempt to ensure proper transaction > demarcation in all code paths, but that being said, I think that it is a good > idea to have this "safety net" due to the likelihood that this will occur in > the future. Unfortunately, I didn't see a way to determine if an active > transaction is in place on the thread so that we could actually detect this > scenario and log a warning instead of just blindly rolling back. > > Let me know if you are ok with closing this issue as is or if you would > prefer that I resolve this issue another way. > > Hemanth Yamijala wrote: > I would prefer this is addressed in this JIRA. I don't see these warnings > without this patch, including when exercising existing add functionality of > business terms.
I have been unable to reproduce this behavior after testing for over an hour. I will keep an eye out for the log warning that you provided in the associated Jira. - John ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/47898/#review135175 ----------------------------------------------------------- On May 27, 2016, 9:18 p.m., John Speidel wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/47898/ > ----------------------------------------------------------- > > (Updated May 27, 2016, 9:18 p.m.) > > > Review request for atlas and Hemanth Yamijala. > > > Bugs: ATLAS-793 > https://issues.apache.org/jira/browse/ATLAS-793 > > > Repository: atlas > > > Description > ------- > > Provide support for deletion of taxonomies, terms and tags > > > Diffs > ----- > > catalog/src/main/java/org/apache/atlas/catalog/AtlasTypeSystem.java 6f2e0be > catalog/src/main/java/org/apache/atlas/catalog/BaseRequest.java f3376b0 > catalog/src/main/java/org/apache/atlas/catalog/BaseResourceProvider.java > 517eaf6 > catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java > f71c061 > > catalog/src/main/java/org/apache/atlas/catalog/EntityTagResourceProvider.java > dc4ab0d > catalog/src/main/java/org/apache/atlas/catalog/ResourceProvider.java > 4c4319c > > catalog/src/main/java/org/apache/atlas/catalog/TaxonomyResourceProvider.java > 7a46f5d > catalog/src/main/java/org/apache/atlas/catalog/TermResourceProvider.java > 431b06d > catalog/src/main/java/org/apache/atlas/catalog/projection/BaseRelation.java > PRE-CREATION > > catalog/src/main/java/org/apache/atlas/catalog/projection/GenericRelation.java > 5f59bea > catalog/src/main/java/org/apache/atlas/catalog/projection/TagRelation.java > a5e15c6 > > catalog/src/main/java/org/apache/atlas/catalog/projection/TraitRelation.java > 5f11474 > catalog/src/main/java/org/apache/atlas/catalog/query/AtlasEntityQuery.java > e2bc597 > > catalog/src/main/java/org/apache/atlas/catalog/query/AtlasEntityTagQuery.java > 013bb8a > > catalog/src/main/java/org/apache/atlas/catalog/query/AtlasTaxonomyQuery.java > 787f734 > catalog/src/main/java/org/apache/atlas/catalog/query/AtlasTermQuery.java > 0065101 > catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java c2eabf7 > > catalog/src/test/java/org/apache/atlas/catalog/EntityTagResourceProviderTest.java > a95b966 > > catalog/src/test/java/org/apache/atlas/catalog/TaxonomyResourceProviderTest.java > 9cf3d12 > > catalog/src/test/java/org/apache/atlas/catalog/TermResourceProviderTest.java > 34222ca > > catalog/src/test/java/org/apache/atlas/catalog/projection/TagRelationTest.java > PRE-CREATION > > catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java > 838d4c1 > server-api/src/main/java/org/apache/atlas/services/MetadataService.java > 6bca3df > webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java > 3982df8 > webapp/src/main/java/org/apache/atlas/web/resources/EntityService.java > 0e3f4c4 > webapp/src/main/java/org/apache/atlas/web/resources/TaxonomyService.java > ccd0b62 > > Diff: https://reviews.apache.org/r/47898/diff/ > > > Testing > ------- > > - Added new unit tests > - Ran all existing unit tests > - Manual functional testing of all new functionality > > > Thanks, > > John Speidel > >