halo-dev / halo

强大易用的开源建站工具。
https://www.halo.run
GNU General Public License v3.0
33.93k stars 9.68k forks source link

Failed to update table [extensions]; Version does not match for row with Id #5317

Closed zhaohaoyun closed 9 months ago

zhaohaoyun commented 9 months ago

系统信息

2.12.1

使用的哪种方式运行?

Docker

在线站点地址

No response

发生了什么?

每次安装插件时都会有日志报错,但是插件提示安装成功

相关日志输出

2024-02-03T16:16:15.338+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginMoments
2024-02-03T16:16:15.487+08:00 ERROR 7 --- [tor-tcp-epoll-5] a.w.r.e.AbstractErrorWebExceptionHandler : [cc6edb0e-131]  500 Server Error for HTTP PUT "/apis/plugin.halo.run/v1alpha1/plugins/PluginMoments"
org.springframework.dao.OptimisticLockingFailureException: Failed to update table [extensions]; Version does not match for row with Id [/registry/plugin.halo.run/plugins/PluginMoments]
        at org.springframework.data.r2dbc.core.R2dbcEntityTemplate.lambda$doUpdate$12(R2dbcEntityTemplate.java:637) ~[spring-data-r2dbc-3.2.2.jar:3.2.2]
        Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
        *__checkpoint ⇢ run.halo.app.security.InitializeRedirectionWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ run.halo.app.security.authentication.login.UsernamePasswordAuthenticator [DefaultWebFilterChain]
        *__checkpoint ⇢ AuthorizationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ ExceptionTranslationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ LogoutWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ ServerRequestCacheWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ LogoutPageGeneratingWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ AnonymousAuthenticationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ TotpAuthenticationFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ ReactorContextWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ CsrfWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ CorsWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ HttpHeaderWriterWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ OrderedWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
        *__checkpoint ⇢ HTTP PUT "/apis/plugin.halo.run/v1alpha1/plugins/PluginMoments" [ExceptionHandlingWebHandler]
