Mon, 27 Aug 2018 12:40:47 +0200 sqlcache: also catch malformed database error
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:47 +0200] rev 4014
sqlcache: also catch malformed database error This is apparently another way for sqlite to fail at concurrency.
Mon, 27 Aug 2018 12:40:41 +0200 stablerange: rework saving logic to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:41 +0200] rev 4013
stablerange: rework saving logic to be clearer and safer
Mon, 27 Aug 2018 12:12:49 +0200 obshashrange: rework saving branching to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:12:49 +0200] rev 4012
obshashrange: rework saving branching to be clearer and safer
Mon, 27 Aug 2018 11:40:32 +0200 sqlcache: protect read query too
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:40:32 +0200] rev 4011
sqlcache: protect read query too Some error (like locked database) can even happens when doing readonly operation. So we protect them too. At that point, it seems that pysqlite3 is not the right tool for this job.
Mon, 27 Aug 2018 11:33:09 +0200 sqlite: fast path when nothing to save
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:33:09 +0200] rev 4010
sqlite: fast path when nothing to save If we have no new data to save, we should try to do anything. Doing something concurrently is hard enough. If we can avoid doing it at all that would be great.
Mon, 27 Aug 2018 11:27:04 +0200 sqlcache: initialize meta table last
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:27:04 +0200] rev 4009
sqlcache: initialize meta table last It turns out that pysqlite commit after each table creation. This commit is an hopeless attemps to make the caches more concurrent friendly.
Mon, 27 Aug 2018 10:20:15 +0200 obshashrange: always check in base cachekey against the recorded one
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:20:15 +0200] rev 4008
obshashrange: always check in base cachekey against the recorded one Ignoring the check in the none case is just disaster waiting to happens.
Mon, 27 Aug 2018 10:16:12 +0200 stablerangecache: fix output in the drifted case
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:16:12 +0200] rev 4007
stablerangecache: fix output in the drifted case The node were not hex, and the field had different order in the pair. This is now fixed.
Mon, 27 Aug 2018 00:35:51 +0200 sqlcache: also ignore integrity error
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:35:51 +0200] rev 4006
sqlcache: also ignore integrity error integrity error can happens when multiple client tries to warm similar cache. Given we leave multiple hole in the cache that can be warmed by anyone, this is harder to avoid that we would like. We simply catch the error in this case. Someone will warm the missing entry later.
Mon, 27 Aug 2018 00:28:19 +0200 sqlcache: cache OperationError when saving
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:28:19 +0200] rev 4005
sqlcache: cache OperationError when saving This is a cache, so we should not crash when trying to operate on it. OperationError can happens when the database is seen as readonly or locked.
Mon, 27 Aug 2018 00:18:06 +0200 sqlcache: passe better connection option
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:18:06 +0200] rev 4004
sqlcache: passe better connection option These new options should help with handling transaction consistency and database access on high load.
Sun, 26 Aug 2018 20:55:26 +0200 contrib: introduce a small script to stress tests obsolescence exchange
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Aug 2018 20:55:26 +0200] rev 4003
contrib: introduce a small script to stress tests obsolescence exchange Tester have been reporting some error that seems to originate from concurrent access/update to the cache. This script will be useful to reproduce these situations locally.
Tue, 21 Aug 2018 14:09:33 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 14:09:33 +0200] rev 4002
test-compat: merge mercurial-4.4 into mercurial-4.3
Tue, 21 Aug 2018 13:59:27 +0200 test: adjust glob in previous changeset mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:59:27 +0200] rev 4001
test: adjust glob in previous changeset I forgot to glob the time.
Tue, 21 Aug 2018 15:32:02 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:32:02 +0200] rev 4000
branching: merge with stable
(0) -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 tip