Vladislav Pyatkov created IGNITE-22597: ------------------------------------------
Summary: Exception trace id is not propagated from RAFT listener Key: IGNITE-22597 URL: https://issues.apache.org/jira/browse/IGNITE-22597 Project: Ignite Issue Type: Bug Reporter: Vladislav Pyatkov Attachments: error_log.txt h3. Motivation The trace id is generated at the place where the original exception was created and should be propogated to other derevatives. Right now, we send only an exception message and class name to the RAFT listener response. {code:java} private void sendSMError(RpcContext ctx, Throwable th, boolean compacted) { RpcRequests.SMErrorResponse resp = factory.sMErrorResponse() .error(compacted ? new SMCompactedThrowable(th) : new SMFullThrowable(th)) .build(); ctx.sendResponse(resp); LOG.info("Error occurred on a user's state machine", th); } {code} Hence, we cannot restore the trace id and create an exception with a new trace id: {code:java} Throwable restoredTh = (Throwable) Class.forName(compactedThrowable.throwableClassName()) .getConstructor(String.class) .newInstance(compactedThrowable.throwableMessage()); fut.completeExceptionally(restoredTh); {code} h3 Definition of done * Both attached logs should be logged with the same trace id. * Massage in the RAFT listener should be logged in error (or warning) level. -- This message was sent by Atlassian Jira (v8.20.10#820010)