Testing has shown that we have a gap in request handling and we
have a lot of unclosed transactions. Add logging of code paths
which trigger unsupported request.
Change-Id: I013ba8a141d5a1a9e311a8bca7842ac77064d277
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
import org.opendaylight.controller.cluster.access.concepts.RequestException;
import org.opendaylight.controller.cluster.access.concepts.UnsupportedRequestException;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.controller.cluster.access.concepts.RequestException;
import org.opendaylight.controller.cluster.access.concepts.UnsupportedRequestException;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Read-only frontend transaction state as observed by the shard leader.
/**
* Read-only frontend transaction state as observed by the shard leader.
*/
@NotThreadSafe
final class FrontendReadOnlyTransaction extends FrontendTransaction {
*/
@NotThreadSafe
final class FrontendReadOnlyTransaction extends FrontendTransaction {
+ private static final Logger LOG = LoggerFactory.getLogger(FrontendReadOnlyTransaction.class);
+
private final ReadOnlyShardDataTreeTransaction openTransaction;
private FrontendReadOnlyTransaction(final AbstractFrontendHistory history,
private final ReadOnlyShardDataTreeTransaction openTransaction;
private FrontendReadOnlyTransaction(final AbstractFrontendHistory history,
handleTransactionAbort((TransactionAbortRequest) request, envelope, now);
return null;
} else {
handleTransactionAbort((TransactionAbortRequest) request, envelope, now);
return null;
} else {
+ LOG.warn("Rejecting unsupported request {}", request);
throw new UnsupportedRequestException(request);
}
}
throw new UnsupportedRequestException(request);
}
}
handleTransactionAbort((TransactionAbortRequest) request, envelope, now);
return null;
} else {
handleTransactionAbort((TransactionAbortRequest) request, envelope, now);
return null;
} else {
+ LOG.warn("Rejecting unsupported request {}", request);
throw new UnsupportedRequestException(request);
}
}
throw new UnsupportedRequestException(request);
}
}
coordinatedCommit(envelope, now);
return null;
default:
coordinatedCommit(envelope, now);
return null;
default:
+ LOG.warn("{}: rejecting unsupported protocol {}", history().persistenceId(), maybeProto.get());
throw new UnsupportedRequestException(request);
}
}
throw new UnsupportedRequestException(request);
}
}
} else if (request instanceof PurgeLocalHistoryRequest) {
return handlePurgeHistory((PurgeLocalHistoryRequest)request, envelope, now);
} else {
} else if (request instanceof PurgeLocalHistoryRequest) {
return handlePurgeHistory((PurgeLocalHistoryRequest)request, envelope, now);
} else {
+ LOG.warn("{}: rejecting unsupported request {}", persistenceId, request);
throw new UnsupportedRequestException(request);
}
} finally {
throw new UnsupportedRequestException(request);
}
} finally {
final ClientIdentifier clientId = lhReq.getTarget().getClientId();
return getFrontend(clientId).handleLocalHistoryRequest(lhReq, envelope, now);
} else {
final ClientIdentifier clientId = lhReq.getTarget().getClientId();
return getFrontend(clientId).handleLocalHistoryRequest(lhReq, envelope, now);
} else {
- LOG.debug("{}: rejecting unsupported request {}", persistenceId(), request);
+ LOG.warn("{}: rejecting unsupported request {}", persistenceId(), request);
throw new UnsupportedRequestException(request);
}
}
throw new UnsupportedRequestException(request);
}
}