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

Re: MDB_PAGE_FULL



Pieter Martin wrote:
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.

Sounds like ITS#7756, you should try with git rev b77689f97572980d5de729e2fe6d8a5e6e9d6218


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





--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/