- final AbstractProxyTransaction newProxy = successor.createTransactionProxy(t.getIdentifier());
- LOG.debug("{} created successor transaction proxy {} for {}", identifier, newProxy, t);
- t.replaySuccessfulRequests(newProxy);
+ LOG.debug("{} creating successor transaction proxy for {}", identifier, t);
+ final AbstractProxyTransaction newProxy = successor.createTransactionProxy(t.getIdentifier(),
+ t.isSnapshotOnly());
+ LOG.debug("{} created successor transaction proxy {}", identifier, newProxy);
+ t.replayMessages(newProxy, previousEntries);
+ }
+
+ // Now look for any finalizing messages
+ it = previousEntries.iterator();
+ while (it.hasNext()) {
+ final ConnectionEntry e = it.next();
+ final Request<?, ?> req = e.getRequest();
+ if (identifier.equals(req.getTarget())) {
+ Verify.verify(req instanceof LocalHistoryRequest);
+ if (req instanceof DestroyLocalHistoryRequest) {
+ successor.connection.sendRequest(req, e.getCallback());
+ it.remove();
+ break;
+ }
+ }