4168 Commits

Author SHA1 Message Date
Hallvard Furuseth
8375bb0c8d lmdb: ITS#8021 doc - Don't mix MDB_WRITEMAP + non-WRITEMAP.
Change-Id: I99916dbac14cece91154977f2eaecd1604198806
2015-01-16 01:26:49 +03:00
Howard Chu
13b144dc5d ITS#8021 env_sync is invalid in RDONLY env
Change-Id: I2c9c8bcf4b28ea002cb5e4caa117396a82289924
2015-01-16 00:25:18 +03:00
Leo Yuriev
3fd4f9cce0 lmdb: rework workaround for potential ext3/ext4 corruption issue.
Reworked from branch 'mdb.master' origin OpenLDAP:
  8b6c425 2015-01-12 More cleanup for fdatasync hack
  ea89e3d 2015-01-11 Tweak conditionals for fdatasync hack
  462dc09 2015-01-08 fdatasync hack, again
  e86072a 2015-01-08 Revert "Note MDB_SAFE_FDATASYNC"
  293d6bb 2015-01-08 Note MDB_SAFE_FDATASYNC
  9585c01 2015-01-08 Simpler fdatasync hack
  0ef1e0b 2015-01-08 Revert "Fix prev commit for env_sync0"

Imported early while forking ReOpenLDAP:
  985bbbb 2014-12-21 Fix prev commit for env_sync0
  0018eeb 2014-12-18 Hack for potential ext3/ext4 corruption issue

Change-Id: I187fd320620b9ced2e3773cac96f281ff65f97d4
2015-01-16 00:24:31 +03:00
Leo Yuriev
f00d2cdef6 lmdb: MDB_LIFORECLAIM & MDB_COALESCE modes.
Reclaim FreeDB in LIFO order - this is a main feature.
Also aim to coalesce small FreeDFB records.

Change-Id: I76aa062ef59359616e5b697233ec47cbd14f43cd
2015-01-15 23:19:52 +03:00
Leo Yuriev
9eedc88441 lmdb: ITS#7974 oom-handler feature.
Change-Id: I2c56e003fa1e4abe934288581e4c52c80db27c08
2015-01-15 23:19:52 +03:00
Leo Yuriev
84ce8b4cd8 lmdb: properly sync meta-pages in mdb_sync_env().
Meta-pages may be updated during data-syncing in mdb_sync_env(),
in this case database would be inconsistent.

Check-and-retry if lead txn-id changed during flushing data in mdb_sync_env().

Change-Id: I806e6d3766d028dcd4e6b0591aabc718107056fb
2015-01-15 23:19:52 +03:00
Leo Yuriev
fcfe2b7042 lmdb: auto-sync with kbytes threshold (aka checkpoint by kbytes).
Change-Id: If29a3d70e775a65d832f578f0c3edd3ea41dcc67
2015-01-15 23:19:52 +03:00
Leo Yuriev
c9489da920 lmdb: lock meta-pages in writemap-mode to avoid unordered write.
Without locking the meta-pages may be writen by OS before data pages,
in this case database would be inconsistent.

Change-Id: I6a262709b0741d7b57cb68231c4ae1c62a10a743
2015-01-15 23:19:51 +03:00
Leo Yuriev
2df38ad58b lmdb: ITS#7974 get a lag of the reading for dreamcatcher.
Change-Id: I7fc93ce4fa851904521a58a225f04c65eca2d998
2015-01-15 23:19:51 +03:00
Leo Yuriev
7984f8817f lmdb: more usefull info from mdb_stat tool.
Change-Id: I64015952431aebabf792b912acd022a6ddc79903
2015-01-15 23:19:51 +03:00
Leo Yuriev
1b8398b413 lmdb: Use last page (off-by-one error).
Change-Id: Ie1fd90d1562ab8ea8e53701188e3a17495a697e1
2015-01-15 23:19:51 +03:00
Leo Yuriev
1b5de44e23 fix: uninitialized (warnings).
Change-Id: I0f5eab80546a602a616209c6b585605826a06371
2015-01-15 23:19:51 +03:00
Leo Yuriev
c1d30eeeda Cleanup trailing whitespaces.
Change-Id: If80cebd46dab67020a065eed27c5f91ffd6c2dbd
2015-01-15 22:06:04 +03:00
Leo Yuriev
37a8a96733 Merge branch 'mdb-master' at 2015-01-01. 2015-01-07 18:46:52 +03:00
Leo Yuriev
7a7639e5f1 Merge branch 'mdb-0.9' at 2015-01-01. 2015-01-07 18:35:19 +03:00
Leo Yuriev
83055127c1 OpenLDAP mdb.master at 985bbbbdd5d64e57f55249ffdeb7c08035b240b2 (2015-01-01). 2015-01-07 18:12:57 +03:00
Leo Yuriev
8431fb6372 OpenLDAP mdb.RE/0.9 at fe8b13f2251d49689b05876b86b3e10bb89993cd (2015-01-01). 2015-01-07 17:55:19 +03:00
Leo Yuriev
27a2bfaa10 OpenLDAP 2.4.40 2015-01-07 16:49:50 +03:00