]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/SessionRequestManager.java
Dispose ClientChangesImpl ChangeSets to minimize memory footprint
[simantics/platform.git] / bundles / org.simantics.db.procore / src / fi / vtt / simantics / procore / internal / SessionRequestManager.java
index 0ec6387ae941b0e9cb9c6358282c3b3849ff9d0d..5bdec52e99cfcb3cdb71010584250904e65ad9ac 100644 (file)
@@ -4,6 +4,7 @@ import java.io.IOException;
 import java.util.Collection;
 import java.util.LinkedList;
 
+import org.simantics.db.Disposable;
 import org.simantics.db.Resource;
 import org.simantics.db.common.utils.Logger;
 import org.simantics.db.exception.CancelTransactionException;
@@ -213,6 +214,7 @@ public class SessionRequestManager {
                        } else {
                            throw new UnsupportedOperationException("delayedWriteState may only exist when request fails.");
                        }
+                       Disposable.safeDispose(session.clientChanges);
                        session.clientChanges = new ClientChangesImpl(session);
                                        delayedState.finish();
                                        return;
@@ -242,6 +244,7 @@ public class SessionRequestManager {
 
                                }
 
+                               Disposable.safeDispose(session.clientChanges);
                                session.clientChanges = new ClientChangesImpl(session);
 
                                WriteState<?> state = session.writeState;