About commit


Working with a cleared cache

I'm working on trying to improve the performance of our database processing class and I'm attempting to keep the L1 cache within the PersistenceManager cleared in an effort to reduce its memory footprint. The code snippet below is part of a Callable task that is run repeatedly with a given list of commands. When I run the code as written I start getting the stack traces that are listed.  However, if I comment out the calls to makeTransactionalAll() and evictAll() everything works.... currentTransaction ( ) . commit ( ) ; } finally { ... com.objectdb.jpa.EMImpl.commit(EMImpl.java:274) at ...


JQL-Update Queries fails with activated L2-Cache

When using JQL-Update Queries it is basically not working without calling entityManager.clear() after a transaction commit. When the clear() method isn't called the entityManager will never return a container the updated Entities. Scenario 1: Disabled L2 Cache, updating elements using UPDATE-Query and fetching Entities afterwards from database. Expected result: Getting changed Entities from database - Actual result: No changes are visble. ... calling entityManager.clear() after a transaction commit. When the clear() method isn't called the entityManager will ...


object creation during pmf.getPersistenceManager()

Hi ... invocation is really huge, that causes OutOfMemory during commit (memory for jvm 1,4GB). The object network is small, it was read from ... at com.objectdb.jpa.EMImpl.commit(EMImpl.java:277)   br Tomasz ...


Inefficient memory usage with very large transactions

When a large transaction is committed, ObjectDB increases some internal structures, i.e. allocates more memory, but from that point the structures remain big and the memory is not released even if all the next transactions are small. This problem was found during a heap analysis (see #9 in this forum thread), and was fixed in build 2.4.3_02, but the fix was removed later in build 2.4.3_03 because it caused other problems (#10, #11 in that forum thread). Bug Version: 2.4.3 Priority: Normal Status: Fixed Replies: 1 Type:  Bug ...


Querys slower when execute a query after every persist

The test case of the java file attachment persists many entities and executes a query after every persist. The execution time amounts 2 sec when the test persists 1000 entities. The execution time amounts 100 sec when the test persists 10000 entities. We have been expected that the second case requires only 20 sec, but the test requires 100 sec. Why the querys will be more and more slower? In addition there are a cpu snapshot for visual vm and an image of cpu snapshot as attachment. ... entity classes are not enhanced every flush  or commit requires comparison of object states in order to find which objects in ...


Query for objects persisted within the same transaction

I have a question concerning reading uncommited entities with query, within active transaction. For example, I read data from file. Each line contains value of one of entity's attributes but those values are not unique, so it's possible to have a multiple instances of the same entity. To eliminate duplicates, after reading every line I first check using a query, if an entity with that attribute value already exists. If no - I create one and persist it.... to future queries in this transaction, unless I do commit. The ugly solution is to use some external list or map to check if given ...


Saving custom list which implements java.util.List fails

Hi, I'm evaluating ObjectDB for storing Objects modeled with Eclipse Modeling Framework (EMF) and encountered the following problem:   I took the Point-example from the tutorial and added a list-attribute which is declared as java.util.List but the actual Object MyList just extends ArrayList as shown below. ... 2.4.7_08] javax.persistence.RollbackException Failed to commit transaction: Attempt to store an instance of a non persistable type ... (error 613) at com.objectdb.jpa.EMImpl.commit(EMImpl.java:290) at tutorial.TestMyList.main(TestMyList.java:21) Caused ... com.objectdb.jpa.EMImpl.commit(EMImpl.java:287) ... 1 more   I thought this would ...



Thrown by the persistence provider when an optimistic locking conflict occurs.(Exception of JPA)



Make an instance non-transactional after commit.(Method of javax.jdo.PersistenceManager)


ClassCastException: cannot be cast to com.objectdb.spi.TrackableUserType

Hello, I have a class TherapeauticDrugScreenRqst with two other nested subclasses - all using Groovy. My first attempt to persist TherapeauticDrugScreenRqst to Objectdb 2.2.8 is successfully. However, although my method to store the method is shown below: ... ( instance ) transaction. commit ( ) } catch ( e ... com.objectdb.jpa.EMImpl.commit(EMImpl.java:274) at javax.jdo.Transaction$commit.call(Unknown Source) at ...