Original Stack Trace:
                at org.springframework.data.r2dbc.core.R2dbcEntityTemplate.lambda$doUpdate$12(R2dbcEntityTemplate.java:637) ~[spring-data-r2dbc-3.2.2.jar:3.2.2]
                at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:113) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoUsingWhen$MonoUsingWhenSubscriber.deferredComplete(MonoUsingWhen.java:268) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxUsingWhen$CommitInner.onComplete(FluxUsingWhen.java:532) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2231) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:89) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterConditionalSubscriber.onComplete(FluxFilter.java:300) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapConditionalSubscriber.request(FluxMap.java:295) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterConditionalSubscriber.request(FluxFilter.java:321) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterSubscriber.request(FluxFilter.java:186) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:164) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onSubscribe(MonoIgnoreElements.java:72) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:92) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterSubscriber.onSubscribe(FluxFilter.java:85) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterConditionalSubscriber.onSubscribe(FluxFilter.java:219) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onSubscribe(FluxMap.java:194) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.Mono.subscribe(Mono.java:4512) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.onComplete(FluxUsingWhen.java:389) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2098) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onComplete(MonoStreamCollector.java:159) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:469) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.checkTerminated(FluxWindowPredicate.java:540) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.drainLoop(FluxWindowPredicate.java:488) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.drain(FluxWindowPredicate.java:432) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.onComplete(FluxWindowPredicate.java:312) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:261) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:126) ~[reactor-core-3.6.2.jar:3.6.2]
                at io.asyncer.r2dbc.mysql.internal.util.DiscardOnCancelSubscriber.onComplete(DiscardOnCancelSubscriber.java:84) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxHandle$HandleConditionalSubscriber.onNext(FluxHandle.java:359) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onNext(FluxPeekFuseable.java:854) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.SinkManyEmitterProcessor.tryEmitNext(SinkManyEmitterProcessor.java:273) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.SinkManySerialized.tryEmitNext(SinkManySerialized.java:100) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:27) ~[reactor-core-3.6.2.jar:3.6.2]
                at io.asyncer.r2dbc.mysql.client.ReactorNettyClient$ResponseSink.next(ReactorNettyClient.java:383) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.lambda$new$0(ReactorNettyClient.java:121) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:185) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:294) ~[reactor-netty-core-1.1.15.jar:1.1.15]
                at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:403) ~[reactor-netty-core-1.1.15.jar:1.1.15]
                at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:426) ~[reactor-netty-core-1.1.15.jar:1.1.15]
                at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) ~[reactor-netty-core-1.1.15.jar:1.1.15]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.asyncer.r2dbc.mysql.client.MessageDuplexCodec.handleDecoded(MessageDuplexCodec.java:162) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at io.asyncer.r2dbc.mysql.client.MessageDuplexCodec.channelRead(MessageDuplexCodec.java:73) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1475) ~[netty-handler-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1338) ~[netty-handler-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1387) ~[netty-handler-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[netty-transport-classes-epoll-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509) ~[netty-transport-classes-epoll-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407) ~[netty-transport-classes-epoll-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.105.Final.jar:4.1.105.Final]
                at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
2024-02-03T16:16:15.554+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginMoments
2024-02-03T16:16:15.573+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized setting plugin-moments-settings for plugin PluginMoments
2024-02-03T16:16:15.586+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized config map plugin-moments-configmap for plugin PluginMoments
2024-02-03T16:16:15.616+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginMoments
2024-02-03T16:16:15.619+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginMoments
2024-02-03T16:16:16.699+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginMoments
2024-02-03T16:16:16.748+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized setting plugin-moments-settings for plugin PluginMoments
2024-02-03T16:16:16.770+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized config map plugin-moments-configmap for plugin PluginMoments
2024-02-03T16:16:16.796+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginMoments
2024-02-03T16:16:16.799+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginMoments
2024-02-03T16:16:37.043+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginMoments
2024-02-03T16:16:37.064+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized setting plugin-moments-settings for plugin PluginMoments
2024-02-03T16:16:37.077+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized config map plugin-moments-configmap for plugin PluginMoments
2024-02-03T16:16:37.094+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginMoments
2024-02-03T16:16:37.095+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginMoments
2024-02-03T16:16:37.100+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Enabled plugin 'PluginMoments@1.4.0'
2024-02-03T16:16:37.101+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Start plugin 'PluginMoments@1.4.0'
2024-02-03T16:16:37.196+08:00  INFO 7 --- [nReconciler-t-1] run.halo.app.plugin.BasePlugin           : Initialized plugin PluginMoments
2024-02-03T16:16:37.428+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.e.index.IndexerFactoryImpl         : Start building index for type: /registry/moment.halo.run/moments, please wait...
2024-02-03T16:16:37.429+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.e.index.IndexerFactoryImpl         : Index for type: /registry/moment.halo.run/moments built successfully, cost 2 ms
2024-02-03T16:16:37.451+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Starting controller run.halo.moments.TagMomentIndexer
2024-02-03T16:16:37.461+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Starting controller run.halo.moments.MomentReconciler
2024-02-03T16:16:37.462+08:00  INFO 7 --- [mentIndexer-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.moments.TagMomentIndexer-worker-1 started
2024-02-03T16:16:37.464+08:00  INFO 7 --- [mentIndexer-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(moment.halo.run/v1alpha1/Moment) synchronizer...
2024-02-03T16:16:37.466+08:00  INFO 7 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.moments.MomentReconciler-worker-1 started
2024-02-03T16:16:37.469+08:00  INFO 7 --- [tReconciler-t-4] r.h.a.e.controller.DefaultController     : Controller worker run.halo.moments.MomentReconciler-worker-4 started
2024-02-03T16:16:37.469+08:00  INFO 7 --- [tReconciler-t-5] r.h.a.e.controller.DefaultController     : Controller worker run.halo.moments.MomentReconciler-worker-5 started
2024-02-03T16:16:37.466+08:00  INFO 7 --- [tReconciler-t-2] r.h.a.e.controller.DefaultController     : Controller worker run.halo.moments.MomentReconciler-worker-2 started
2024-02-03T16:16:37.468+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Starting controller run.halo.moments.CommentReconciler
2024-02-03T16:16:37.470+08:00  INFO 7 --- [tReconciler-t-3] r.h.a.e.controller.DefaultController     : Controller worker run.halo.moments.MomentReconciler-worker-3 started
2024-02-03T16:16:37.470+08:00  INFO 7 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(moment.halo.run/v1alpha1/Moment) synchronizer...
2024-02-03T16:16:37.472+08:00  INFO 7 --- [tReconciler-t-4] r.h.a.e.controller.RequestSynchronizer   : Starting request(moment.halo.run/v1alpha1/Moment) synchronizer...
2024-02-03T16:16:37.472+08:00  INFO 7 --- [mentIndexer-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(moment.halo.run/v1alpha1/Moment) synchronizer.
2024-02-03T16:16:37.474+08:00  INFO 7 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(moment.halo.run/v1alpha1/Moment) synchronizer.
2024-02-03T16:16:37.476+08:00  INFO 7 --- [tReconciler-t-4] r.h.a.e.controller.RequestSynchronizer   : Started request(moment.halo.run/v1alpha1/Moment) synchronizer.
2024-02-03T16:16:37.479+08:00  INFO 7 --- [tReconciler-t-1] r.h.a.e.controller.DefaultController     : Controller worker run.halo.moments.CommentReconciler-worker-1 started
2024-02-03T16:16:37.480+08:00  INFO 7 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Starting request(content.halo.run/v1alpha1/Comment) synchronizer...
2024-02-03T16:16:37.485+08:00  INFO 7 --- [tReconciler-t-1] r.h.a.e.controller.RequestSynchronizer   : Started request(content.halo.run/v1alpha1/Comment) synchronizer.
2024-02-03T16:18:22.440+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginMigrate
2024-02-03T16:18:22.462+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginMigrate
2024-02-03T16:18:22.464+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginMigrate
2024-02-03T16:18:22.466+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Stop plugin 'PluginMigrate@1.3.0'
2024-02-03T16:18:23.388+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Disabled plugin 'PluginMigrate@1.3.0'
2024-02-03T16:18:32.843+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Deleting reverse proxy PluginMigrate-system-generated-reverse-proxy for plugin PluginMigrate
2024-02-03T16:18:32.876+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Deleting reverse proxy PluginMigrate-system-generated-reverse-proxy for plugin PluginMigrate
2024-02-03T16:18:32.893+08:00  WARN 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Optimistic locking failure when reconciling request: run.halo.app.core.extension.reconciler.PluginReconciler-worker-1/Request[name=PluginMigrate]
2024-02-03T16:18:32.922+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Deleting reverse proxy PluginMigrate-system-generated-reverse-proxy for plugin PluginMigrate
2024-02-03T16:18:33.000+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Deleting reverse proxy PluginMigrate-system-generated-reverse-proxy for plugin PluginMigrate
2024-02-03T16:18:33.104+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Deleting reverse proxy PluginMigrate-system-generated-reverse-proxy for plugin PluginMigrate
2024-02-03T16:18:33.296+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Deleting reverse proxy PluginMigrate-system-generated-reverse-proxy for plugin PluginMigrate
2024-02-03T16:18:33.639+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Deleting reverse proxy PluginMigrate-system-generated-reverse-proxy for plugin PluginMigrate
2024-02-03T16:18:33.643+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Deleting plugin PluginMigrate in plugin manager.
2024-02-03T16:18:33.645+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Unload plugin 'PluginMigrate@1.3.0'
2024-02-03T16:18:45.062+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Loading plugin PluginMigrate
2024-02-03T16:18:45.078+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Plugin '/root/.halo2/plugins/PluginMigrate-1.3.0.jar' is disabled
2024-02-03T16:18:45.082+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Plugin 'PluginMigrate@1.3.0' resolved
2024-02-03T16:18:45.086+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Loaded plugin PluginMigrate
2024-02-03T16:18:45.089+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginMigrate
2024-02-03T16:18:45.139+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginMigrate
2024-02-03T16:18:45.141+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginMigrate
2024-02-03T16:18:45.230+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginMigrate
2024-02-03T16:18:45.266+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginMigrate
2024-02-03T16:18:45.271+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginMigrate
2024-02-03T16:18:45.277+08:00 ERROR 7 --- [tor-tcp-epoll-4] a.w.r.e.AbstractErrorWebExceptionHandler : [657677c1-288]  500 Server Error for HTTP PUT "/apis/plugin.halo.run/v1alpha1/plugins/PluginMigrate"
org.springframework.dao.OptimisticLockingFailureException: Failed to update table [extensions]; Version does not match for row with Id [/registry/plugin.halo.run/plugins/PluginMigrate]
        at org.springframework.data.r2dbc.core.R2dbcEntityTemplate.lambda$doUpdate$12(R2dbcEntityTemplate.java:637) ~[spring-data-r2dbc-3.2.2.jar:3.2.2]
        Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
        *__checkpoint ⇢ run.halo.app.security.InitializeRedirectionWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ run.halo.app.security.authentication.login.UsernamePasswordAuthenticator [DefaultWebFilterChain]
        *__checkpoint ⇢ AuthorizationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ ExceptionTranslationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ LogoutWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ ServerRequestCacheWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ LogoutPageGeneratingWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ AnonymousAuthenticationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ TotpAuthenticationFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ ReactorContextWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ CsrfWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ CorsWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ HttpHeaderWriterWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ OrderedWebFilter [DefaultWebFilterChain]
        *__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
        *__checkpoint ⇢ HTTP PUT "/apis/plugin.halo.run/v1alpha1/plugins/PluginMigrate" [ExceptionHandlingWebHandler]
Original Stack Trace:
                at org.springframework.data.r2dbc.core.R2dbcEntityTemplate.lambda$doUpdate$12(R2dbcEntityTemplate.java:637) ~[spring-data-r2dbc-3.2.2.jar:3.2.2]
                at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:113) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoUsingWhen$MonoUsingWhenSubscriber.deferredComplete(MonoUsingWhen.java:268) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxUsingWhen$CommitInner.onComplete(FluxUsingWhen.java:532) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2231) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:89) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterConditionalSubscriber.onComplete(FluxFilter.java:300) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapConditionalSubscriber.request(FluxMap.java:295) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterConditionalSubscriber.request(FluxFilter.java:321) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterSubscriber.request(FluxFilter.java:186) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:164) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onSubscribe(MonoIgnoreElements.java:72) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:92) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterSubscriber.onSubscribe(FluxFilter.java:85) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFilter$FilterConditionalSubscriber.onSubscribe(FluxFilter.java:219) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onSubscribe(FluxMap.java:194) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.Mono.subscribe(Mono.java:4512) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.onComplete(FluxUsingWhen.java:389) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2098) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onComplete(MonoStreamCollector.java:159) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:469) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.checkTerminated(FluxWindowPredicate.java:540) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.drainLoop(FluxWindowPredicate.java:488) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.drain(FluxWindowPredicate.java:432) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.onComplete(FluxWindowPredicate.java:312) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:261) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:126) ~[reactor-core-3.6.2.jar:3.6.2]
                at io.asyncer.r2dbc.mysql.internal.util.DiscardOnCancelSubscriber.onComplete(DiscardOnCancelSubscriber.java:84) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxHandle$HandleConditionalSubscriber.onNext(FluxHandle.java:359) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onNext(FluxPeekFuseable.java:854) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:476) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.SinkManyEmitterProcessor.tryEmitNext(SinkManyEmitterProcessor.java:273) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.SinkManySerialized.tryEmitNext(SinkManySerialized.java:100) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:27) ~[reactor-core-3.6.2.jar:3.6.2]
                at io.asyncer.r2dbc.mysql.client.ReactorNettyClient$ResponseSink.next(ReactorNettyClient.java:383) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.lambda$new$0(ReactorNettyClient.java:121) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:185) ~[reactor-core-3.6.2.jar:3.6.2]
                at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:294) ~[reactor-netty-core-1.1.15.jar:1.1.15]
                at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:403) ~[reactor-netty-core-1.1.15.jar:1.1.15]
                at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:426) ~[reactor-netty-core-1.1.15.jar:1.1.15]
                at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) ~[reactor-netty-core-1.1.15.jar:1.1.15]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.asyncer.r2dbc.mysql.client.MessageDuplexCodec.handleDecoded(MessageDuplexCodec.java:162) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at io.asyncer.r2dbc.mysql.client.MessageDuplexCodec.channelRead(MessageDuplexCodec.java:73) ~[r2dbc-mysql-1.0.6.jar:1.0.6]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1475) ~[netty-handler-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1338) ~[netty-handler-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1387) ~[netty-handler-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[netty-codec-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[netty-transport-classes-epoll-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509) ~[netty-transport-classes-epoll-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407) ~[netty-transport-classes-epoll-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.105.Final.jar:4.1.105.Final]
                at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.105.Final.jar:4.1.105.Final]
                at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
2024-02-03T16:18:46.420+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginMigrate
2024-02-03T16:18:46.440+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginMigrate
2024-02-03T16:18:46.441+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginMigrate

附加信息

halo.log

ruibaby commented 9 months ago

正常表现,安装或者升级的时候需要去更新一些字段,但后端服务并不是同步修改,所以需要前端根据条件进行重试。这个异常就是前端修改内容的时候遇到了锁。

/kind support

zhaohaoyun commented 9 months ago

@ruibaby 哦,好的。