Debugging Coherence C# Extend Client Stacktraces
Older versions of the Coherence .NET Extend client could swallow exceptions thrown on the server side, returning only a generic RuntimeException
without a stack trace. Diagnosing production incidents becomes painful when you cannot see the failing class or cache operation.
Quick Diagnostics
- Enable
logging-config
on both client and proxy services to capture detailed error output. - Set the client configuration property
remote-addresses/tcp-initiator/@connect-timeout
to a sensible value so retries do not obscure the original exception. - Mirror the proxy JVM log level (
-Dcoherence.log.level=5
) while reproducing the issue locally.
Restoring Useful Stacktraces
- Review Oracle Coherence release notes—newer 3.x/12c builds improved extend-client stacktrace propagation considerably.
- If upgrading is not possible, wrap remote invocations with explicit exception serialisation (e.g., convert to
PortableException
and send via custom message). - Capture server-side
InvocationService
orEntryProcessor
exceptions withtry/catch
blocks and log them before rethrowing.