diff --git a/broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFastFailure.java b/broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFastFailure.java index a5967a0f6b61f3e1f1170f7587a8bdcbd20b6ea1..0159d323fe1efb7e7dfbce76c8567827402acf07 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFastFailure.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFastFailure.java @@ -44,8 +44,10 @@ public class BrokerFastFailure { public static RequestTask castRunnable(final Runnable runnable) { try { - FutureTaskExt object = (FutureTaskExt) runnable; - return (RequestTask) object.getRunnable(); + if (runnable instanceof FutureTaskExt) { + FutureTaskExt object = (FutureTaskExt) runnable; + return (RequestTask) object.getRunnable(); + } } catch (Throwable e) { log.error(String.format("castRunnable exception, %s", runnable.getClass().getName()), e); }