yangyi-12345 opened a new issue, #4020:
URL: https://github.com/apache/shenyu/issues/4020
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current Behavior
org.apache.shenyu.web.handler.GlobalErrorHandler[0;39m - [36mhandle error:
[e598e524-12] Resolved [IllegalStateException: Entry.next=null,
data[removeIndex]=null previous=null key=/auth/token/logout
value=MetaData{id='1567016732508962816', appName='auth', contextPath='null',
path='/auth/token/**', rpcType='http',
serviceName='com.base.auth.controller.TokenController', methodName='null',
parameterTypes='null', rpcExt='null', enabled=true} size=1 maxSize=1073741824
This should not occur if your keys are immutable, and you have used
synchronization properly.] for HTTP DELETE /auth/token/logout
[0;39mjava.lang.IllegalStateException: Entry.next=null,
data[removeIndex]=null previous=null key=/auth/token/logout
value=MetaData{id='1567016732508962816', appName='auth', contextPath='null',
path='/auth/token/**', rpcType='http',
serviceName='com.base.auth.controller.TokenController', methodName='null',
parameterTypes='null', rpcExt='null', enabled=true} size=1 maxSize=1073741824
This should not occur if your keys are immutable, and you have used
synchronization properly.
at
org.apache.commons.collections4.map.LRUMap.reuseMapping(LRUMap.java:384)
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
*__checkpoint ⇢
org.apache.shenyu.web.configuration.ErrorHandlerConfiguration$1
[DefaultWebFilterChain]
*__checkpoint ⇢ org.apache.shenyu.web.filter.FileSizeFilter
[DefaultWebFilterChain]
*__checkpoint ⇢ org.apache.shenyu.web.filter.CrossFilter
[DefaultWebFilterChain]
*__checkpoint ⇢ cn.dev33.satoken.reactor.filter.SaReactorFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.web.server.authorization.AuthorizationWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.web.server.authorization.ExceptionTranslationWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.web.server.authentication.logout.LogoutWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.web.server.savedrequest.ServerRequestCacheWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.web.server.context.SecurityContextServerWebExchangeWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.web.server.context.ReactorContextWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.web.server.header.HttpHeaderWriterWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.security.web.server.WebFilterChainProxy
[DefaultWebFilterChain]
*__checkpoint ⇢
org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter
[DefaultWebFilterChain]
*__checkpoint ⇢ HTTP DELETE "/auth/token/logout"
[ExceptionHandlingWebHandler]
Original Stack Trace:
at
org.apache.commons.collections4.map.LRUMap.reuseMapping(LRUMap.java:384)
at
org.apache.commons.collections4.map.LRUMap.addMapping(LRUMap.java:349)
at
org.apache.commons.collections4.map.AbstractHashedMap.put(AbstractHashedMap.java:289)
at
org.apache.shenyu.plugin.base.cache.MetaDataCache.initCache(MetaDataCache.java:149)
at
org.apache.shenyu.plugin.base.cache.MetaDataCache.lambda$obtain$2(MetaDataCache.java:134)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at
org.apache.shenyu.plugin.base.cache.MetaDataCache.obtain(MetaDataCache.java:124)
at
org.apache.shenyu.plugin.global.DefaultShenyuContextBuilder.buildData(DefaultShenyuContextBuilder.java:75)
at
org.apache.shenyu.plugin.global.DefaultShenyuContextBuilder.build(DefaultShenyuContextBuilder.java:60)
at
org.apache.shenyu.plugin.global.GlobalPlugin.execute(GlobalPlugin.java:47)
at
org.apache.shenyu.web.handler.ShenyuWebHandler$DefaultShenyuPluginChain.lambda$execute$0(ShenyuWebHandler.java:221)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
at
reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299)
at
reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:148)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
at
reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
at
reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:101)
at
reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at
reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:282)
at
reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:151)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
at
reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2398)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:110)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87)
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
at
reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:451)
at
reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:219)
at
reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
at
reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
at
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
at
reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
at
reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
at
reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:85)
at
reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400)
at
reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2194)
at
reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2068)
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
at
reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:102)
at
reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
at
reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
at
reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:608)
at
reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:588)
at
reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:465)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277)
at
reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:294)
at
reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:230)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
at
reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:371)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178)
at
reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
at
reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
at
reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onComplete(FluxDefaultIfEmpty.java:109)
at
reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at
reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at
reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
at
reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1817)
at
reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337)
at
reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354)
at
reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
at
reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180)
at
reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181)
at
reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
at
reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
at
java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
### Expected Behavior
I thought that there was no problem with metadata injection, but I checked
that the metadata of admin had interface information. I don't know what the
problem is. I can't solve it.


### Steps To Reproduce
1.ShenYu version(s):2.5.0
2.Enable the Sign Plugin configuration
3.Register the interface using http, and an error is reported when
calling:This should not occur if your keys are immutable, and you have used
synchronization properly.
### Environment
```markdown
ShenYu version(s): 2.5.0
```
### Debug logs
_No response_
### Anything else?
I use this method for interface injection

--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]