- 29 Aug, 2002 10 commits
-
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
The previous code just called tpc_abort() on the server, but that wouldn't restart any waiting transaction.
-
Guido van Rossum authored
- Add some expository comments. - Add some asserts documenting non-obvious assumptions. - Make modifiedInVersion a delegated method, since it does nothing special. - Fix a bug in undo(); it was passing a list of triples (oid,None,'') to the server.invalidate() call rather than a list of tuples (oid,''). There are no unit tests for undo(), so this was never caught. I guess few people care about undo() now that we have transactionalUndo(). - In ImmediateCommitStrategy.store(), only catch exceptions that inherit from Exception raised by the storage's store() call; the client is only checking for those in the list of serials. - Remove unused instance variable 'invalidated' from the DelayedCommitStrategy class.
-
Guido van Rossum authored
-
Guido van Rossum authored
client. Remove it from the stub.
-
Guido van Rossum authored
-
Guido van Rossum authored
-
Guido van Rossum authored
-
Guido van Rossum authored
names and Python method names. (Checked this in on the trace branch by mistake.)
-
- 28 Aug, 2002 13 commits
-
-
Guido van Rossum authored
Change the wire protocol back by providing aliases.
-
Guido van Rossum authored
-
Guido van Rossum authored
Log cache flips and non-trivial read_index statistics (at info level). Move RCS info into docstring. Add XXX TO DO comment at top. Whitespace normalization.
-
Jeremy Hylton authored
Also, reformat the _finish() method and add some comments.
-
Guido van Rossum authored
-
Jeremy Hylton authored
same as the serialno in the last non-version data record. XXX This might be the only time that the serialno of a data record does not match the transaction id.
-
Jeremy Hylton authored
Remove checkNewSerialOnAbortVersion and checkNewSerialOnCommitVersion. They duplicate checkCommitVersionSerialno and checkAbortVersionSerialno.
-
Guido van Rossum authored
public API.
-
Jeremy Hylton authored
-
Guido van Rossum authored
Open the cache later to avoid scanning it twice if a connection is made right away. ClientStorage.close() is now idempotent. ClientStorage stores its addr argument as self._addr so the test suite doesn't have to dig it out of the rpc manager to reopen the storage as readonly. Renamed some of the callbacks into the client for clarity: begin -> beginVerify end -> endVerify invalidate -> invalidateVerify Invalidate -> invalidateTrans
-
Jeremy Hylton authored
Also refactor the test code to use _abortVersion() and _commitVersion().
-
Guido van Rossum authored
Note that the checkModifyAfterAbortVersion() test still fails; Jeremy wants to change abortVersion in FileStorage and DemoStorage to revert the serialno to the last nonversion serialno instead of assigning a brand new serialno, so I'm holding off on invalidating the cache in ClientStorage.abortVersion. Also note that on Red Hat 7.2, the ZEO test suite hangs in checkCommitLock2OnAbort or checkCommitLock2OnCommit; we'll try to debug this later today.
-
Jim Fulton authored
serials. Modified FileStorage and DemoStorage to pass this test.
-
- 27 Aug, 2002 9 commits
-
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Guido van Rossum authored
In checkSize(), delete the half of the index that's no longer valid.
-
Guido van Rossum authored
erase the half of the _index dict that is invalidated by the flip.
-
Barry Warsaw authored
-
Guido van Rossum authored
identification harder, especially when generic test classes are inherited by multiple specific test classes.)
-
Guido van Rossum authored
- Document the correct persistent filenames and the presence of a magic number at the start of the file. (Also document the conditions under which the cache is persistent.) - In __init__(), seek to the correct position to read the first record's serialno. It was reading the last byte of dlen plus the first 7 bytes of the serialno. - In invalidate(), fix the seek call after the read(8) to actually seek to the status byte. It was seeking 8 bytes too far, causing it to overwrite the 2nd byte of dlen instead of the status byte.
-
Guido van Rossum authored
This will cause three failures with the current version of ClientCache.py, because some of the tests were specifically written to verify certain bugs. I will check in fixes for thse bugs shortly.
-
Barry Warsaw authored
-
- 26 Aug, 2002 2 commits
-
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
- 23 Aug, 2002 4 commits
-
-
Jeremy Hylton authored
-
Jeremy Hylton authored
Use STUPID_LOG_FILE instead of EVENT_LOG_FILE so that it works with older Zopes. Make sure buf1 is defined even if open() never succeeds.
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
- 22 Aug, 2002 2 commits
-
-
Jeremy Hylton authored
-
Jeremy Hylton authored
The one in ZEO/trigger.py was the good code, but we want it to live in ZEO/zrpc/trigger.py. This checkin makes that change. The key checkin of ZEO/trigger.py had this checkin comment: Fix trigger close/__del__. The close() mechanism for an asyncore file_dispatcher is not safe to call multiple times. It's calling os.close() on a file descriptor (int). Guido observed that if you call close() twice, you could be in trouble: 1) First close() call closes FD 6. 2) Another bit of code opens a new file, getting FD 6. 3) Second close() call closes FD 6. Waah! FD 6 is some other file. The workaround attempt here is to define a close() method on a trigger that only closes the file descriptors the first time. Also, make sure that both file descriptors are closed. The previous version only closed the read-end of the pipe.
-