- 03 Jan, 2012 5 commits
-
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
Vincent Pelletier authored
Also, fix stupid error in error handling path.
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
- 02 Jan, 2012 4 commits
-
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
- 20 Dec, 2011 9 commits
-
-
Vincent Pelletier authored
Fixes a crash when a node aborts a connection and then detecting it as closed: it would attempt to unregister from event manager twice.
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
Vincent Pelletier authored
This increases cluster on-line flexibility, allowing new masters to be added without needing a restart of all masters. Downside is that more responsibility is pushed to cluster admins: they must update node configurations so they contain enough master nodes to allow them to join cluster after a restart.
-
Vincent Pelletier authored
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
See http://bugs.python.org/issue13361 ("getLogger does not check its argument").
-
- 09 Nov, 2011 4 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Vincent Pelletier authored
Custom ctypes wrapper for epoll is not needed with python 2.6+. Also, do not retry upon temporary error: it is valid to handle no packet, and retrying the poll call would increase overall timeout without easy fix. Also, remove meaningless frozensets (leftovers from an old bug's symptoms).
-
Julien Muchembled authored
-
- 27 Oct, 2011 1 commit
-
-
Julien Muchembled authored
-
- 26 Oct, 2011 7 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
Also simplify some code by using some new Python syntax.
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
This hask is mainly for performance tests, which should be run on a physical machine that doesn't do anything else.
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 25 Oct, 2011 2 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
Commit 5c5c7d9a was a wrong fix because RLock does not raise 'thread.error' like Lock (when releasing an unacquired lock). Python >= 2.5 raises a RuntimeError and older Python raise an AssertionError.
-
- 17 Oct, 2011 6 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
Conflicts: CHANGES
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 13 Oct, 2011 1 commit
-
-
Julien Muchembled authored
-
- 11 Oct, 2011 1 commit
-
-
Julien Muchembled authored
- Change protocol to use SHA1 for all checksums: - Use SHA1 instead of CRC32 for data checksums. - Use SHA1 instead of MD5 for replication. - Change DatabaseManager API so that backends can store raw data separately from object metadata: - When processing AskStoreObject, call the backend to store the data immediately, instead of keeping it in RAM or in the temporary object table. Data is then referenced only by its checksum. Without such change, the storage could fail to store the transaction due to lack of RAM, or it could make tpc_finish step very slow. - Backends have to store data in a separate space, and remove entries as soon as they get unreferenced. So they must have an index of checksums in object metadata space. A new '_uncommitted_data' backend attribute keeps references of uncommitted data. - New methods: _pruneData, _storeData, storeData, unlockData - MySQL: change vertical partitioning of 'obj' by having data in a separate 'data' table instead of using a shortened 'obj_short' table. - BTree: data is moved from '_obj' to a new '_data' btree. - Undo is optimized so that backpointers are not required anymore to fetch data: - The checksum of an object is None only when creation is undone. - Removed DatabaseManager methods: _getObjectData, _getDataTIDFromData - DatabaseManager: move some code from _getDataTID to findUndoTID so that _getDataTID only has what's specific to backend. - Removed because already covered by ZODB tests: - neo.tests.storage.testStorageDBTests.StorageDBTests.test__getDataTID - neo.tests.storage.testStorageDBTests.StorageDBTests.test__getDataTIDFromData
-