I just created this ticket: https://issues.apache.org/jira/browse/TINKERPOP-1035
it discusses some consistency issues in applying transaction management in Gremlin Server. The solution I propose in there is working for me right now and I expect to issue a pull request on it soon once i polish up some of the implementation. The solution is somewhat stop gap for 3.1.1-incubating. I think that for 3.2.x we can do something more drastic where some breaking code changes will be in order. If there's any thoughts on this matter, please let them fly....
