tinkerpop/blueprints — pull request #324 by sgomezvillamor (2012-11-02 12:37:21+00:00)
Title: DexGraph implements TransactionalGraph

* DexGraph implements TransactionalGraph.
* A Session per-Tx. Previously just one Session, therefore no concurrency :-S
* Iterators automatically closed when the Tx is stopped. Previously Iterators were closed when the database is stopped, which is a problem for long-live DexGraph instances :-S

I know DexGraph breaks the semantics of TransactionalGraph by implementing this interface and not supporting the rollback operation, but the use of transactions fits with our concept of Session as well as solves the problem of the non-closed iterators. Therefore, it will make happier Dex/Blueprints users.

For this reason, I left the feature disabled:

FEATURES.supportsTransactions = false;

In the future, Dex will support real transactions so we will be able to implement the rollback as expected. In the meanwhile, we could even implement a "logic" rollback.

Thanks