LeapArray#currentWindow resetWindowTo 是否需要double check?
描述

个人理解,会不会多个线程同时满足 windowStart > old.windowStart(),并且一个线程先获取了锁,执行完了 resetWindowTo 并释放锁。此时另一个线程又获得了锁,又执行了一次 resetWindowTo
版本
1.8.0 并且看了下master分支代码也是这样的
我们在使用的过程中定位了一个问题,我们有一个应用也没多少QPS,但在某种情况下CPU被耗尽了,用火焰图工具发现全部都在Thread.yield()这里。(但被触发监控到的次数不多,但让使用者很不爽,说是Sentinel影响到了他们系统就不用了)
但神奇的是很多系统的QPS都很大,但是没有发现这种问题。
期望作者能讨论一下这个类的实现,是否在多线程竞争的情况下有某个点导致的。
@cookiejoo 帮忙补一下相关的火焰图或其它性能数据,上面的图没有传上来

@cookiejoo 你好,我们现在也遇到了这个cpu冲高的问题,对于这个问题你们有定位原因或者解决方案吗
请问你们解决这个问题了吗?我们现在也遇到了这种问题
没啊,暂时搞不定
大佬现在找到原因了吗?
同遇到,10个pod,一个pod cpu直接打满,摘掉流量也无法恢复。