DB 4.8 introduces some performance enhancements, based on the use
of shared/exclusive latches instead of locks in some areas of the
internal buffer management code. This change will affect how the
DB_MPOOL interface handles dirty buffers.
Because of these
changes, DB_MPOOLFILE->get will now
acquire an exclusive latch on the buffer if
the DB_MPOOL_DIRTY
or DB_MPOOL_EDIT flags are specified. This
could lead to an application deadlock if the application tries to
fetch the buffer again, without an
intervening DB_MPOOLFILE->put call.
If your application uses the DB_MPOOL
interface, and especially the DB_MPOOL_DIRTY
and DB_MPOOL_EDIT flags, you should review your
code to ensure that this behavior change does not cause your
application to deadlock.