transaction = (Transaction) handle.getKeyLock();
valueEntry.setData(StoreBinaryFormat.toByteArray(handle.getValues()));
OperationStatus status = getBdbDatabase().put(transaction, keyEntry, valueEntry);
if(status != OperationStatus.SUCCESS)
throw new PersistenceFailureException("putAndUnlock operation failed with status: "
+ status);
succeeded = true;
} catch(DatabaseException e) {
this.bdbEnvironmentStats.reportException(e);
logger.error("Error in putAndUnlock for store " + this.getName(), e);
throw new PersistenceFailureException(e);
} finally {
if(succeeded)
attemptCommit(transaction);
else
attemptAbort(transaction);