@Nullable
private Transaction newTransaction() {
final boolean transactional = objectDb.getConfig().getTransactional();
if (transactional) {
TransactionConfig txConfig = new TransactionConfig();
txConfig.setReadUncommitted(true);
Optional<String> durability = configDB.get(OBJECT_DURABILITY_CONFIG_KEY);
if (!durability.isPresent()) {
durability = configDB.getGlobal(OBJECT_DURABILITY_CONFIG_KEY);
}
if ("safe".equals(durability.orNull())) {
txConfig.setDurability(Durability.COMMIT_SYNC);
} else {
txConfig.setDurability(Durability.COMMIT_WRITE_NO_SYNC);
}
Transaction transaction = env.beginTransaction(null, txConfig);
return transaction;
}
return null;