1Panel部署Halo容器反复重启问题解决

宸玚
2026-05-02
点 赞
0
热 度
4
评 论
0
  1. 首页
  2. 技术分享
  3. 1Panel部署Halo容器反复重启问题解决

前言

昨天打算把博客服务从宝塔面板迁移到 1Panel,想着用 1Penal 部署 Halo 2 能省心不少,结果刚启动就遭遇了噩梦:容器启动几秒就崩溃,反复重启。一开始以为是环境变量写错、权限不足、网络不通,甚至怀疑是服务器系统镜像有问题,硬生生重装了五六次系统。折腾了大半天,最后还是看了一眼日志,才发现问题的根源居然 Halo 的新版本强制使用SSL/TSL连接MySQL!

问题现象

  1. 1Panel 应用商店安装 MySQL 5.7,默认配置启动。

  2. 商店安装Halo 2.24.2 ,并填写外部访问地址。

  3. 安装完毕启动后,Halo 容器反复重启,日志一直在产生日志,我随便截取了一段

    anel-halo-1GwU  | 20:09:35,786 |-WARN in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1099855928 - 'maxHistory' is not set, ignoring 'totalSizeCap' option with value [1 GB]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  |     __  __      __
    1Panel-halo-1GwU  |    / / / /___ _/ /___
    1Panel-halo-1GwU  |   / /_/ / __ `/ / __ \
    1Panel-halo-1GwU  |  / __  / /_/ / / /_/ /
    1Panel-halo-1GwU  | /_/ /_/\__,_/_/\____/
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | Version: 2.24.2
    1Panel-halo-1GwU  | 2026-05-01T20:09:35.848+08:00  INFO 1 --- [           main] run.halo.app.Application                 : Starting Application v2.24.2 using Java 21.0.10 with PID 1 (/application/application.jar started by root in /application)
    1Panel-halo-1GwU  | 2026-05-01T20:09:35.851+08:00  INFO 1 --- [           main] run.halo.app.Application                 : No active profile set, falling back to 1 default profile: "default"
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.411+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.412+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data R2DBC repositories in DEFAULT mode.
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.683+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 259 ms. Found 37 R2DBC repository interfaces.
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.710+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.711+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.720+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SalesChannelPaymentMethodRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.720+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderTimelineRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.721+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.DigitalResourceRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.721+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentHistoryRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.722+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.722+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.UserAddressRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.723+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductVariantRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.724+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.725+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.725+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.VirtualKeyRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.726+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SellerPaymentChannelRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.726+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.PaymentMethodRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.727+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CustomerDigitalResourceRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.728+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.RefundTransactionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.729+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.NotificationRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.729+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.TransactionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.729+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ShippingProfileRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.730+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CartItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.730+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SellerProfileRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.731+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.RefundItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.731+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ShippingRateRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.732+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.PaymentSessionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.732+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductDescriptionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.732+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentMethodRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.733+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductImageRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.733+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.734+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SellerRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.734+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductCategoryRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.735+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CdkRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.735+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CustomerRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.736+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.VirtualDeliveryConfigRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.736+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.extension.store.ExtensionStoreRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.737+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SalesChannelRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.737+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.RefundRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.738+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.738+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ShippingZoneRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.739+08:00  INFO 1 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentLabelRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
    1Panel-halo-1GwU  | 2026-05-01T20:09:37.739+08:00  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 21 ms. Found 0 Redis repository interfaces.
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.632+08:00  WARN 1 --- [tor-tcp-epoll-2] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.634+08:00 ERROR 1 --- [tor-tcp-epoll-2] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.640+08:00 ERROR 1 --- [tor-tcp-epoll-2] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.644+08:00  WARN 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.649+08:00  WARN 1 --- [           main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cdkDeliveryHandler' defined in class path resource [run/halo/app/ecommerce/delivery/CdkDeliveryHandler.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkServiceImpl' defined in class path resource [run/halo/app/ecommerce/service/impl/CdkServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkRepository' defined in run.halo.app.ecommerce.repository.CdkRepository defined in @EnableR2dbcRepositories declared on DataR2dbcRepositoriesAutoConfigureRegistrar.EnableR2dbcRepositoriesConfiguration: Cannot resolve reference to bean 'r2dbcEntityTemplate' while setting bean property 'entityOperations'
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.653+08:00  WARN 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.653+08:00  WARN 1 --- [tor-tcp-epoll-2] reactor.netty.channel.FluxReceive        : [91713181, L:/172.18.0.3:50568 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.654+08:00 ERROR 1 --- [tor-tcp-epoll-3] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.648+08:00 ERROR 1 --- [tor-tcp-epoll-1] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.657+08:00 ERROR 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.658+08:00  WARN 1 --- [tor-tcp-epoll-1] reactor.netty.channel.FluxReceive        : [74b755b5, L:/172.18.0.3:50574 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.655+08:00 ERROR 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.660+08:00  WARN 1 --- [tor-tcp-epoll-3] reactor.netty.channel.FluxReceive        : [267c5db2, L:/172.18.0.3:50580 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.670+08:00  WARN 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.671+08:00 ERROR 1 --- [tor-tcp-epoll-3] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.672+08:00 ERROR 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.674+08:00  WARN 1 --- [tor-tcp-epoll-3] reactor.netty.channel.FluxReceive        : [2fcc204a, L:/172.18.0.3:50584 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.680+08:00  WARN 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.681+08:00 ERROR 1 --- [tor-tcp-epoll-1] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.682+08:00 ERROR 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.683+08:00  WARN 1 --- [tor-tcp-epoll-1] reactor.netty.channel.FluxReceive        : [fffd973a, L:/172.18.0.3:50592 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.690+08:00  INFO 1 --- [           main] .s.b.a.l.ConditionEvaluationReportLogger : 
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.695+08:00  WARN 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.696+08:00 ERROR 1 --- [tor-tcp-epoll-3] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.700+08:00  WARN 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.701+08:00 ERROR 1 --- [tor-tcp-epoll-1] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.699+08:00 ERROR 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.704+08:00  WARN 1 --- [tor-tcp-epoll-3] reactor.netty.channel.FluxReceive        : [18ed6fe4, L:/172.18.0.3:50608 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.704+08:00 ERROR 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.706+08:00  WARN 1 --- [tor-tcp-epoll-1] reactor.netty.channel.FluxReceive        : [0b7b9ad7, L:/172.18.0.3:50618 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.715+08:00  WARN 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.715+08:00 ERROR 1 --- [tor-tcp-epoll-3] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.716+08:00 ERROR 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.714+08:00 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cdkDeliveryHandler' defined in class path resource [run/halo/app/ecommerce/delivery/CdkDeliveryHandler.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkServiceImpl' defined in class path resource [run/halo/app/ecommerce/service/impl/CdkServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkRepository' defined in run.halo.app.ecommerce.repository.CdkRepository defined in @EnableR2dbcRepositories declared on DataR2dbcRepositoriesAutoConfigureRegistrar.EnableR2dbcRepositoriesConfiguration: Cannot resolve reference to bean 'r2dbcEntityTemplate' while setting bean property 'entityOperations'
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1218) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1184) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1121) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:994) ~[spring-context-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) ~[spring-context-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.boot.web.server.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:69) ~[spring-boot-web-server-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |     at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |     at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |     at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:154) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |     at run.halo.app.Application.main(Application.java:27) ~[application.jar:2.24.2]
    1Panel-halo-1GwU  | Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cdkServiceImpl' defined in class path resource [run/halo/app/ecommerce/service/impl/CdkServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkRepository' defined in run.halo.app.ecommerce.repository.CdkRepository defined in @EnableR2dbcRepositories declared on DataR2dbcRepositoriesAutoConfigureRegistrar.EnableR2dbcRepositoriesConfiguration: Cannot resolve reference to bean 'r2dbcEntityTemplate' while setting bean property 'entityOperations'
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:229) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1762) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     ... 20 common frames omitted
    1Panel-halo-1GwU  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cdkRepository' defined in run.halo.app.ecommerce.repository.CdkRepository defined in @EnableR2dbcRepositories declared on DataR2dbcRepositoriesAutoConfigureRegistrar.EnableR2dbcRepositoriesConfiguration: Cannot resolve reference to bean 'r2dbcEntityTemplate' while setting bean property 'entityOperations'
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1712) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1461) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:1225) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1704) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     ... 34 common frames omitted
    1Panel-halo-1GwU  | Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.data.r2dbc.autoconfigure.DataR2dbcAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'r2dbcDatabaseClient' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/ConnectionFactoryDependentConfiguration.class]: Failed to initialize dependency 'r2dbcScriptDatabaseInitializer' of DatabaseClient bean 'r2dbcDatabaseClient': Error creating bean with name 'r2dbcScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.class]: Failed to execute database script
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:413) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1362) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1194) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     ... 48 common frames omitted
    1Panel-halo-1GwU  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'r2dbcDatabaseClient' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/ConnectionFactoryDependentConfiguration.class]: Failed to initialize dependency 'r2dbcScriptDatabaseInitializer' of DatabaseClient bean 'r2dbcDatabaseClient': Error creating bean with name 'r2dbcScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.class]: Failed to execute database script
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:229) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1762) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     ... 67 common frames omitted
    1Panel-halo-1GwU  | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'r2dbcScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.class]: Failed to execute database script
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1817) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:309) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:309) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     ... 73 common frames omitted
    1Panel-halo-1GwU  | Caused by: org.springframework.r2dbc.connection.init.UncategorizedScriptException: Failed to execute database script
    1Panel-halo-1GwU  |     at org.springframework.r2dbc.connection.init.DatabasePopulator.lambda$populate$4(DatabasePopulator.java:65) ~[spring-r2dbc-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Mono.lambda$onErrorMap$0(Mono.java:3841) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Mono.lambda$onErrorResume$0(Mono.java:3931) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoUsingWhen$ResourceSubscriber.onError(MonoUsingWhen.java:206) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:107) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators.error(Operators.java:198) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoError.subscribe(MonoError.java:54) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:104) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:107) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxRetry$RetrySubscriber.onError(FluxRetry.java:97) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.pool.AbstractPool$Borrower.fail(AbstractPool.java:504) ~[reactor-pool-1.2.5.jar:1.2.5]
    1Panel-halo-1GwU  |     at reactor.pool.SimpleDequePool.lambda$drainLoop$9(SimpleDequePool.java:444) ~[reactor-pool-1.2.5.jar:1.2.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxDoOnEach$DoOnEachSubscriber.onError(FluxDoOnEach.java:186) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.onError(MonoSubscribeOn.java:153) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:316) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:107) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:283) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:235) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:207) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators.complete(Operators.java:137) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.FutureMono.doSubscribe(FutureMono.java:122) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.FutureMono$DeferredFutureMono.subscribe(FutureMono.java:114) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:104) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:283) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onError(MonoIgnoreElements.java:84) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onError(MonoFlatMapMany.java:256) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:235) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:123) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.internal.util.DiscardOnCancelSubscriber.onError(DiscardOnCancelSubscriber.java:75) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onError(FluxPeekFuseable.java:899) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxHandle$HandleConditionalSubscriber.onError(FluxHandle.java:435) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onError(FluxPeekFuseable.java:899) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyEmitterProcessor.checkTerminated(SinkManyEmitterProcessor.java:537) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:403) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyEmitterProcessor.tryEmitError(SinkManyEmitterProcessor.java:230) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitError(SinkManySerialized.java:82) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitError(InternalManySink.java:98) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.drainError(ReactorNettyClient.java:307) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:290) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     Suppressed: java.lang.Exception: #block terminated with an error
    1Panel-halo-1GwU  |             at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |             at reactor.core.publisher.Mono.block(Mono.java:1773) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |             at org.springframework.boot.r2dbc.init.R2dbcScriptDatabaseInitializer.runScripts(R2dbcScriptDatabaseInitializer.java:68) ~[spring-boot-r2dbc-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.runScripts(AbstractScriptDatabaseInitializer.java:159) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applyScripts(AbstractScriptDatabaseInitializer.java:120) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applySchemaScripts(AbstractScriptDatabaseInitializer.java:109) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.initializeDatabase(AbstractScriptDatabaseInitializer.java:87) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.afterPropertiesSet(AbstractScriptDatabaseInitializer.java:77) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1864) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1813) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:309) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:309) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:229) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1762) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:413) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1362) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1194) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1712) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1461) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:1225) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1704) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:229) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1762) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1218) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1184) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1121) ~[spring-beans-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:994) ~[spring-context-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) ~[spring-context-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |             at org.springframework.boot.web.server.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:69) ~[spring-boot-web-server-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:154) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]
    1Panel-halo-1GwU  |             at run.halo.app.Application.main(Application.java:27) ~[application.jar:2.24.2]
    1Panel-halo-1GwU  | Caused by: org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection
    1Panel-halo-1GwU  |     at org.springframework.r2dbc.connection.ConnectionFactoryUtils.lambda$getConnection$0(ConnectionFactoryUtils.java:102) ~[spring-r2dbc-7.0.7.jar:7.0.7]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Mono.lambda$onErrorMap$1(Mono.java:3855) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     ... 70 common frames omitted
    1Panel-halo-1GwU  | Caused by: io.asyncer.r2dbc.mysql.client.MySqlConnectionException
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.wrap(ClientExceptions.java:48) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     ... 33 common frames omitted
    1Panel-halo-1GwU  | Caused by: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     ... 18 common frames omitted
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.717+08:00  WARN 1 --- [tor-tcp-epoll-3] reactor.netty.channel.FluxReceive        : [7d9af05f, L:/172.18.0.3:50620 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.726+08:00  WARN 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient    : Connection unexpectedly closed
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.727+08:00 ERROR 1 --- [tor-tcp-epoll-1] reactor.core.publisher.Operators         : Operator called default onErrorDropped
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.728+08:00 ERROR 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient    : Error: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]
    1Panel-halo-1GwU  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    1Panel-halo-1GwU  | 
    1Panel-halo-1GwU  | 2026-05-01T20:09:39.730+08:00  WARN 1 --- [tor-tcp-epoll-1] reactor.netty.channel.FluxReceive        : [982ab562, L:/172.18.0.3:50628 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure

排查过程

第一步:无效排查(踩坑现场)

  • 反复核对数据库地址、端口、用户名、密码,确认无误。

  • 查看防火墙是否开放端口

  • 测试容器网络互通,用 pingtelnet 确认 3306 端口可访问。

  • 甚至怀疑是服务器内核问题,重装了 3 次系统,从 Debian 换到 Ubuntu,问题依旧。

第二步:关键转折 —— 看日志!

冷静下来后,我决定仔细看一遍完整日志,终于在一堆 INFO 日志里找到了关键报错:

SSLHandshakeException: Received fatal alert: handshake_failure

也就是 R2DBC 连接 MySQL 时强制启用了 SSL,但 MySQL 不支持 / 不允许 SSL 连接,导致握手失败、应用启动失败。

解决方法:禁用 SSL 连接校验

只需要在composer文件的 spring.r2dbc.url 后面加上 ?sslMode=DISABLED 参数,让驱动跳过 SSL 验证,直接使用普通 TCP 连接即可。

修改后的 Docker Compose 示例

services:
    halo:
        command:
            - --spring.r2dbc.url=r2dbc:pool:${PANEL_DB_TYPE}://${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME}?sslMode=DISABLED

修改完成后重建即可,不过更推荐在新装的时候就改好。

为什么会踩这个坑?

  1. 惯性思维:遇到容器重启,第一反应是环境问题、配置错误,很少想到是 SSL 这种 “隐形” 的协议校验问题。

  2. 日志一闪而过:面板里看不到完整报错,导致关键信息被忽略,只能靠反复重装试错。

  3. 无相关案例:Halo 社区虽活跃,但是真正及时解答问题的比较少,所以也没搜到相关问题,也没去提问

写在最后

折腾服务器的过程,很多时候考验的不是技术有多强,而是能不能沉下心看日志、抓关键信息。这次踩坑也给我提了个醒:遇到问题别先慌着重装,日志才是解决问题的第一入口。

如果你也在用 1Panel 部署 Halo 遇到了反复重启的问题,可以试试加个 sslMode=DISABLED 参数,大概率就能解决!

欢迎大家在评论区交流


用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

宸玚

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

欢迎来到宸玚的博客,为您导航全站动态

2 文章数
10 分类数
0 评论数
1标签数
最近评论