Bug #78808 [Opn]: [LMDB] MDB_MAP_FULL: Environment mapsize limit reached
| From: | cmb@php.net | Date: | Wed, 13 Nov 2019 11:30:26 +0000 |
| Subject: | Bug #78808 [Opn]: [LMDB] MDB_MAP_FULL: Environment mapsize limit reached | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-223693@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=78808&edit=1
ID: 78808
Updated by: cmb@php.net
Reported by: progr-d at yandex dot ru
Summary: [LMDB] MDB_MAP_FULL: Environment mapsize limit
reached
Status: Open
Type: Bug
Package: DBM/DBA related
Operating System: macOS 10.13.6
PHP Version: 7.3.11
Block user comment: N
Private report: N
New Comment:
From the docs[1]:
| Default size of memory map. This is certainly too small for any
| actual applications. Apps should always set the size explicitly
| using mdb_env_set_mapsize().
So yes, there likely should be some dba_open() argument to allow
for a custom map size.
[1] <http://www.lmdb.tech/doc/group__internal.html#gac08cad5b096925642ca359a6d6f0562a>
Previous Comments:
------------------------------------------------------------------------
[2019-11-13 10:21:18] progr-d at yandex dot ru
Description:
------------
Presently php not provide any way to change
mapsize for lmdb databases and they limited
by size.
How can I fix this? Now, probably, I can only recompile the lmdb library...
PS: build php in macos with lmdb support: https://gist.github.com/saippuakauppias/fac2a33dfe420adb4a6cf19c257eef46
Test script:
---------------
<?php
$lmdb_h = dba_open('test.db', 'c', 'lmdb');
for ($i = 0; $i < 50000; $i++) {
dba_insert('key' . $i, 'value '. $i, $lmdb_h);
}
dba_close($lmdb_h);
Actual result:
--------------
â php prefill_lmdb.php
PHP Warning: dba_insert(key18505,value 18505): MDB_MAP_FULL: Environment mapsize limit reached in
/Users/usr/prefill_lmdb.php on line 6
Warning: dba_insert(key18505,value 18505): MDB_MAP_FULL: Environment mapsize limit reached in
/Users/usr/prefill_lmdb.php on line 6
[1] 42370 segmentation fault php prefill_lmdb.php
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78808&edit=1