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;
} else {
throw new UnsupportedOperationException("delayedWriteState may only exist when request fails.");
}
+ Disposable.safeDispose(session.clientChanges);
session.clientChanges = new ClientChangesImpl(session);
delayedState.finish();
return;
if(!session.state.isAlive()) return;
WriteState<?> writeState = session.writeState;
+
+ assert(writeState != null);
+
WriteGraphImpl graph = writeState.getGraph();
if(writeState.isExcepted()) {
}
+ Disposable.safeDispose(session.clientChanges);
session.clientChanges = new ClientChangesImpl(session);
WriteState<?> state = session.writeState;
} else {
- throw new IllegalStateException("State in ceased should be WRITE or READ or INIT (was " + state + ")");
+ // Spurious wakeup
+
+ //throw new IllegalStateException("State in ceased should be WRITE or READ or INIT (was " + state + ")");
}
boolean inUpdate = state == State.WRITE_UPDATE;
+ //System.err.println("schedule write " + task);
+
assert(State.INIT != state);
//task.combine = combine != null ? combine : inUpdate;
if(State.IDLE == state) {