neoppod:6be00df78d8e29100fe0996afbf09c86868b4b56 commitshttps://lab.nexedi.com/nexedi/neoppod/-/commits/6be00df78d8e29100fe0996afbf09c86868b4b562012-08-16T18:26:56+02:00https://lab.nexedi.com/nexedi/neoppod/-/commit/6be00df78d8e29100fe0996afbf09c86868b4b56neoctl: change 'set node' command into 'kill', which kills a node safely2012-08-16T18:26:56+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/bbf169471a4a740c5f7e136663e06da8845c42f1storage: fix TypeError while stopping backup2012-08-16T16:16:43+02:00Julien Muchembledjm@nexedi.com
This fixes the following error:
PACKET #0x0012 AnswerTruncate > M1 (127.0.0.3:1)
ERROR Pre-mortem data:
ERROR Traceback (most recent call last):
ERROR File "neo/storage/app.py", line 166, in run
ERROR self._run()
ERROR File "neo/storage/app.py", line 207, in _run
ERROR self.doOperation()
ERROR File "neo/storage/app.py", line 308, in doOperation
ERROR task_queue[-1].next()
ERROR File "neo/storage/handlers/storage.py", line 240, in push
ERROR conn.notify(Packets.AddObject(oid, serial, *object[2:]))
ERROR TypeError: 'bool' object is unsubscriptablehttps://lab.nexedi.com/nexedi/neoppod/-/commit/357879874b9d98f0b990cca7609e41936afbb5d7Clean up TODO2012-08-16T01:23:51+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/dc85ab7e1cd6fdf8b0f0083c38cb06780fdafec4master: fix internal replication while trying to connect to upstream master2012-08-16T01:16:17+02:00Julien Muchembledjm@nexedi.com
This fixes a regression in commit <a href="/nexedi/neoppod/-/commit/ad01f3794c545b9c39313bb349776f30c00a6a55" data-original="ad01f3794c545b9c39313bb349776f30c00a6a55" data-link="false" data-link-reference="false" data-project="72" data-commit="ad01f3794c545b9c39313bb349776f30c00a6a55" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="Backup bugfixes" class="gfm gfm-commit has-tooltip">ad01f379</a>
("fix leaving backup mode, including truncating to consistent TID")https://lab.nexedi.com/nexedi/neoppod/-/commit/743b207ca45ab528ebb82c6cc497366b44719289master: do never try to truncate the whole DB when leaving backup mode2012-08-16T01:13:55+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/7f740f3345f6f31ef9b84ec9d54c4191495dad1bsqlite: comment about slow GROUP_CONCAT function (used to check replicas)2012-08-14T21:50:10+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/e9dae1f5583173e1e53a8e52c68e7b2d25c6dbe6mysql: fix checksum of transactions when checking replicas2012-08-14T21:50:10+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/1e7181e2e7e82a183f39f8ed1f3d1dd479160a4bneoctl: document 'check' command, fix its *_tid arguments2012-08-14T21:50:10+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/36fff1898965e5ac8e71dd92c23defec00b09447master: remove dead code (pt.findLeastUsedNode)2012-08-14T18:39:46+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/895d780196a508a9e046ecc266aa19ee0ae768e0Fix PartitionTable.filled()2012-08-14T18:39:46+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/95fecbfbb5ecd56d736de25d5b4fd0122514ecd7storage: safely change connection peer id temporarily2012-08-14T18:39:46+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/192b2ba8de6b89e546b723e6bdc1ef907f5e6cdcbackup: delay processing of replication when requested transaction is still l...2012-08-14T18:39:46+02:00Julien Muchembledjm@nexedi.com
Without this, transactions and even objects may be missing on the backup
database.https://lab.nexedi.com/nexedi/neoppod/-/commit/ebabc92e38fd783cf54e3e31b7bbd7b0a86a35daAdd threaded test decorator to help writing backup tests2012-08-14T18:23:08+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/00b76f60839a95fe4e392a6815d01790a49c62d1neosimple: new --bind_ip option2012-08-12T18:49:38+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/f49bf829669d1130a2bc1b04efbb4418ca1d4121master: check backup master behaves properly when upstream master is unreachable2012-08-12T17:34:11+02:00Julien Muchembledjm@nexedi.com
This fixes the following assertion failure:
PACKET #0x021d Ping > M1 (10.0.114.64:14001)
INFO timeout for #0x0000021d with <ClientConnection(uuid=M1, address=10.0.114.64:14001, closed=0, handler=BackupHandler) at 2955590>
DEBUG connection closed for <ClientConnection(uuid=M1, address=10.0.114.64:14001, closed=1, handler=BackupHandler) at 2955590>
ERROR upstream master is down: connection lost
ERROR Pre-mortem data:
ERROR Traceback (most recent call last):
ERROR File "neo/master/app.py", line 134, in run
ERROR self._run()
ERROR File "neo/master/app.py", line 154, in _run
ERROR self.playPrimaryRole()
ERROR File "neo/master/app.py", line 344, in playPrimaryRole
ERROR self.backup_app.provideService()
ERROR File "neo/master/backup_app.py", line 129, in provideService
ERROR conn.close()
ERROR File "neo/lib/connection.py", line 541, in close
ERROR assert not self.isPending()
ERROR AssertionErrorhttps://lab.nexedi.com/nexedi/neoppod/-/commit/b81ae60aa5772b0f30a6af28fd2242df6a0d67a8Start renaming UUID into NID, because node IDs are not 128 bits length anymore2012-08-10T20:45:19+02:00Julien Muchembledjm@nexedi.com
SQL tables can be upgraded using:
UPDATE config SET name = 'nid' WHERE name = 'uuid';
then for MySQL:
ALTER TABLE pt CHANGE uuid nid INT NOT NULL;
or SQLite:
ALTER TABLE pt RENAME TO old_pt;
CREATE TABLE pt (rid INTEGER NOT NULL, nid INTEGER NOT NULL, state INTEGER NOT NULL, PRIMARY KEY (rid, nid));
INSERT INTO pt SELECT * from old_pt;
DROP TABLE old_pt;https://lab.nexedi.com/nexedi/neoppod/-/commit/52c5d8628705c2c9525df7907864c645e100a939storage: fix severe performance issue by committing backend only at key moments2012-08-10T12:23:19+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/4741e38eea52c77a556847e3984d964db9f24124Make unit tests honor NEO_TESTS_ADAPTER instead of always testing MySQL2012-08-09T19:43:40+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/ad01f3794c545b9c39313bb349776f30c00a6a55Backup bugfixes2012-08-09T13:39:04+02:00Julien Muchembledjm@nexedi.com
- fix stopping backup cluster
- fix leaving backup mode, including truncating to consistent TID
- fix backup_tid on master and storageshttps://lab.nexedi.com/nexedi/neoppod/-/commit/968972243c31f224c9f2e3cb4a7b01d1ad4f7353Global connection filtering in threaded tests, and fix id of delayed packets2012-08-08T22:22:48+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/930af0fbb553117011066d066e4aad4878a19b92master: remove useless 'selector' argument of broadcastPartitionChanges2012-08-08T22:22:48+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/30a228b35569d9bb1c9477ee4a7d203ecc6c5186TODO: review naming of some Connection methods2012-08-08T22:22:48+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/7f06df6f2127aa49ca6db125155d9d7875b7efd5Prevent removing nodes that contain the only readable cells2012-08-01T15:21:45+02:00Julien Muchembledjm@nexedi.com
And contrary to previous implementation, there is no automatic reallocation
of partition amongst remaining nodes. Now only 'tweak' does that.https://lab.nexedi.com/nexedi/neoppod/-/commit/a15392193b36865dd86315b85e93929032bdccc4Do not change partition table when adding node and reimplement pt.tweak()2012-08-01T15:17:45+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/07b1ce47975f680d8adc573255cc204f0019001eAdd test reproducing a bug in PartitionTable.addNode()2012-07-31T13:49:17+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/a5b139517e4867174a5b4ba3ee5e0511bbdca191tests: fix bugs in MasterPartitionTableTests2012-07-31T13:48:27+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/f0adc66c9a9d18baf8582cd11c989f3d2abcde87master: simplify pt.addNode() a little2012-07-31T13:45:10+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/005cb8297a0ff83a00707cab055f89508acdff51Guess last oid from 'obj' tables instead of saving if in 'config'2012-07-26T16:23:07+02:00Julien Muchembledjm@nexedi.com
This fixes a bug in backup mode where 'loid' was not updated.https://lab.nexedi.com/nexedi/neoppod/-/commit/1aab7d19e2cc886834efa1ccc4975b04e31b7b9aFix a log when no node is known2012-07-24T22:48:57+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/a7881b3ca7cb3cc9af4008444ff2b29b9016ac16neoctl: fix commands expecting an UUID2012-07-24T18:37:14+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/86f64828d5a1ded8bf5df1e07d61bdcd3232a7a4storage: retry instead of raise if the DB is locked by another process2012-07-23T18:46:25+02:00Julien Muchembledjm@nexedi.com
This changes is similar to commit <a href="/nexedi/neoppod/-/commit/3d0fab20ee23adb142619f4eae58929fdfa5f871" data-original="3d0fab20ee23adb142619f4eae58929fdfa5f871" data-link="false" data-link-reference="false" data-project="72" data-commit="3d0fab20ee23adb142619f4eae58929fdfa5f871" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="logger: retry instead of raise if the log is locked by another process" class="gfm gfm-commit has-tooltip">3d0fab20</a>
("logger: retry instead of raise if the log is locked by another process").https://lab.nexedi.com/nexedi/neoppod/-/commit/04922832e5540029f1add67f9bca8b3fa053a50bneoctl: improve output of 'print node'2012-07-23T17:45:25+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/896900f18808d5971a6ba7ffef9c824ba7005223fixup! client: fix cache invalidation during a load from a storage for the sa...2012-07-23T17:45:25+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/20628341caa3575f618cd9e01704868d8d6303abClean up TODO2012-07-23T17:45:25+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/b798fe8e91ca57adec29bcf8372f20fb59d807faclient: enable patch to avoid useless ping to master at end of transactions2012-07-23T17:45:25+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/c277ed20dd4db047c93a9666d6265ef7a836ec40client: really process all invalidations in poll thread2012-07-23T17:45:25+02:00Julien Muchembledjm@nexedi.com
This changes completely how to get data from storages than is not too
recent and NEO now behaves as expected by ZODB, instead of trying to
snapshot at Storage level.
However, ZODB should probably be changed to avoid double loading when
an invalidation is received during a load.https://lab.nexedi.com/nexedi/neoppod/-/commit/f7b67cb9ec1dde53c10b01108ae728c9373dbd90tests: transaction.begin() does abort, not the contrary2012-07-23T11:29:08+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/5b61b6765ee52788b707414b155699b953d6fb52client: fix cache corruption when appending a noncurrent value2012-07-23T11:26:01+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/3d0fab20ee23adb142619f4eae58929fdfa5f871logger: retry instead of raise if the log is locked by another process2012-07-20T21:12:46+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/0e3c2712695aa276e1caf27631d97452c7696751neolog: do not create empty DB if log does not exist2012-07-20T21:05:47+02:00Julien Muchembledjm@nexedi.com