Release 4.8: Minor Change in Behavior of DB_MPOOLFILE->get

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.