- 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
+ for (ConnectionEntry e : previousEntries) {
+ final Request<?, ?> req = e.getRequest();
+ if (identifier.equals(req.getTarget())) {
+ Verify.verify(req instanceof LocalHistoryRequest);
+ successor.connection.sendRequest(req, e.getCallback());
+ }