Commit Graph

1525 Commits

Author SHA1 Message Date
Leonid Yuriev
53563e75bb mdbx: fix DB-shrinking race with copy-asis & readers.
Change-Id: I1e05616de03d814850a1c8ad20e83941b2d1c911
2019-07-09 00:41:04 +03:00
Leonid Yuriev
bd5078347b mdbx: refine backlog preparation inside update_gc().
Change-Id: Ib18842c2922afba794d6ab69337580bcea29bfe6
2019-07-09 00:41:04 +03:00
Leonid Yuriev
06f16464aa mdbx-test: adds more jitter while DB opening.
Change-Id: Ic0f03f4fbe064ea00f719baa11b28cc24aafcb5b
2019-07-07 21:21:54 +03:00
Leonid Yuriev
1f89c494ff mdbx: refines OFF_T_MAX if it is not defined.
Change-Id: Ic453140e01725493cad0c98e73244c747d5f490e
2019-07-07 20:04:39 +03:00
Leonid Yuriev
8606803344 mdbx: adds paranoid mvcc-checks into read transactions.
Change-Id: I7f0f05010306b02b3b1ab8478217de70ffd211a0
2019-07-07 19:51:06 +03:00
Leonid Yuriev
41de36e93d mdbx: avoids infinite copy_file_range-loop when file is unexpectedly truncated.
Change-Id: I5a542a49fa4ac9ced8ca60266a084d52d3618804
2019-07-07 18:42:14 +03:00
Leonid Yuriev
30ac62ceec mdbx-test: add coredump status.
Change-Id: I9003a891744eb78d91a3e279e20efcb4c1ad736c
2019-07-07 02:33:39 +03:00
Leonid Yuriev
7e1e142104 mdbx-chk: fix/refine error handling for sub-DBs.
Change-Id: I42460793bbe47815add1b3f61f3746f671a749d9
2019-07-07 01:47:10 +03:00
Leonid Yuriev
e2f37908b9 mdbx: fix/refine error handling while DB-pages walking.
Change-Id: If910e96cc7c30577531aab24b5a9573e5fe9126d
2019-07-06 21:25:11 +03:00
Leonid Yuriev
6d4e151ba8 mdbx-test: fix comment typo (minor).
Change-Id: I7bd25ccfc52371c78f9011ccd45203e44e619142
2019-07-02 00:21:51 +03:00
Leonid Yuriev
40112ebd62 mdbx: engage copy_file_range() for env_copy_as_is.
Change-Id: I7ea17914d80500ffa70451b80920d726f0e9c2f8
2019-07-01 18:37:36 +03:00
Leonid Yuriev
6960c45e59 mdbx: avoids EFAULT "Bad address" while copy-as-is if DB is swapped-out from RAM.
Change-Id: I711efc1c54a04745bd561bc5e1db5e6f6d8b7115
2019-07-01 17:55:58 +03:00
Leonid Yuriev
2e60256978 mdbx: drop EPIPE/SIGPIPE handling (since pipes are disallowed).
Change-Id: I56d4539333edea93cc1a2c3606cf959c82b98b19
2019-07-01 16:39:18 +03:00
Leonid Yuriev
38110579ba mdbx: drops mdbx_write(), using mdbx_pwrite() instead of.
Change-Id: Iff3de2d5ef3fa2e92607d46b96d4526e464e593b
2019-07-01 16:39:18 +03:00
Leonid Yuriev
08c334c8bc mdbx-test: limit DB-size 3Gb for long_stochastic.
Change-Id: I52bc6cd4aea7a41d5b1bdabc2c8e4bd6e34a78a9
2019-06-27 10:53:35 +03:00
Leonid Yuriev
aaf49bb816 mdbx-test: don't fail on key-space overflow.
Change-Id: I22a8cb359849c4c02cd393047cb7ea33974607fd
2019-06-27 10:40:00 +03:00
Leonid Yuriev
fa3adb759a mdbx-test: reduce upper txn-volume inside long_stochastic. 2019-06-26 10:11:24 +03:00
Leonid Yuriev
834f6d0784 mdbx-test: fix iteration count.
Change-Id: Iaf19af417e54ee4ad968722c94d377dab29be149
2019-06-25 15:48:03 +03:00
Leonid Yuriev
41d8f65e1e mdbx-test: biggest case depending on the DB size inside long_stochastic.
Change-Id: Ia8c09dd6b4240d76de1356aa1eecaa884636086a
2019-06-25 14:26:57 +03:00
Leonid Yuriev
c9c985ae5d mdbx-test: more for --ignore-dbfull option.
Change-Id: I92c284edd889455eefefec12d3315b6f5d37cdc5
2019-06-24 02:55:26 +03:00
Leonid Yuriev
da99dcdb87 mdbx-test: long_stochastic.
Change-Id: I28248a8af9041dfa62388a3b4ded7e2a4fdc07a9
2019-06-24 02:14:50 +03:00
Leonid Yuriev
5b88fe819c mdbx: fix pwrite() for WRITE_MAX.
Change-Id: If4924d20c1e267c2d3a190c860b89fc2fda0d517
2019-06-24 02:14:50 +03:00
Leonid Yuriev
f627b33379 mdbx-test: fix dbsize-options handling.
Change-Id: Ia51f802ac1ad4e8b1b059a3f3b38214bda6b43fc
2019-06-24 02:14:50 +03:00
Leonid Yuriev
cf004dddbc mdbx: use single cursor instance inside mdbx_env_walk().
Change-Id: I72cade64468a42fd27ebb4955d71ecbbabe64987
2019-06-24 02:14:50 +03:00
Leonid Yuriev
2d5a3ebd8f mdbx-test: add --ignore-dbfull option (major).
Change-Id: I252f9c3679a371722a780913ba994ca3dee9b90a
2019-06-24 02:14:50 +03:00
Leonid Yuriev
728f98d3de mdbx-check: refine leaf-pages info (cosmetics).
Change-Id: I0fdb467f1c1d51bfcdcef5edfe99c8e9ad66037e
2019-06-23 14:26:11 +03:00
Leonid Yuriev
bbf8ef0a4b mdbx-chk: fix space-usage statistics info.
Change-Id: I0cbbbc481f2e6dc37b29f6603ec1ead43b5d1864
2019-06-23 14:07:13 +03:00
Leonid Yuriev
05cf301774 mdbx: bump version to v0.3.0
Change-Id: Ic09361eda834c75d4fdb37dcbe5e8edbf0317f9b
2019-06-22 22:23:25 +03:00
Leonid Yuriev
47beba1782 mdbx: more 'unlikely'.
Change-Id: I472e4a922590cd4680a48416611cfd894fa120db
2019-06-22 22:23:17 +03:00
Leonid Yuriev
e3f8dc5501 mdbx: rework RECLAIMING inside update_gc().
Change-Id: I9cf592476780bfdb346472baa12497d68a3d5aad
2019-06-22 22:23:17 +03:00
Leonid Yuriev
15403aadad mdbx-test: re-seed keygen over iterations.
Change-Id: I2cfd635fc46c808dd8431217b75a30780e0c3958
2019-06-22 22:23:17 +03:00
Leonid Yuriev
e6ad443178 mdbx-test: refine 'ttl' testcase.
Change-Id: Ic4d759cfa29496bd46fa50fef1e974847b52bb41
2019-06-22 13:16:54 +03:00
Leonid Yuriev
243b01dd63 mdbx-test: refine 'append' testcast (minor).
Change-Id: I79ea16046713a085e62e01eeb0978fc4e6766750
2019-06-22 13:16:54 +03:00
Leonid Yuriev
3fc610f860 mdbx-test: use common keygen-seed for ttl testcase.
Change-Id: I921fff0ee28df8a18b6a38801c275de3fa2563ab
2019-06-22 13:16:54 +03:00
Leonid Yuriev
bfa9fc25d6 mdbx-test: 5-repeats inside gc-test script. 2019-06-22 13:16:54 +03:00
Leonid Yuriev
2219802bca mdbx-test: more for ttl testcase.
Change-Id: I8a01963345a2e815ebb39a98939420b8edb53968
2019-06-22 02:00:52 +03:00
Leonid Yuriev
be0ec1d38d mdbx: fix GC corruption due deep recursive rebalance from update_gc().
Change-Id: I810250deb25cd625e737000282b434e3158ef8cc
2019-06-22 02:00:47 +03:00
Leonid Yuriev
9cf9d6eac2 mdbx-test: add ttl testcase.
Change-Id: Ia5d164fde250e959226a53c63fcaf024ffe965a2
2019-06-22 00:53:52 +03:00
Leonid Yuriev
eecec74e21 mdbx: more unlikely (minor).
Change-Id: Id6139473b3e6a7c3f099acc64db3180448294d0a
2019-06-21 02:11:28 +03:00
Leonid Yuriev
52bc4a7f41 mdbx-check: minor refine to avoid deeply recursion.
Change-Id: I67f83a232ef47899f43c242b7e6295de4d7ec909
2019-06-20 21:08:31 +03:00
Leonid Yuriev
49d0e872a1 mdbx: iterate & check before recursion inside mdbx_env_pgwalk().
Change-Id: I27058a33f6dece0c3f206283a42ff74e5727417f
2019-06-20 21:04:47 +03:00
Leonid Yuriev
c91cc85c1f mdbx-chk: log sub-DBs when verbose > 0 (cosmetic).
Change-Id: Ie73c0773929b51eb11fb02afe18bb01b59fb2612
2019-06-20 10:12:26 +03:00
Leonid Yuriev
86cfd86cda mdbx-test: support for repeat parameter.
Change-Id: I6de52cd21314935c123ac51537e1b893c39dd5ed
2019-06-20 02:41:22 +03:00
Leonid Yuriev
cd75c4f081 mdbx-chk: avoid continuing to check bad records.
Change-Id: I03b9d425c8413d6cacc1b67ed4a8253a10a9d603
2019-06-20 00:52:00 +03:00
Leonid Yuriev
2bea60a1a4 mdbx-chk: avoid infinite loop/recursion while checking corrupted DB.
Change-Id: I3edb053e4baedced8ce8e8cfa25f9851eaca35d1
2019-06-19 15:08:50 +03:00
Leonid Yuriev
c05702eacf mdbx: add MDBX_PGWALK-tags and refine pgwalk internals.
Change-Id: I1f4eb79463dc6eec3d94d43baab0b28ceefa8c03
2019-06-19 15:05:10 +03:00
Leonid Yuriev
ce0e5d67f5 mdbx-tools: avoid output NaN from mdbx_chk for empty tables.
Change-Id: Ie1ff87da3a5e5e124eac1dafd7d5b456f8bde6e3
2019-06-10 13:28:31 +03:00
Leonid Yuriev
48655b41fb mdbx-ci: switch to Xenial.
Change-Id: Ibb4e397d1d405add92c6252fd31080197efeb9a2
2019-05-28 21:23:49 +03:00
Leonid Yuriev
b443477869 mdbx: workaround for Coverity Scan.
Change-Id: I0e2d22bbbd38ac7978fb8879219ded79a5be1b0a
2019-05-28 21:19:54 +03:00
Leonid Yuriev
870c2a6f9c mdbx: symmetrical/invariant mdbx_estimate_range() for MDBX_EPSILON order.
Change-Id: Ida7e07d6429576c457bcd4d877a3c38c88dc2771
2019-05-26 00:59:35 +03:00