Problems "Dbc::Get: Not enough space" with addIndex

"Peter Arwanitis" <[email protected]> Tue, 11 May 2004 13:18:41 +0200 (MEST)
Newsgroups gmane.comp.web.syncato.general
Message-ID <[email protected]>
crosspost from '[email protected]'

Hello,

I've encountered some serious problem using dbxml / berkley-db and need some
advice!

I'm running into an error during addIndex and I cannot handle the error
message.

With about half the items, indexing have no problems at all and
it speeds up my application by the factor of about 500...

reading through a ton of docs, mailings and news, I have the confirmation,
that there is nothing special at my testcase.

DBXML is build exactly for this purpose (lots of small files with indexing).

So a dummy-error must remain... but it is invisible to me

my tested environments / source / traceback / dbxml-state / optional
DB_CONFIG
are appended.

Thanks
Peter
(=PA=)

P.S.: set_verbose has no effects for me, and through python I see no way to
make a set_errfile.
P.S.S: I've learned all my dbxml-knowhow from syncato 0.7 :), indexing is
exactly the one found in 'DBXMLDatabase.py'...
P.S.S.S: If someone needs the binaries, please let me know!



--------test environment----------
tested with:
    windows2000 / python222 / bsddb3-4.1.6
    dbxml1.1.0 self compiled with -> db-4.1.25 / xerces 2_2_0 / Pathan 1_2_2
    
    and
    
    windows2000 / python222
    bsddb3 and dbxml1.2.2 self compiled with -> db-4.2.25 / xerces 2_4_0 /
Pathan 1_2_2
    

-------source-----------
from bsddb3.db import *
from dbxml import *

env =
DBEnv()
env.open(r'c:\mXMLDB\data\xmlbase-data',
DB_CREATE|DB_INIT_LOCK|DB_INIT_LOG|DB_INIT_MPOOL|DB_INIT_TXN|DB_THREAD|DB_RECOVER,
0)
txn = env.txn_begin()
db = XmlContainer(env, "dbase.dbxml")
db.open(txn, DB_CREATE)

db.addIndex(txn, "", "id", "node-attribute-equality-number")
...

-------traceback---------
>>> db.addIndex(txn, "", "id", "node-attribute-equality-number")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "C:\mFramework\mStar\site-packages\dbxml.py", line 75, in addIndex
    def addIndex(*args): return apply(_dbxml.XmlContainer_addIndex,args)
RuntimeError: Error: Dbc::get: Not enough space

-------what's in dbxml?--------
dbase.dbxml -> filesize 196MB
xml-items   -> count ca. 46000
xml-items   -> avg size 3kb

-------same traceback with following DB_CONFIG file-----
set_cachesize 0 300000000 10
set_lg_regionmax 262144
set_lg_bsize 2097152


set_flags DB_TXN_WRITE_NOSYNC

set_verbose DB_VERB_CHKPOINT
set_verbose DB_VERB_DEADLOCK
set_verbose DB_VERB_RECOVERY
set_verbose DB_VERB_WAITSFOR
_______________________________________________________



-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to 
deliver higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3