Our project is using an in-memory database to store session information about currently connected clients.
Every 1-2 days we get into a state where most transactions are failing with DB_SECONDARY_BAD. Restarting our server fixes the problem (Presumably because the in memory database has gone away).
Berkeley DB version is 5.2.36
These are BTREE databases.
We don't modify these databases when they are not associated.
The secondary key function doesn't return inconsistent keys for a given primary key/data pair.
All writes to the session database use a transaction with at least DB_READ_COMMITED isolation level.
We have some reads to this table that do not use any transactions.
Because we don't want the in-memory session table to be replicated, we are using DB_TXN_NOT_DURABLE flag on the in-memory databases. Is there any problem with this?
The database currently does 30 transactions per second on average. When the database is at higher load, it happens much more frequently (several times a day when 150 transactions per second on average).
Any help on this issue would be highly appreciated.