kenhuuu opened a new pull request, #3471: URL: https://github.com/apache/tinkerpop/pull/3471
https://issues.apache.org/jira/browse/TINKERPOP-3252 open() and begin() were redundant ways to start a transaction, and the strict "throw if already open" contract was incompatible with the embedded AUTO behavior: a read opens the transaction implicitly, so a later explicit begin() would throw even though the caller did nothing wrong. Collapsing to a single idempotent begin() makes explicit and implicit opens compose, and gives one consistent transaction-start verb across embedded, remote, and all GLVs. close() is made idempotent for the same reason — so the common try-with-resources / double-close patterns are safe rather than surprising. The base AbstractTransaction.begin() now opens via a guarded doOpen() so the contract holds for every provider (not just TinkerGraph) and MANUAL mode is no longer broken in the base class. VOTE +1 <!-- Thanks for contributing! Reminders: + TARGET the earliest branch where you want the change 3.7-dev -> 3.7.7 (non-breaking only) 3.8-dev -> 3.8.2 (non-breaking only) master -> 4.0.0 + Committers will MERGE the PR forward to newer versions + ADD entry to the CHANGELOG.asciidoc for the targeted version Do not reference a JIRA number there + ADD JIRA number to title and link in description + PRs requires 3 +1s from committers OR 1 +1 and 7 day wait to merge. + MORE details: https://s.apache.org/rtnal --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
