https://bugs.openldap.org/show_bug.cgi?id=9496

          Issue ID: 9496
           Summary: Some writes missing from database
           Product: LMDB
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: ---
         Component: liblmdb
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

With the attached test program, some of my database writes appear not to
actually be written to the database. For example, a run may look like this:

$ ./run.sh
All done.
All finished
1802 test.txt
foo_200 is missing
bar_200 is missing
foo_404 is missing
bar_404 is missing
foo_407 is missing
bar_407 is missing

The script that I am using to run the program is below. This is using
mdb.master 52bc29ee2efccf09c650598635cd42a50b6ecffe on Linux, with an ext4
filesystem.

Is this an LMDB bug, or is there a bug in my code?


Thanks
Ian



#!/bin/sh

set -e

if ! [ -d lmdb ]
then
    rm -rf lmdb
    git clone https://github.com/LMDB/lmdb.git
    INSTALL_DIR="`pwd`/inst"
    cd lmdb/libraries/liblmdb
    make install prefix="$INSTALL_DIR"
    cd ../../..
fi

gcc -Wall -Werror -Iinst/include loop.c inst/lib/liblmdb.a -o loop -pthread
rm -f test.db test.db-lock
./loop
echo "All finished"
mdb_dump -np test.db > test.txt
wc -l test.txt
for i in `seq 100 999`
do
    if ! grep -q "foo_$i" test.txt
    then
        echo "foo_$i is missing"
    fi
    if ! grep -q "bar_$i" test.txt
    then
        echo "bar_$i is missing"
    fi
done

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to