- 06 Jul, 2016 1 commit
-
-
Julien Muchembled authored
-
- 05 Jul, 2016 5 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Jim Fulton authored
Only tpc_vote can report resolved conflicts with the new commit protocol
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 04 Jul, 2016 12 commits
-
-
Jim Fulton authored
-
Jim Fulton authored
-
Jim Fulton authored
-
Jim Fulton authored
Merge 4.x branch
-
Julien Muchembled authored
-
Jim Fulton authored
Better support of the new API to notify of resolved conflicts (store/tpc_finish)
-
Jim Fulton authored
Conflicts: src/ZODB/interfaces.py
-
Julien Muchembled authored
-
Jim Fulton authored
-
Jim Fulton authored
-
Jim Fulton authored
ZEO handles undo asynchronously and ZODB has for some time allowed undo oids to be returned via vote.
-
Jim Fulton authored
-
- 01 Jul, 2016 8 commits
-
-
Jim Fulton authored
-
Jim Fulton authored
-
Jim Fulton authored
Conflicts: src/ZODB/interfaces.py
-
Jim Fulton authored
-
Jim Fulton authored
Define a new interface for storages that support the new commit protocol.
-
Jim Fulton authored
-
Jim Fulton authored
-
Julien Muchembled authored
When switching all storages to the new API in the master branch, I found a few issues, mainly with blobs. 1. Created/modified blobs are invalidated during the first phase (in Connection._store_objects): obj._p_invalidate() And with the old API, _handle_serial then sets _p_serial Ghost objects are not supposed to have a _p_serial and with the new API, a few tests would fail because _p_serial are checked without activating the blob first. 2. Another consequence of _handle_serial not updating _p_changed/_p_serial immediately is that created objects are stored twice if __getstate__ modifies itself. This case is tested in testConnection by doctest_lp485456_setattr_in_setstate_doesnt_cause_multiple_stores Hence the change in Connection._commit: - self._modified is already appended in Connection._store_objects - (obj._p_serial == z64) instead of (oid in self._creating) would not work for savepoints. 3. Setting _p_changed of a Blob with no uncommitted changes would cause an error (lp440234_Setting__p_changed_of_a_Blob_w_no_uncomitted_changes_is_noop) Fixed by the same change as in 2: - oid was appended twice to self._modified but reverted one (self._modified.pop() in _store_objects) - the test passed because _p_changed was reset early by _handle_serial
-
- 30 Jun, 2016 5 commits
-
-
Jim Fulton authored
This allows interface incompatibilities: - Future version of ZODB that requires the new protocol being configured with a storage that doesn't implement the new protocol - ZEO has a client that uses the old protocol can't use a storage that implements the new protocol. To be caught early. This commit also clarifies that the serial returned by ``undo()`` is ignored.
-
Jim Fulton authored
This reverts commit 7901868a.
-
Jim Fulton authored
This allows interface incompatibilities: - Future version of ZODB that requires the new protocol being configured with a storage that doesn't implement the new protocol - ZEO has a client that uses the old protocol can't use a storage that implements the new protocol. To be caught early. This commit also clarifies that the serial returned by ``undo()`` is ignored.
-
Jim Fulton authored
Conflicts: CHANGES.rst setup.py
-
Jim Fulton authored
-
- 23 Jun, 2016 1 commit
-
-
Tres Seaver authored
See #60, #65.
-
- 22 Jun, 2016 2 commits
-
-
Jim Fulton authored
Modernize and cleanup locking
-
Julien Muchembled authored
-
- 21 Jun, 2016 1 commit
-
-
Jim Fulton authored
Allow serial to be returned as late as tpc_finish
-
- 20 Jun, 2016 1 commit
-
-
Jim Fulton authored
-
- 19 Jun, 2016 4 commits
-
-
Jim Fulton authored
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Vincent Pelletier authored
This makes possible for storage to allocate serial inside tpc_finish, removing the requirement to serialise 2PC's second phase phase (tpc_vote to tpc_finish/tpc_abort). Co-Authored-By:
Julien Muchembled <jm@nexedi.com>
-