Hi. According the docs, "Every transaction commit is first written to the recovery file and then to the database". During my testing, every time I make a transaction the recovery file keeps growing, but the actual odb file never changes unless I restart the server. The <transaction-id>.odr, also stays at the same number even after 100 transactions.
I don't use embedded server by the way, using latest version of Objectdb. All my transactions go through this, where func.apply(em) will do stuff like persist, delete, etc. I only have 1 instance of emf.
private <T> T doTransaction(Function<EntityManager,T> func) {
EntityManager em = emf.createEntityManager();
try {
em.getTransaction().begin();
T t = func.apply(em);
em.getTransaction().commit();
return t;
}finally {
em.close();
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
}
}