[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: MDB_PAGE_FULL



Hi,

I am using lmdb to implement a graph db via java JNI.
Initial results are amazing.

Anyhow I am having trouble with deletions.

I am getting MDB_PAGE_FULL when trying to delete.

A simplified version of the code is as follows.


    //set the key
    ...

while ((rc = mdb_cursor_get(vertexCursor, &key, &data, MDB_SET_RANGE)) == 0) {

                rc = mdb_cursor_del(vertexCursor, 0);
                if (rc != 0) {
                    printf("removeVertex 4 %i\n", rc);
                    goto fail;
                }

                //set the key
                ...
    }

The mdb_cursor_del returns a error code -30786 (MDB_PAGE_FULL) on about the 38th loop.

if there are very few entries then the exception does not happen.
Is there something obvious that I am doing wrong to cause a MDB_PAGE_FULL exception?

Thanks
Pieter