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