-
现象
Operator called default onErrorDropped
java.lang.IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-epoll-2
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:77)
at reactor.core.publisher.Mono.block(Mono.java:1663)
at org.springframework.data.redis.connection.ReactiveRedisConnection.close(ReactiveRedisConnection.java:60)
at org.springframework.data.redis.core.script.DefaultReactiveScriptExecutor.lambda$execute$7(DefaultReactiveScriptExecutor.java:167)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.runFinally(FluxDoFinally.java:156)
- 原因
请求主动断开导致netty无法处理channel,报出异常,请求状态499,可以忽略。
- 处理方案
过滤该类错误日志,防止触发ERROR告警
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator>
<expression>return message.contains("Operator called default onErrorDropped");</expression>
</evaluator>
<OnMatch>DENY</OnMatch>
<OnMismatch>ACCEPT</OnMismatch>
</filter>
配置说明:logback过滤部分日志输出