neoppod:08742377b143b61724d1b8f7a6d4ec1201e2d189 commitshttps://lab.nexedi.com/nexedi/neoppod/-/commits/08742377b143b61724d1b8f7a6d4ec1201e2d1892012-08-20T22:10:13+02:00https://lab.nexedi.com/nexedi/neoppod/-/commit/08742377b143b61724d1b8f7a6d4ec1201e2d189More bugfixes to backup mode2012-08-20T22:10:13+02:00Julien Muchembledjm@nexedi.com
- catch OperationFailure
- reset transaction manager when leaving backup mode
- send appropriate target tid to a storage that updates a outdated cell
- clean up partition table when leaving BACKINGUP state unexpectedly
- make sure all readable cells of a partition have the same 'backup_tid'
if they have the same data, so that we know when internal replication is
finished when leaving backup mode
- fix storage not finished internal replication when leaving backup modehttps://lab.nexedi.com/nexedi/neoppod/-/commit/92a828dc292c07aa62ddd102acc3af188244a7d5Use python3-friendly syntax.2012-08-20T22:03:44+02:00Vincent Pelletiervincent@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/df26478f87c661c6d81162e442a4275e3711b22fSurround operator with spaces.2012-08-20T22:03:01+02:00Vincent Pelletiervincent@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/c67a23bcbb752bd8802e659dc0f1d3f24be27386Commas must be followed by a space.2012-08-20T21:34:22+02:00Vincent Pelletiervincent@nexedi.com
Found by pylint.https://lab.nexedi.com/nexedi/neoppod/-/commit/5411b09f2f03fb9e3113827b688b29bebf17b051Avoid single-use variable.2012-08-20T21:07:58+02:00Vincent Pelletiervincent@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/fcc559736d2296688c9e2d5e815ea299cfccec0aCleanup a few unused variables.2012-08-20T21:07:51+02:00Vincent Pelletiervincent@nexedi.comhttps://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.com