I just thought I'd post this here to the dev list directly to make sure it was noticed. Matthias had brought up some issues with Graph/Transaction.close() just before GA was released. I created this issue for it to fix it in 3.0.1:
https://issues.apache.org/jira/browse/TINKERPOP3-764 Basically, there were some mixed semantics between Graph.close() and Transaction.close() that didn't jive up well in the javadoc or the tests. I straightened those out. As I thought about that, I realized that Transaction implemented Closeable. I thought it kinda weird because Transaction isn't really a "transaction object" to be passed around - it's just a class to hold the transaction related methods. Making it Closeable seemed wrong in that sense. So as the comments showed, I deprecated Transaction.close() and related methods/enum with the thought that at some point we would remove the Closeable interface, which i created an issue for: https://issues.apache.org/jira/browse/TINKERPOP3-805 Bryn quickly commented that he would like to do AutoCloseable so that he could do this: try (Transaction tx = graph.tx()) { //Do stuff tx.commit(); } where the default close behavior would be ROLLBACK. I'd just have to remove the deprecation I just added, but that's not a big deal. Does anyone else want it that way or have other thoughts on this? Is that a usage pattern we want to encourage (recalling that Transaction is not a "transaction object")? Thanks
