neoppod:0ad980c8855ce86c7bc3658509a7e2dd423ec3e8 commitshttps://lab.nexedi.com/nexedi/neoppod/-/commits/0ad980c8855ce86c7bc3658509a7e2dd423ec3e82011-10-26T21:55:51+02:00https://lab.nexedi.com/nexedi/neoppod/-/commit/0ad980c8855ce86c7bc3658509a7e2dd423ec3e8Drop compatibility with Python < 2.6 and ZODB < 3.92011-10-26T21:55:51+02:00Julien Muchembledjm@nexedi.com
Also simplify some code by using some new Python syntax.https://lab.nexedi.com/nexedi/neoppod/-/commit/0f0491405bbd5078b7e2df874f1693444d0d20cfSimplify some code by using 'map()'2011-10-26T21:55:51+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/cbb992b21e8494eb21057394d0d60588af6d4cf7neo.lib.util: bin & dump roughly do the same thing as a2b_hex & b2a_hex from ...2011-10-26T21:55:51+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/f4220e1900e9c55d15e8e54d955605c793e40c35Prevent several test_bot instances from launching tests at the same time2011-10-26T21:55:50+02:00Julien Muchembledjm@nexedi.com
This hask is mainly for performance tests, which should be run on a physical
machine that doesn't do anything else.https://lab.nexedi.com/nexedi/neoppod/-/commit/fd8c8a6e1fe634c2de70e8d781fd279631efdaaamysql: fix compatibility issue with Python < 2.62011-10-26T14:23:52+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/2114e6db14db9d9e8dee488f5544cef7b167d360Remove unused Barrier packet2011-10-26T11:05:20+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/9d8081f57703702293c0f387b24ba06190bca548Merge "client: really fix ZODB monkey-patch when DB lock is not acquired"2011-10-25T19:36:31+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/b709cc899fa17ed14569a96395ad2def3a545db4client: really fix ZODB monkey-patch when DB lock is not acquired2011-10-25T19:35:36+02:00Julien Muchembledjm@nexedi.com
Commit <a href="/nexedi/neoppod/-/commit/5c5c7d9ad2ea21146eb472b308814a8d328a5be8" data-original="5c5c7d9ad2ea21146eb472b308814a8d328a5be8" data-link="false" data-link-reference="false" data-project="72" data-commit="5c5c7d9ad2ea21146eb472b308814a8d328a5be8" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="client: fix missing import in ZODB monkey-patch" class="gfm gfm-commit has-tooltip">5c5c7d9a</a> 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.https://lab.nexedi.com/nexedi/neoppod/-/commit/3e6f9bd86e8af3b8c9337ee2606575a301f2cec5NEO 0.102011-10-17T18:28:50+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/68938f7f047ec400b10592c6123c529adbe47daaAdd upgrade note to migrate existing MySQL storages2011-10-17T18:28:33+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/748fc33428b1e2a65c9fc110731c26375dab7edfMerge branch 'v0.9.x'2011-10-17T18:28:07+02:00Julien Muchembledjm@nexedi.com
Conflicts:
CHANGEShttps://lab.nexedi.com/nexedi/neoppod/-/commit/4df975e87c80aa0c8e0d1f1afb0684a606eeb502NEO 0.9.22011-10-17T18:26:25+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/88606a09f3bf1a6fe60e21d229f62365a46fae84Comment ZODB patch to tpc_finish2011-10-17T15:42:37+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/fa1328cd60ac7299eefacb4365ab5bd2bbcd07a5Suggest to stop storages last in supervisor example so that they don't get ou...2011-10-17T15:17:37+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/430b6ea908eb0d2cf9e41348403a0c311c820191neomigrate: open source FileStorage read-only2011-10-13T15:49:51+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/d5c469befc35faca796d13275185745cd131aaa5Fix protocol and DB schema so that storages can handle transactions of any size2011-10-11T20:13:34+02:00Julien Muchembledjm@nexedi.com
- 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__getDataTIDFromDatahttps://lab.nexedi.com/nexedi/neoppod/-/commit/d90c5b8386ab14ba126428a0e5f6f80df8de5192Allow NEO to store empty values2011-10-11T20:13:33+02:00Julien Muchembledjm@nexedi.com
This changes how NEO stores undo information
and how it is transmitted on the network.https://lab.nexedi.com/nexedi/neoppod/-/commit/03bf302aed7df09e676df58a062fe186dea105f3btree: fix missing u64 oid conversion in deleteTransaction2011-10-11T20:13:27+02:00Julien Muchembledjm@nexedi.com
Also clean up deleteObject.https://lab.nexedi.com/nexedi/neoppod/-/commit/fe5526cb90e75ecf774aa3867c507fd9252cc905Document previous commit2011-10-11T20:13:21+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/5c5c7d9ad2ea21146eb472b308814a8d328a5be8client: fix missing import in ZODB monkey-patch2011-10-06T10:50:15+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/965047c12986cda3e94645fd835edfad494736acneomigrate: fix 'verbose' command line option2011-10-03T12:32:18+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/b05f9c8a541794f17a6033e7dbae6f665ce9c42astorage: extend syntax of database argument to specific socket of a MySQL DB2011-09-30T20:54:29+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/8cb16d749e131e5845d0cda10bfdc50812fe27eeNew extraCellSortKey and getUnpickler methods for threaded tests2011-09-29T17:38:05+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/81c93b6758e435b992a68d110d5fe3e6cfa12dc4Coding style changes and small optimizations2011-09-29T17:38:03+02:00Julien Muchembledjm@nexedi.com
With the change in TransactionManager, there's 1 comparison less.https://lab.nexedi.com/nexedi/neoppod/-/commit/b2f51e77f072982b735731e82f2880b173657d08storage: fix possible ConflictError when client is much faster than master2011-09-29T17:33:26+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/a020c593f66720c454a953754e7cb69a14ad6a76storage: horizontal partitioning is also broken in MariaDB2011-09-29T17:31:35+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/ae50e174d8849129156c5f373c5ea24e22244ccaNEO 0.9.12011-09-24T19:37:26+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/e96e8f0b4b8c5fcae3fc8c03d757cacaba9eb792tests: fix occasional deadlock when a threaded unit test ends2011-09-24T19:28:06+02:00Julien Muchembledjm@nexedi.com
During 'NEOCluster.stop', there's often 1 'Serialized.background()' call too
many, and when it removed the last lock of the queue, another thread would hang
if was sleeping between 'q.put(lock)' and 'q.get().release()'.
An easy way to reproduce the bug was to add:
if cls.pending is None:
time.sleep(.01)
just before 'q.get().release()'https://lab.nexedi.com/nexedi/neoppod/-/commit/bbd591f8ffa30dc34b1a87175ac0e3beb2c8318cclient: add tests reproducing a bug affecting undoLog() and transactionLog()2011-09-16T18:35:49+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/cbb233f275f2d7e8bcf5c5a49a42b47d8c252e8cUpdate documentation2011-09-16T11:41:21+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/eff9cc8857a1950178050013b2e502e160e64950Rewrite tests of Storage.history() with a threaded test2011-09-16T11:40:01+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/59c8a2bf96984e84aeb8d5d7477393fc874e289aclient: fix exception raised by Storage.history() when oid doesn't exist2011-09-15T22:17:21+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/df47e5b1df8eabbff1383348b6b8c476bca0c328client: optimize Storage.history() by not asking all storages systematically2011-09-15T22:03:07+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/11473bff740dda0e43e22ef8ab8b2e85f1c40b1cclient: make Storage.history() compatible with recent ZODB API2011-09-15T21:25:33+02:00Julien Muchembledjm@nexedi.com
In particular, this fixes history tab on recent Zope.https://lab.nexedi.com/nexedi/neoppod/-/commit/7d6b9c870b9c6645bfa4a0768f12aca121cef086neoctl: fix 'print node' command to get list of all nodes2011-09-14T16:28:52+02:00Julien Muchembledjm@nexedi.com
Protocol is extended to allow passing None in an Enum field.https://lab.nexedi.com/nexedi/neoppod/-/commit/759491bdbe58c5e84126faf0f29945d4f6e58191A bug in ZODB may corrupt data when converting back to FileStorage2011-09-14T12:11:46+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/87bc05eb06df0e087373c9001e04a1f98329695cmigrate: fix conversion from NEO storage to FileStorage2011-09-13T18:24:10+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/24fc255dc2e942cdf3b93a5b635098e5a2d611fbAdd patch to ZODB3 for ZODB unit tests2011-09-12T17:24:22+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/fa7a83f93e676bd540e3a5cccbcc81faf53c25a8NEO 0.92011-09-12T14:01:16+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/098d06b04399e7e33d14305e6c7e48fdf30a3e3eImprove README2011-09-12T11:53:54+02:00Julien Muchembledjm@nexedi.com