null
null
我今天也遇到了这个报错。我这边的case是能够稳定复现。 先说最后排查结论:**业务方在二方包里实现了TTL的 beforeExecute 和 afterExecute 方法,并在该方法里触发了addValue()和removeValue(),最终导致了ConcurrentModificationException异常的发生。** 以下是我的排查过程: 1. 观察错误堆栈,完全看不出来哪里触发的,具体错误堆栈如下: ```java Exception in thread "HXXBizProcessor-DEFAULT-12-thread-104" java.util.ConcurrentModificationException at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:806) at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:845) at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:843) at com.alibaba.ttl.TransmittableThreadLocal.doExecuteCallback(TransmittableThreadLocal.java:164) at com.alibaba.ttl.TransmittableThreadLocal.access$300(TransmittableThreadLocal.java:54) at com.alibaba.ttl.TransmittableThreadLocal$Transmitter.replay(TransmittableThreadLocal.java:328) at com.alibaba.ttl.TtlRunnable.run(TtlRunnable.java:49) at...
> 我今天也遇到了这个报错。我这边的case是能够稳定复现。 > > 先说最后排查结论:**业务方在二方包里实现了TTL的 beforeExecute 和 afterExecute 方法,并在该方法里触发了addValue()和removeValue(),最终导致了ConcurrentModificationException异常的发生。** > > 以下是我的排查过程: > > …… 跟 @zavakid 讨论了一种可能的检测方式: - 在调用 `beforeExecute` 和 `afterExecute` 之前,将对应`TTL实例`标记一个`in iterator` 的状态; - 然后在 `addValue` 和...
hi, bro, did u meet this situtation in issue #137 ? i saw u use a final value 0.5 to degrade the gradient. how about using another smooth dynamic number...