Getting `No such file or directory` error while trying to open bdb database
670223Nov 13 2008 — edited Dec 10 2008I have four multi-threaded processes (2 writer and 2 reader processes), which make use of Berkeley DB transactional data store. I have multiple environments and the associated database files and log files are located in separate directories (please refer to the DB_CONFIG below). When all these four processes start to perform open and close of databases in the environments very quickly, one of the reader process is throwing a No such file or directory error even though the file actually exists.
I am making use of Berkeley DB 4.7.25 for testing out these applications.
The four application names are as follows:
Writer 1
Writer 2
Reader 1
Reader 2
The application description is as follows:
‘*Writer 1*’ owns 8 environments and each environment having 123 Berkeley databases created using HASH access method. At any point of time, ‘*Writer 1*’ will be acting on 24 database files across 8 environments (3 database files per environment) for carrying out write operation. Where as reader process will be accessing all 123 database files / per environment (Total = 123 * 8 environments = 984 database files) for read activities. Similar configuration for Writer 2 as well – 8 separate environments and so on.
Writer 1, Reader 1 and Reader 2 processes share the environments created by Writer 1
Writer 2 and Reader 2 processes share the environments created by Writer 2
My DB_CONFIG file is configured as follows
set_cachesize 0 104857600 1 # 100 MB
set_lg_bsize 2097152 # 2 MB
set_data_dir ../../vol1/data/
set_lg_dir ../../vol31/logs/SUBID/
set_lk_max_locks 1500
set_lk_max_lockers 1500
set_lk_max_objects 1500
set_flags db_auto_commit
set_tx_max 200
mutex_set_increment 7500
Has anyone come across this problem before or is it something to do with the configuration?