public void set_lk_max_objects(int max)
Set the maximum number of simultaneously locked objects supported by
the Berkeley DB lock subsystem. This value is used by DbEnv.open to
estimate how much space to allocate for various lock-table data
structures. The default value is 1000 objects. For specific
information on configuring the size of the lock subsystem, see
Configuring locking: sizing the
The DbEnv.set_lk_max_objects method configures a database environment, not only operations
performed using the specified DbEnv handle.
The DbEnv.set_lk_max_objects interface may not be called after the DbEnv.open
interface is called.
If the database environment already exists when
DbEnv.open is called, the information specified to DbEnv.set_lk_max_objects
will be ignored.
The DbEnv.set_lk_max_objects method throws an exception that encapsulates a non-zero error value on
The database environment's maximum number of objects may also be set using the environment's
DB_CONFIG file. The syntax of the entry in that file is a
single line with the string "set_lk_max_objects", one or more whitespace characters,
and the number of objects. Because the DB_CONFIG file is read when the database
environment is opened, it will silently overrule configuration done
before that time.
The DbEnv.set_lk_max_objects method may fail and throw an exception encapsulating a non-zero error for the following conditions:
- An invalid flag value or parameter was specified.
Called after DbEnv.open was called.
The DbEnv.set_lk_max_objects method may fail and throw an exception for errors specified for other Berkeley DB and C library or system methods.
If a catastrophic error has occurred, the DbEnv.set_lk_max_objects method may fail and
throw a DbRunRecoveryException,
in which case all subsequent Berkeley DB calls will fail in the same way.
Locking Subsystem and Related Methods
Copyright Sleepycat Software