halo-dev / plugin-s3

为 Halo 提供 S3 对象存储协议的存储策略
https://halo.run/store/apps/app-Qxhpp
GNU General Public License v3.0
32 stars 20 forks source link

1.9.0版本升级异常 #137

Closed liuyiwuqing closed 1 month ago

liuyiwuqing commented 4 months ago
image image

halo版本: 2.14.0 专业版

日志如下:

2024-04-22T19:39:08.992+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginS3ObjectStorage
2024-04-22T19:39:09.389+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized setting s3os-settings for plugin PluginS3ObjectStorage
2024-04-22T19:39:09.399+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized config map s3os-configMap for plugin PluginS3ObjectStorage
2024-04-22T19:39:09.483+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginS3ObjectStorage
2024-04-22T19:39:09.483+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginS3ObjectStorage
2024-04-22T19:39:09.487+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Start plugin 'PluginS3ObjectStorage@1.9.0'
2024-04-22T19:39:09.979+08:00  INFO 7 --- [nReconciler-t-1] run.halo.app.plugin.BasePlugin           : Initialized plugin PluginS3ObjectStorage
2024-04-22T19:39:10.054+08:00  WARN 7 --- [nReconciler-t-1] r.h.app.plugin.PluginApplicationContext  : Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'run.halo.s3os.S3UnlinkController@134b106f' method 
run.halo.s3os.S3UnlinkController#unlink(String)
to {DELETE /apis/s3os.halo.run/v1alpha1/attachments/{name}}: There is already 'run.halo.s3os.S3UnlinkController@cdc05611' bean method
run.halo.s3os.S3UnlinkController#unlink(String) mapped.
2024-04-22T19:39:10.148+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...

java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'run.halo.s3os.S3UnlinkController@134b106f' method 
run.halo.s3os.S3UnlinkController#unlink(String)
to {DELETE /apis/s3os.halo.run/v1alpha1/attachments/{name}}: There is already 'run.halo.s3os.S3UnlinkController@cdc05611' bean method
run.halo.s3os.S3UnlinkController#unlink(String) mapped.
    at org.springframework.web.reactive.result.method.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:557) ~[spring-webflux-6.1.5.jar:6.1.5]
    at org.springframework.web.reactive.result.method.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:525) ~[spring-webflux-6.1.5.jar:6.1.5]
    at org.springframework.web.reactive.result.method.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:250) ~[spring-webflux-6.1.5.jar:6.1.5]
    at org.springframework.web.reactive.result.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:341) ~[spring-webflux-6.1.5.jar:6.1.5]
    at run.halo.app.plugin.PluginRequestMappingHandlerMapping.lambda$registerHandlerMethods$1(PluginRequestMappingHandlerMapping.java:67) ~[classes/:2.14.0]
    at java.base/java.util.LinkedHashMap.forEach(Unknown Source) ~[na:na]
    at run.halo.app.plugin.PluginRequestMappingHandlerMapping.registerHandlerMethods(PluginRequestMappingHandlerMapping.java:65) ~[classes/:2.14.0]
    at run.halo.app.plugin.DefaultPluginApplicationContextFactory$PluginHandlerMappingManager.lambda$onApplicationEvent$0(DefaultPluginApplicationContextFactory.java:270) ~[classes/:2.14.0]
    at java.base/java.util.LinkedHashMap$LinkedValues.forEach(Unknown Source) ~[na:na]
    at run.halo.app.plugin.DefaultPluginApplicationContextFactory$PluginHandlerMappingManager.onApplicationEvent(DefaultPluginApplicationContextFactory.java:269) ~[classes/:2.14.0]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
    at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:365) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:237) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:168) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:451) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:384) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:984) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.1.5.jar:6.1.5]
    at run.halo.app.plugin.DefaultPluginApplicationContextFactory.create(DefaultPluginApplicationContextFactory.java:165) ~[classes/:2.14.0]
    at run.halo.app.plugin.SpringPlugin.start(SpringPlugin.java:30) ~[classes/:2.14.0]
    at org.pf4j.AbstractPluginManager.startPlugin(AbstractPluginManager.java:424) ~[pf4j-3.11.0.jar:3.11.0]
    at run.halo.app.core.extension.reconciler.PluginReconciler.startPlugin(PluginReconciler.java:200) ~[classes/:2.14.0]
    at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:120) ~[classes/:2.14.0]
    at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:96) ~[classes/:2.14.0]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:65) ~[classes/:2.14.0]
    at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.14.0.jar:na]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
    at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

