[Bug 132485] Re: Storm should try to support two-phase commit where possible
This bug has not seen any activity in the last 6 months, so it is being automatically closed. If you are still experiencing this issue, please feel free to re-open. Landscape Team ** Changed in: landscape Status: New => Invalid -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Project changed: launchpad = ubuntu-beginners-launchpad-projects ** Changed in: ubuntu-beginners-launchpad-projects Status: Invalid = New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Project changed: ubuntu-beginners-launchpad-projects = launchpad ** Changed in: launchpad Status: New = Invalid -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: storm Status: Fix Committed = Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: storm Status: In Progress = Fix Committed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: launchpad Status: Triaged = Invalid ** Changed in: psycopg2 (Ubuntu) Status: Confirmed = Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
psycopg #172 not updating ** Changed in: psycopg Importance: Unknown = Undecided ** Changed in: psycopg Remote watch: Psycopg Bugs #172 = None ** Changed in: psycopg Status: New = Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: storm Status: Confirmed = In Progress ** Changed in: storm Assignee: (unassigned) = Free Ekanayaka (free.ekanayaka) ** Changed in: storm Milestone: None = 0.20 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
Hi Stuart, thanks for the comments! Okay, let's go for modified commit() and rollback(). I will make tpc off by default in ZStorm and have a way to configure it per-store, because you might don't want to have it on for all stores, for example if they set the isolation level to autocommit (tpc is not supported), something like zstorm.set_default_tpc(name, flag), and maybe have a way to configure it per-transaction too. Regarding begin(), I think we need it because the ZStorm machinery needs to call it when during register_store_with_transaction, afaiu you need to call the DB API level tpc_begin() before issuing any query in the transaction. So prepare() alone is not enough, unless we are fine with ZStorm accessing the raw connection directly via store._connection._raw_connection (but that doesn't seem great). My idea would be to add a Storm-level Xid class, that you can instantiate passing the standard XA arguments (format, transaction_id, branch_qualifier). Then you can pass Xid instances to store.begin(), and they would be handled transparently. If you think we should move this to the mailing list, I'll do. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
I went ahead and implemented a first version of the branch, with 2 new store methods: begin(xid) and prepare(). So we can discuss actual code (possibly on the mailing list). If there are no objections I'll open a merge proposal for it, so people can comment and I can make any needed changes. ** Branch linked: lp:~free.ekanayaka/storm/tpc-support -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
I'd be happy with just adding prepare() as you describe and modifying commit() and rollback(). The default should certainly be off, as having it on by default is slow and dangerous if you don't have procedures in place to clean up prepared but uncommitted transactions. Extending this beyond that with begin() or explicit tpc_commit()/tpc_rollback() methods would warrant some discussion on the mailing list. In particular, you would also need to expose the connection.xid() method to allow people to generate the transaction ids . There is also the option of just adding the transaction id as an argument to prepare() if people need to set it explicitly. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
Hi there! I'd like to revive this bug. Since version 2.3, the pyscopg2 driver implements the two-phase commit extension of the DB API specification version 2.0. So I'm keen to pick it up and implement Storm's support for two-phase commit on top of the DB API 2.0 interface. The idea would be to add a prepare() method to the Store class, as proposed by earlier comments in this bug. Invoking prepare() on a backend that doesn't support the DB API two-phase commit extension would raise NotSupportedError, as recommended in comment #4. Then commit() or rollback() would transparently perform the second phase of the commit, if prepare() was called, as suggested in comment #1. We might also want to have a begin(transaction_id) method on the Store class, accepting a unique string identifier. This would call the backend's tcp_begin() DB API method under the hood, and can be used by transaction managers. Integration with ZStorm would be done using the above API, and probably adding something like a set_tpc(flag) method to ZStorm to enable/disable two-phase commit (it would be off by default). Another option would be to explicitly add two new methods, e.g. tcp_commit() and tcp_rollback(), to clearly mark the difference with commit() and rollback(), though I'm not sure how useful that would be and what the possible use cases are. Thoughts? -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/132485 Title: Storm should try to support two-phase commit where possible To manage notifications about this bug go to: https://bugs.launchpad.net/landscape/+bug/132485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: psycopg2 (Ubuntu) Importance: Undecided = Wishlist ** Changed in: psycopg2 (Ubuntu) Status: New = Confirmed -- Storm should try to support two-phase commit where possible https://bugs.launchpad.net/bugs/132485 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: landscape Target: None = later -- Storm should try to support two-phase commit where possible https://bugs.launchpad.net/bugs/132485 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
The risk for Launchpad is minimal and the recovery pretty trivial. ** Changed in: launchpad-foundations Importance: High = Low Target: 2.2.2 = None -- Storm should try to support two-phase commit where possible https://bugs.launchpad.net/bugs/132485 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: launchpad-foundations Target: 2.2.1 = 2.2.2 -- Storm should try to support two-phase commit where possible https://bugs.launchpad.net/bugs/132485 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: launchpad-foundations Target: 2.1.12 = 2.2.1 -- Storm should try to support two-phase commit where possible https://bugs.launchpad.net/bugs/132485 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 132485] Re: Storm should try to support two-phase commit where possible
** Changed in: storm Importance: Undecided = Wishlist Status: New = Confirmed ** Also affects: launchpad Importance: Undecided Status: New ** Changed in: launchpad-foundations Product: Launchpad itself = Launchpad Foundations Importance: Undecided = High Status: New = Triaged ** Changed in: launchpad-foundations Target: None = 2.1.12 ** Also affects: landscape Importance: Undecided Status: New ** Changed in: landscape Importance: Undecided = Wishlist ** Also affects: psycopg2 (Ubuntu) Importance: Undecided Status: New -- Storm should try to support two-phase commit where possible https://bugs.launchpad.net/bugs/132485 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs