neoppod:c324955d72edd7839724ad676565f540761d1d91 commitshttps://lab.nexedi.com/nexedi/neoppod/-/commits/c324955d72edd7839724ad676565f540761d1d912015-07-03T11:50:52+02:00https://lab.nexedi.com/nexedi/neoppod/-/commit/c324955d72edd7839724ad676565f540761d1d91client: fix "signal only works in main thread" when adding a ZODB Mount Point...2015-07-03T11:50:52+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/79fca358d3a269415b38e4e528604335c089d667Update changelog2015-07-01T12:25:49+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/02a5b4e3ea012eb78315edc7de20106c03da279bAdd upgrade notes about MySQL/SQLite schema changes since NEO 1.32015-06-30T17:20:53+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/58774fb67bfee99133f3f6728ae3a23dadc632d5master: new option to automatically start a new cluster2015-06-30T12:05:13+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/5a76664a1bb47a7fb3c48b2e6fcb0a5dc788a7b8master: simplify recovery loop2015-06-29T22:09:49+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/b19bf40ef120b81bfbe8b1f18938d95903314024Add support for IPython >= 1, ignore older versions2015-06-29T22:07:29+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/8173441b25510f830786a896256c28de8214bd1eclient: do not loop forever on unreadable cells when not connected to the master2015-06-24T21:32:01+02:00Julien Muchembledjm@nexedi.com
When the connection to the primary master node is lost, the node manager
does not have anymore a reliable list of running nodes, so iterateForObject()
must not retry any cell.https://lab.nexedi.com/nexedi/neoppod/-/commit/9c0a0c9e3eebf62e1c9a60de97e6466d0abc7127client: code cleanup2015-06-24T20:34:02+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/cf413589e1d0e77bb076b93eb05a0159e3e65325storage: fix crash when a client tries to "steal" the UUID of another client2015-06-24T17:00:29+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/11debaa957766816d049a219e4d3b4ebd47672f7Add more information in __repr__ of connections2015-06-24T13:17:16+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/6b4100981744cc102da99d655ddc4500e3273e2fWhen aborting, flush log containing pre-mortem data2015-06-24T12:24:19+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/93aef5ed7c9deccb2ed54ae3445296ebf69f346cmysql: log failed query in case of database failure2015-06-24T12:24:19+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/f8ce322bcc09ebc3b9c09c37effed9ba47d3b4baFix read of empty transactions2015-06-24T12:22:27+02:00Julien Muchembledjm@nexedi.com
Since transactions have metadata like a description, it may not be useless
to allow them. But the behaviour of FileStorage is to silently drop them,
so we may have to do the same in the future.
An application that is not supposed to commit empty transactions should write
its own unit test to prevent this.https://lab.nexedi.com/nexedi/neoppod/-/commit/c05e65ac6fa7313bf176c65b4265600afd10f73ePrevent nodes from reconnecting too fast2015-06-24T12:22:27+02:00Julien Muchembledjm@nexedi.com
This happened between storage nodes of different clusters because they're not
informed about their state, e.g. a dead upstream storage node.
In any case, logs were flooded at 100% cpu usage.https://lab.nexedi.com/nexedi/neoppod/-/commit/c321971f9be5d734cfd9b2e292dfd1b70659a3f2tests: simplify preallocation of ports2015-06-23T17:45:28+02:00Julien Muchembledjm@nexedi.com
Binding a port actually does not reserve it. And on the other side, a bound
socket can't be bound again. So it could bind a port twice, warn about this,
and then raise EINVAL when trying to bind again.
Apart from this, the global lock didn't even prevent conflict with another
NEO test run when tests restart nodes. So better keep it simple.https://lab.nexedi.com/nexedi/neoppod/-/commit/f822d7d0a54bb351f2b039fe830420b45198c49dAdd a few docstrings2015-06-23T17:45:25+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/f86fbc14c5f841c0bbab07190d9e498b6b914133doc: fix typo in example of debug script2015-06-23T17:45:17+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/f9a8500d896fb5b4484772e8e9eef83d20f391cdmysql: the largest value allowed by TokuDB enginge is 32 MB2015-06-15T13:47:02+02:00Julien Muchembledjm@nexedi.com
Limiting the size of data.value column to 16 MB saves 1 byte by switching
to MEDIUMBLOB, and it avoid the need of big redo logs in InnoDB.https://lab.nexedi.com/nexedi/neoppod/-/commit/24b1d02475774fc135032e55a278124345c197aalogger: drop payload of big packets in unit tests2015-06-09T10:52:43+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/51c4f647dbe5dcf8a2289f3c304dc6a353383adcstorage: data.value column never contains NULL2015-06-09T10:52:38+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/f0713aa36fb6b2ec362fa1cb6cb79ae72639120fstorage: fix store of multiple values that only differ by the compression flag2015-06-09T10:51:18+02:00Julien Muchembledjm@nexedi.com
This fixes the case of an application that would store 2 values X & Y
where NEO internally compresses X into a value identical to Y.https://lab.nexedi.com/nexedi/neoppod/-/commit/8204e5411a4094f86364de28c5a152d653ca7aaaUpdate copyright year2015-05-21T19:44:30+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/53887d79c385aa8871e9c97ded545a24d39a7c0fmysql: new configuration parameter to choose engine (InnoDB or TokuDB)2015-05-05T15:02:49+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/2a3392eb1595f4186c15f31a9a8d8de92110aabaimporter: merge all inserts to 'obj' into a single request per transaction2015-04-26T18:49:24+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/cd33de9fe5bdb1ec624d1d32996b6431936348f0importer: speed up txn lookup when migrating from FileStorage2015-04-26T18:21:28+02:00Julien Muchembledjm@nexedi.com
This speeds up 2 operations that were horribly slow (linear scan
of source database, from the beginning or from the end):
- read access to not yet migrated data
- resumption (restart of storage node whereas import was not finshed)
Testing will tell if this patch is enough, or if more efficient solutions are
required, like:
- building a preliminary {tid->file_pos} index while the source DB is still
in use (in this case, NEO may have to deal with a small gap at the end)
- disabling ZODB features requiring data_serial (undo)https://lab.nexedi.com/nexedi/neoppod/-/commit/e582696c1ef3224fa55d37dbd57a0bf6b0f37b21NEO 1.32015-01-13T19:03:45+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/49b6a83add54a54c290e00a86bdaf004ec7cc51dmaster: add command line options for upstream cluster/masters2014-12-09T16:15:50+01:00Julien Muchembledjm@nexedi.com
Before it was only possible to specify them in a configuration file.https://lab.nexedi.com/nexedi/neoppod/-/commit/acf91be86533665f1c5a93e8958b2baa0eaa04d6Add note about broken 'wait' option in configuration file2014-12-05T19:59:48+01:00Julien Muchembledjm@nexedi.com
Value must be cast as integer.
The whole configuration part should be reviewed to use argparse
and avoid duplicated code.https://lab.nexedi.com/nexedi/neoppod/-/commit/bc70a7537e99e8f272785296b599df86c919f5d4neolog: do not spam the console when piped to a process that exits prematurely2014-12-05T19:50:21+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/9bd318038fd4d9697f469abd7f09b12a1fa6e85fneolog: add support for gzip/bz2 compressed logs2014-12-05T19:40:23+01:00Julien Muchembledjm@nexedi.com
They're decompressed automatically to temporary files.https://lab.nexedi.com/nexedi/neoppod/-/commit/1b1a9bcd188c2d67d7dc9624bba8060a24d81a96importer: when mapping oids, repickle without loading any object2014-12-05T17:07:07+01:00Julien Muchembledjm@nexedi.com
The use of ZODB.broken was completely wrong so previous code only worked
if NEO could import all classes used by the application.https://lab.nexedi.com/nexedi/neoppod/-/commit/764b41c07f5f98bdb05e476ed6ed82baa3bf7de3importer: fix resuming2014-12-05T12:20:55+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/58cf9e2410d0e1bdf27bffce40e8a7e1b1289498client: document default value of 'compress' option2014-12-05T12:09:21+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/9af7ecab22d7e33ad1b0d048ff982786ab51dafamysql: quote `partition` column for compatibility with recent MariaDB (>=10)2014-11-07T19:42:48+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/059cb03cb1c665077672c7bbe26fb8b79f335b15Respect NEO_TESTS_ADAPTER for all tests run by -u2014-11-07T19:42:48+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/3fbffa00c37f78fb10b1a112e493d27404b97ffdFix test_parseNodeAddress when ipv6 is configured and preferred for 'localhost'2014-11-07T19:42:48+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/c21f054e500804469e477568a30c8c83d242158eclient: register log rotation when running in Zope2014-11-07T19:42:48+01:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/neoppod/-/commit/3428da3c48a434a1267ad457ceff715a568f4f76logger: new RTMIN+1 signal to reopen the log2014-11-07T19:42:48+01:00Julien Muchembledjm@nexedi.com
RTMIN+1 & RTMIN+2 signals, which were previously used for debugging,
have been remapped to RTMIN+2 & RTMIN+3
No journal on disk anymore because this is incompatible with the
rename+reopen way to rotate logs, and we want to support logrotate.
Of course in case of crash the log may be corrupt or entries may be lost,
but we currenty don't think NEO logs would be useful to debug such failure.https://lab.nexedi.com/nexedi/neoppod/-/commit/17fc0ef901bce04600caaaa5f6d6d61abc696088logger: new _setup() method to setup the logger when lock is already acquired2014-10-27T20:33:31+01:00Julien Muchembledjm@nexedi.com
This commit only moves code from setup() to _setup()https://lab.nexedi.com/nexedi/neoppod/-/commit/88c0d6f5aebc8db2caf9b2af9640f5698a8488f7Validate reStructuredText if docutils is available2014-07-30T15:06:56+02:00Julien Muchembledjm@nexedi.com