2024-04-22T19:43:02.011+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initializing setting and config map for plugin PluginS3ObjectStorage
2024-04-22T19:43:02.052+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized setting s3os-settings for plugin PluginS3ObjectStorage
2024-04-22T19:43:02.054+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Initialized config map s3os-configMap for plugin PluginS3ObjectStorage
2024-04-22T19:43:02.082+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving logo resource for plugin PluginS3ObjectStorage
2024-04-22T19:43:02.082+08:00  INFO 7 --- [nReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler    : Resolving main.js and style.css for plugin PluginS3ObjectStorage
2024-04-22T19:43:02.082+08:00  INFO 7 --- [nReconciler-t-1] org.pf4j.AbstractPluginManager           : Start plugin 'PluginS3ObjectStorage@1.9.0'
2024-04-22T19:43:02.096+08:00  INFO 7 --- [nReconciler-t-1] run.halo.app.plugin.BasePlugin           : Initialized plugin PluginS3ObjectStorage
2024-04-22T19:43:02.102+08:00  WARN 7 --- [nReconciler-t-1] r.h.app.plugin.PluginApplicationContext  : Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'run.halo.s3os.S3UnlinkController@4f267c48' method 
run.halo.s3os.S3UnlinkController#unlink(String)
to {DELETE /apis/s3os.halo.run/v1alpha1/attachments/{name}}: There is already 'run.halo.s3os.S3UnlinkController@cdc05611' bean method
run.halo.s3os.S3UnlinkController#unlink(String) mapped.
2024-04-22T19:43:02.141+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...

java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'run.halo.s3os.S3UnlinkController@4f267c48' method 
run.halo.s3os.S3UnlinkController#unlink(String)
to {DELETE /apis/s3os.halo.run/v1alpha1/attachments/{name}}: There is already 'run.halo.s3os.S3UnlinkController@cdc05611' bean method
run.halo.s3os.S3UnlinkController#unlink(String) mapped.
    at org.springframework.web.reactive.result.method.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:557) ~[spring-webflux-6.1.5.jar:6.1.5]
    at org.springframework.web.reactive.result.method.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:525) ~[spring-webflux-6.1.5.jar:6.1.5]
    at org.springframework.web.reactive.result.method.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:250) ~[spring-webflux-6.1.5.jar:6.1.5]
    at org.springframework.web.reactive.result.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:341) ~[spring-webflux-6.1.5.jar:6.1.5]
    at run.halo.app.plugin.PluginRequestMappingHandlerMapping.lambda$registerHandlerMethods$1(PluginRequestMappingHandlerMapping.java:67) ~[classes/:2.14.0]
    at java.base/java.util.LinkedHashMap.forEach(Unknown Source) ~[na:na]
    at run.halo.app.plugin.PluginRequestMappingHandlerMapping.registerHandlerMethods(PluginRequestMappingHandlerMapping.java:65) ~[classes/:2.14.0]
    at run.halo.app.plugin.DefaultPluginApplicationContextFactory$PluginHandlerMappingManager.lambda$onApplicationEvent$0(DefaultPluginApplicationContextFactory.java:270) ~[classes/:2.14.0]
    at java.base/java.util.LinkedHashMap$LinkedValues.forEach(Unknown Source) ~[na:na]
    at run.halo.app.plugin.DefaultPluginApplicationContextFactory$PluginHandlerMappingManager.onApplicationEvent(DefaultPluginApplicationContextFactory.java:269) ~[classes/:2.14.0]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
    at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:365) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:237) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:168) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:451) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:384) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:984) ~[spring-context-6.1.5.jar:6.1.5]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.1.5.jar:6.1.5]
    at run.halo.app.plugin.DefaultPluginApplicationContextFactory.create(DefaultPluginApplicationContextFactory.java:165) ~[classes/:2.14.0]
    at run.halo.app.plugin.SpringPlugin.start(SpringPlugin.java:30) ~[classes/:2.14.0]
    at org.pf4j.AbstractPluginManager.startPlugin(AbstractPluginManager.java:424) ~[pf4j-3.11.0.jar:3.11.0]
    at run.halo.app.core.extension.reconciler.PluginReconciler.startPlugin(PluginReconciler.java:200) ~[classes/:2.14.0]
    at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:120) ~[classes/:2.14.0]
    at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:96) ~[classes/:2.14.0]
    at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:65) ~[classes/:2.14.0]
    at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.14.0.jar:na]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
    at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
longjuan commented 4 months ago

重启下halo试试

liuyiwuqing commented 4 months ago

重启下halo试试

重启halo后,可以正常使用了,感谢

longjuan commented 4 months ago

重启halo后,可以正常使用了,感谢

/close

f2c-ci-robot[bot] commented 4 months ago

@longjuan: Closing this issue.

In response to [this](https://github.com/halo-dev/plugin-s3/issues/137#issuecomment-2069282145): >> 重启halo后,可以正常使用了,感谢 > >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
ruibaby commented 4 months ago

hi @longjuan ,我建议先打开此 issue,因为这很可能和 https://github.com/halo-dev/halo/issues/5615 有关,我们需要跟进排查一下。

ruibaby commented 4 months ago

/reopen

f2c-ci-robot[bot] commented 4 months ago

@ruibaby: Reopened this issue.

In response to [this](https://github.com/halo-dev/plugin-s3/issues/137#issuecomment-2069299420): >/reopen Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
longjuan commented 4 months ago

hi @longjuan ,我建议先打开此 issue,因为这很可能和 halo-dev/halo#5615 有关,我们需要跟进排查一下。

从应用市场升级的好像确实是必现的 image

ruibaby commented 4 months ago

hi @longjuan ,我建议先打开此 issue,因为这很可能和 halo-dev/halo#5615 有关,我们需要跟进排查一下。

从应用市场升级的好像确实是必现的

image

不是必现,看反馈大部分都还是升级正常了,我自己这里也是 OK 的。

JohnNiang commented 4 months ago

Hi @liuyiwuqing ,可以提供一下昨天的完整日志么?只靠日志片段可能无法分析出具体的原因。

longjuan commented 4 months ago

halo.log 在2024-04-22T20:48:20.547+08:00左右 @JohnNiang

JohnNiang commented 4 months ago

Hi @longjuan ,从日志中看,主要是因为插件升级的启动过程中发生了乐观锁错误,但是并没有执行插件清理的流程,此时插件管理器尝试重新启动插件就出现了以上错误。

该问题和 https://github.com/halo-dev/halo/issues/5764 类似,已经尝试解决。欢迎尝试 Halo 2.14.1

longjuan commented 1 month ago

/close

f2c-ci-robot[bot] commented 1 month ago

@longjuan: Closing this issue.

In response to [this](https://github.com/halo-dev/plugin-s3/issues/137#issuecomment-2266703096): >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.