apache / shenyu

Apache ShenYu is a Java native API Gateway for service proxy, protocol conversion and API governance.
https://shenyu.apache.org/
Apache License 2.0
8.41k stars 2.92k forks source link

[BUG] Docker-Compose shenyu services image not support arm64(Raspberry Pi 4 Model B) architecture #3166

Closed myesn closed 1 year ago

myesn commented 2 years ago

Is there an existing issue for this?

Current Behavior

Docker-Compose file:

master/shenyu-dist/shenyu-docker-compose-dist/src/main/resources/stand-alone-mysql/docker-compose.yaml

shenyu-admin Docker file: master/shenyu-dist/shenyu-admin-dist/Dockerfile

shenyu-bootstrap Docker file: master/shenyu-dist/shenyu-bootstrap-dist/Dockerfile

I noticed that shenyu-admin and shenyu-bootstrap are both built on the openjdk:8-jre-alpine image, but this image does not support the arm64 CPU architecture of the Raspberry Pi 4 Model B, which prevents the shenyu services from running successfully.

The openjdk:8-jre-alpine image does not support the arm64 CPU architecture: image

Expected Behavior

Make it work, thanks.

Steps To Reproduce

An error occurs after executing the following command:

curl https://raw.githubusercontent.com/apache/incubator-shenyu/master/shenyu-dist/shenyu-docker-compose-dist/src/main/resources/install.sh | bash -s master mysql

Environment

ShenYu version(s): 2.4.2

Debug logs

ubuntu@ubuntu:~/apache-shenyu/shenyu-master$ docker-compose ps
      Name                    Command                  State                        Ports
-----------------------------------------------------------------------------------------------------------
db                 /usr/local/bin/docker-entr ...   Up (healthy)   0.0.0.0:3310->3306/tcp,:::3310->3306/tcp
shenyu-admin       /bin/sh entrypoint.sh            Exit 1
shenyu-bootstrap   /bin/sh entrypoint.sh            Exit 1
ubuntu@ubuntu:~/apache-shenyu/shenyu-master$ docker-compose logs -f shenyu-admin
Attaching to shenyu-admin
shenyu-admin        | standard_init_linux.go:228: exec user process caused: exec format error
shenyu-admin        | standard_init_linux.go:228: exec user process caused: exec format error
shenyu-admin exited with code 1
ubuntu@ubuntu:~/apache-shenyu/shenyu-master$ docker-compose logs -f shenyu-bootstrap
Attaching to shenyu-bootstrap
shenyu-bootstrap    | standard_init_linux.go:228: exec user process caused: exec format error
shenyu-bootstrap    | standard_init_linux.go:228: exec user process caused: exec format error
shenyu-bootstrap exited with code 1

Anything else?

Using the arm64v8/openjdk:8-jre image in our project can run successfully(I'm actually using arm64v8/openjdk:8 πŸ˜‚).

JooKS-me commented 2 years ago

Hi @myesn, openjdk:8-jre-alpine can support arm64.

image

BTW, Do you have a mirror for building shenyu locally? It may be that the shenyu image in docker hub does not support arm64.

myesn commented 2 years ago

Sorry, I forgot to click the more button.

BTW, Do you have a mirror for building shenyu locally? It may be that the shenyu image in docker hub does not support arm64.

I doesn't have a mirror for shenyu.

How should I go about solving this problem?

JooKS-me commented 2 years ago

First, delete the shenyu image on your machine.

There is a temporary solution, you can first download the source code of the release to the machine you want to deploy, unzip it and execute it in the root directory of the project

mvn clean install -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests -Prelease,docker

This way, you will have the appropriate image on your machine, you can check it with docker images.

erdengk commented 2 years ago

@myesn Here are some additional suggestions, please refer mainly to the previous comment. I am using mac m1 which is also arm architecture. You might consider building the image locally to run the project. See the first part of this link on how to build the image locally.

Here is a screenshot of my docker repository, I can run shenyu-admin and shenyu-bootstarp normally.

image image

myesn commented 2 years ago

Thanks a lot, I'll try it later, and if it works, I'll close this issue.

myesn commented 2 years ago

@JooKS-me @erdengk After shenyu-bootstrap runs, after processing several http requests, this error occurs and shenyu-bootstrap stops running:

shenyu-bootstrap    | #
shenyu-bootstrap    | # A fatal error has been detected by the Java Runtime Environment:
shenyu-bootstrap    | #
shenyu-bootstrap    | #  Internal Error (assembler_aarch64.hpp:1156), pid=33, tid=0x0000ffffad4a6aa0
shenyu-bootstrap    | #  guarantee(Rs != Rn && Rs != Rt) failed: unpredictable instruction
shenyu-bootstrap    | #
shenyu-bootstrap    | # JRE version: OpenJDK Runtime Environment (8.0_212-b04) (build 1.8.0_212-b04)
shenyu-bootstrap    | # Java VM: OpenJDK 64-Bit Server VM (25.212-b04 mixed mode linux-aarch64 compressed oops)
shenyu-bootstrap    | # Derivative: IcedTea 3.12.0
shenyu-bootstrap    | # Distribution: Custom build (Sat May  4 17:44:26 UTC 2019)
shenyu-bootstrap    | # Core dump written. Default location: /opt/shenyu-bootstrap/core or core.33
shenyu-bootstrap    | #
shenyu-bootstrap    | # An error report file with more information is saved as:
shenyu-bootstrap    | # /opt/shenyu-bootstrap/hs_err_pid33.log
shenyu-bootstrap    | #
shenyu-bootstrap    | # Compiler replay data is saved as:
shenyu-bootstrap    | # /opt/shenyu-bootstrap/replay_pid33.log
shenyu-bootstrap    | #
shenyu-bootstrap    | # If you would like to submit a bug report, please include
shenyu-bootstrap    | # instructions on how to reproduce the bug and visit:
shenyu-bootstrap    | #   https://icedtea.classpath.org/bugzilla
shenyu-bootstrap    | #
Click to view detail log ``` ubuntu@ubuntu:~/shenyu/docker/shenyu-v2.4.2$ docker-compose logs -f shenyu-bootstrap Attaching to shenyu-bootstrap shenyu-bootstrap | current jdk version:1.8.0_212 shenyu-bootstrap | sh: =~: unknown operand shenyu-bootstrap | sh: =~: unknown operand shenyu-bootstrap | sh: =~: unknown operand shenyu-bootstrap | Starting the ShenYu-Bootstrap ... shenyu-bootstrap | Please check the log files: /opt/shenyu-bootstrap/logs/shenyu-bootstrap.log shenyu-bootstrap | # An error report file with more information is saved as: shenyu-bootstrap | # /opt/shenyu-bootstrap/hs_err_pid35.log shenyu-bootstrap | # shenyu-bootstrap | # Compiler replay data is saved as: shenyu-bootstrap | # /opt/shenyu-bootstrap/replay_pid35.log shenyu-bootstrap | # shenyu-bootstrap | # If you would like to submit a bug report, please include shenyu-bootstrap | # instructions on how to reproduce the bug and visit: shenyu-bootstrap | # https://icedtea.classpath.org/bugzilla shenyu-bootstrap | # shenyu-bootstrap | 09:47:42,098 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set shenyu-bootstrap | 09:47:42,104 |-INFO in ch.qos.logback.core.joran.action.ShutdownHookAction - About to instantiate shutdown hook of type [ch.qos.logback.core.hook.DelayingShutdownHook] shenyu-bootstrap | 09:47:42,142 |-INFO in ch.qos.logback.core.joran.action.StatusListenerAction - Added status listener of type [ch.qos.logback.core.status.OnConsoleStatusListener] shenyu-bootstrap | 09:47:42,298 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] shenyu-bootstrap | 09:47:42,318 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] shenyu-bootstrap | 09:47:42,357 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:42,535 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:42,544 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_STDOUT] shenyu-bootstrap | 09:47:42,549 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] shenyu-bootstrap | 09:47:42,550 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Attaching appender named [STDOUT] to AsyncAppender. shenyu-bootstrap | 09:47:42,552 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:42,553 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] shenyu-bootstrap | 09:47:42,566 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE] shenyu-bootstrap | 09:47:42,597 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1122805102 - setting totalSizeCap to 10 GB shenyu-bootstrap | 09:47:42,610 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1122805102 - Archive files will be limited to [100 MB] each. shenyu-bootstrap | 09:47:42,625 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1122805102 - Will use zip compression shenyu-bootstrap | 09:47:42,631 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1122805102 - Will use the pattern ./logs/shenyu-bootstrap.%d{yyyy-MM-dd}.%i.log for the active file shenyu-bootstrap | 09:47:42,644 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@396e2f39 - The date pattern is 'yyyy-MM-dd' from file name pattern './logs/shenyu-bootstrap.%d{yyyy-MM-dd}.%i.log.zip'. shenyu-bootstrap | 09:47:42,644 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@396e2f39 - Roll-over at midnight. shenyu-bootstrap | 09:47:42,659 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@396e2f39 - Setting initial period to Wed Apr 06 09:47:42 GMT 2022 shenyu-bootstrap | 09:47:42,669 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:42,678 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: ./logs/shenyu-bootstrap.log shenyu-bootstrap | 09:47:42,679 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [./logs/shenyu-bootstrap.log] shenyu-bootstrap | 09:47:42,683 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:42,683 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_FILE] shenyu-bootstrap | 09:47:42,685 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] shenyu-bootstrap | 09:47:42,686 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Attaching appender named [FILE] to AsyncAppender. shenyu-bootstrap | 09:47:42,686 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:42,687 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] shenyu-bootstrap | 09:47:42,687 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ERROR_FILE] shenyu-bootstrap | 09:47:42,703 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@897074030 - setting totalSizeCap to 10 GB shenyu-bootstrap | 09:47:42,704 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@897074030 - Archive files will be limited to [100 MB] each. shenyu-bootstrap | 09:47:42,706 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@897074030 - Will use zip compression shenyu-bootstrap | 09:47:42,707 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@897074030 - Will use the pattern ./logs/shenyu-bootstrap.%d{yyyy-MM-dd}-error.%i.log for the active file shenyu-bootstrap | 09:47:42,711 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@706a04ae - The date pattern is 'yyyy-MM-dd' from file name pattern './logs/shenyu-bootstrap.%d{yyyy-MM-dd}-error.%i.log.zip'. shenyu-bootstrap | 09:47:42,711 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@706a04ae - Roll-over at midnight. shenyu-bootstrap | 09:47:42,713 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@706a04ae - Setting initial period to Wed Apr 06 08:22:52 GMT 2022 shenyu-bootstrap | 09:47:42,716 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:42,719 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - Active log file name: ./logs/shenyu-bootstrap-error.log shenyu-bootstrap | 09:47:42,720 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - File property is set to [./logs/shenyu-bootstrap-error.log] shenyu-bootstrap | 09:47:42,721 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:42,721 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_ERROR_FILE] shenyu-bootstrap | 09:47:42,724 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ERROR_FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] shenyu-bootstrap | 09:47:42,724 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Attaching appender named [ERROR_FILE] to AsyncAppender. shenyu-bootstrap | 09:47:42,724 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:42,725 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO shenyu-bootstrap | 09:47:42,726 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_STDOUT] to Logger[ROOT] shenyu-bootstrap | 09:47:42,727 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_FILE] to Logger[ROOT] shenyu-bootstrap | 09:47:42,727 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_ERROR_FILE] to Logger[ROOT] shenyu-bootstrap | 09:47:42,728 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. shenyu-bootstrap | 09:47:42,731 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@67b467e9 - Registering current configuration as safe fallback point shenyu-bootstrap | 09:47:49,546 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Worker thread will flush remaining events before exiting. shenyu-bootstrap | 09:47:49,550 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Queue flush finished successfully within timeout. shenyu-bootstrap | 09:47:49,554 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Worker thread will flush remaining events before exiting. shenyu-bootstrap | 09:47:49,559 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Queue flush finished successfully within timeout. shenyu-bootstrap | 09:47:49,559 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Worker thread will flush remaining events before exiting. shenyu-bootstrap | 09:47:49,560 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Queue flush finished successfully within timeout. shenyu-bootstrap | 09:47:49,627 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set shenyu-bootstrap | 09:47:49,629 |-INFO in ch.qos.logback.core.joran.action.ShutdownHookAction - About to instantiate shutdown hook of type [ch.qos.logback.core.hook.DelayingShutdownHook] shenyu-bootstrap | 09:47:49,629 |-INFO in ch.qos.logback.core.joran.action.StatusListenerAction - Added status listener of type [ch.qos.logback.core.status.OnConsoleStatusListener] shenyu-bootstrap | 09:47:49,635 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] shenyu-bootstrap | 09:47:49,635 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] shenyu-bootstrap | 09:47:49,637 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:49,643 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:49,644 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_STDOUT] shenyu-bootstrap | 09:47:49,646 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] shenyu-bootstrap | 09:47:49,647 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Attaching appender named [STDOUT] to AsyncAppender. shenyu-bootstrap | 09:47:49,647 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:49,657 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] shenyu-bootstrap | 09:47:49,657 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE] shenyu-bootstrap | 09:47:49,672 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1424082571 - setting totalSizeCap to 10 GB shenyu-bootstrap | 09:47:49,673 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1424082571 - Archive files will be limited to [100 MB] each. shenyu-bootstrap | 09:47:49,687 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1424082571 - Will use zip compression shenyu-bootstrap | 09:47:49,688 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1424082571 - Will use the pattern ./logs/shenyu-bootstrap.%d{yyyy-MM-dd}.%i.log for the active file shenyu-bootstrap | 09:47:49,706 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@53aac487 - The date pattern is 'yyyy-MM-dd' from file name pattern './logs/shenyu-bootstrap.%d{yyyy-MM-dd}.%i.log.zip'. shenyu-bootstrap | 09:47:49,707 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@53aac487 - Roll-over at midnight. shenyu-bootstrap | 09:47:49,708 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@53aac487 - Setting initial period to Wed Apr 06 09:47:49 GMT 2022 shenyu-bootstrap | 09:47:49,723 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:49,728 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: ./logs/shenyu-bootstrap.log shenyu-bootstrap | 09:47:49,729 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [./logs/shenyu-bootstrap.log] shenyu-bootstrap | 09:47:49,729 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:49,738 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_FILE] shenyu-bootstrap | 09:47:49,740 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] shenyu-bootstrap | 09:47:49,741 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Attaching appender named [FILE] to AsyncAppender. shenyu-bootstrap | 09:47:49,741 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:49,750 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] shenyu-bootstrap | 09:47:49,750 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ERROR_FILE] shenyu-bootstrap | 09:47:49,771 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1387380406 - setting totalSizeCap to 10 GB shenyu-bootstrap | 09:47:49,771 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1387380406 - Archive files will be limited to [100 MB] each. shenyu-bootstrap | 09:47:49,772 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1387380406 - Will use zip compression shenyu-bootstrap | 09:47:49,773 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1387380406 - Will use the pattern ./logs/shenyu-bootstrap.%d{yyyy-MM-dd}-error.%i.log for the active file shenyu-bootstrap | 09:47:49,785 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@273e7444 - The date pattern is 'yyyy-MM-dd' from file name pattern './logs/shenyu-bootstrap.%d{yyyy-MM-dd}-error.%i.log.zip'. shenyu-bootstrap | 09:47:49,786 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@273e7444 - Roll-over at midnight. shenyu-bootstrap | 09:47:49,787 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@273e7444 - Setting initial period to Wed Apr 06 08:22:52 GMT 2022 shenyu-bootstrap | 09:47:49,797 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:49,801 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - Active log file name: ./logs/shenyu-bootstrap-error.log shenyu-bootstrap | 09:47:49,801 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - File property is set to [./logs/shenyu-bootstrap-error.log] shenyu-bootstrap | 09:47:49,810 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:49,811 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_ERROR_FILE] shenyu-bootstrap | 09:47:49,813 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ERROR_FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] shenyu-bootstrap | 09:47:49,813 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Attaching appender named [ERROR_FILE] to AsyncAppender. shenyu-bootstrap | 09:47:49,814 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:49,845 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO shenyu-bootstrap | 09:47:49,879 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@7db12bb6 - Propagating INFO level on Logger[ROOT] onto the JUL framework shenyu-bootstrap | 09:47:49,883 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_STDOUT] to Logger[ROOT] shenyu-bootstrap | 09:47:49,884 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_FILE] to Logger[ROOT] shenyu-bootstrap | 09:47:49,885 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_ERROR_FILE] to Logger[ROOT] shenyu-bootstrap | 09:47:49,885 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. shenyu-bootstrap | 09:47:49,886 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@771a660 - Registering current configuration as safe fallback point shenyu-bootstrap | 2022-04-06 09:47:50 [main] INFO org.apache.shenyu.web.logo.ShenyuLogo - shenyu-bootstrap | shenyu-bootstrap | shenyu-bootstrap | _____ _ shenyu-bootstrap | / ____| | shenyu-bootstrap | | (___ | |__ ___ _ __ _ _ _ _ shenyu-bootstrap | \___ \| '_ \ / _ \ '_ \| | | | | | | shenyu-bootstrap | ____) | | | | __/ | | | |_| | |_| | shenyu-bootstrap | |_____/|_| |_|\___|_| |_|\__, |\__,_| shenyu-bootstrap | __/ | shenyu-bootstrap | |___/ shenyu-bootstrap | :: Shenyu :: (v2.4.2) shenyu-bootstrap | shenyu-bootstrap | 2022-04-06 09:47:50 [main] INFO org.apache.shenyu.web.logo.ShenyuLogo - shenyu-bootstrap | shenyu-bootstrap | shenyu-bootstrap | _____ _ shenyu-bootstrap | / ____| | shenyu-bootstrap | | (___ | |__ ___ _ __ _ _ _ _ shenyu-bootstrap | \___ \| '_ \ / _ \ '_ \| | | | | | | shenyu-bootstrap | ____) | | | | __/ | | | |_| | |_| | shenyu-bootstrap | |_____/|_| |_|\___|_| |_|\__, |\__,_| shenyu-bootstrap | __/ | shenyu-bootstrap | |___/ shenyu-bootstrap | :: Shenyu :: (v2.4.2) shenyu-bootstrap | shenyu-bootstrap | 09:47:54,937 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Worker thread will flush remaining events before exiting. shenyu-bootstrap | 09:47:54,939 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Queue flush finished successfully within timeout. shenyu-bootstrap | 09:47:54,942 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Worker thread will flush remaining events before exiting. shenyu-bootstrap | 09:47:54,950 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Queue flush finished successfully within timeout. shenyu-bootstrap | 09:47:54,951 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Worker thread will flush remaining events before exiting. shenyu-bootstrap | 09:47:54,953 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Queue flush finished successfully within timeout. shenyu-bootstrap | 09:47:54,983 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set shenyu-bootstrap | 09:47:54,985 |-INFO in ch.qos.logback.core.joran.action.ShutdownHookAction - About to instantiate shutdown hook of type [ch.qos.logback.core.hook.DelayingShutdownHook] shenyu-bootstrap | 09:47:54,986 |-INFO in ch.qos.logback.core.joran.action.StatusListenerAction - Added status listener of type [ch.qos.logback.core.status.OnConsoleStatusListener] shenyu-bootstrap | 09:47:54,988 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] shenyu-bootstrap | 09:47:54,988 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] shenyu-bootstrap | 09:47:54,990 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:54,993 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:54,993 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_STDOUT] shenyu-bootstrap | 09:47:54,995 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] shenyu-bootstrap | 09:47:54,996 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Attaching appender named [STDOUT] to AsyncAppender. shenyu-bootstrap | 09:47:54,996 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_STDOUT] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:54,997 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] shenyu-bootstrap | 09:47:54,997 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE] shenyu-bootstrap | 09:47:55,003 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@735228558 - setting totalSizeCap to 10 GB shenyu-bootstrap | 09:47:55,011 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@735228558 - Archive files will be limited to [100 MB] each. shenyu-bootstrap | 09:47:55,012 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@735228558 - Will use zip compression shenyu-bootstrap | 09:47:55,013 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@735228558 - Will use the pattern ./logs/shenyu-bootstrap.%d{yyyy-MM-dd}.%i.log for the active file shenyu-bootstrap | 09:47:55,018 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@16746061 - The date pattern is 'yyyy-MM-dd' from file name pattern './logs/shenyu-bootstrap.%d{yyyy-MM-dd}.%i.log.zip'. shenyu-bootstrap | 09:47:55,019 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@16746061 - Roll-over at midnight. shenyu-bootstrap | 09:47:55,021 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@16746061 - Setting initial period to Wed Apr 06 09:47:55 GMT 2022 shenyu-bootstrap | 09:47:55,023 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:55,028 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: ./logs/shenyu-bootstrap.log shenyu-bootstrap | 09:47:55,028 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [./logs/shenyu-bootstrap.log] shenyu-bootstrap | 09:47:55,029 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:55,030 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_FILE] shenyu-bootstrap | 09:47:55,032 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] shenyu-bootstrap | 09:47:55,032 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Attaching appender named [FILE] to AsyncAppender. shenyu-bootstrap | 09:47:55,033 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:55,042 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] shenyu-bootstrap | 09:47:55,043 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ERROR_FILE] shenyu-bootstrap | 09:47:55,049 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1476235721 - setting totalSizeCap to 10 GB shenyu-bootstrap | 09:47:55,049 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1476235721 - Archive files will be limited to [100 MB] each. shenyu-bootstrap | 09:47:55,053 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1476235721 - Will use zip compression shenyu-bootstrap | 09:47:55,063 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1476235721 - Will use the pattern ./logs/shenyu-bootstrap.%d{yyyy-MM-dd}-error.%i.log for the active file shenyu-bootstrap | 09:47:55,076 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@674658f7 - The date pattern is 'yyyy-MM-dd' from file name pattern './logs/shenyu-bootstrap.%d{yyyy-MM-dd}-error.%i.log.zip'. shenyu-bootstrap | 09:47:55,076 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@674658f7 - Roll-over at midnight. shenyu-bootstrap | 09:47:55,078 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@674658f7 - Setting initial period to Wed Apr 06 08:22:52 GMT 2022 shenyu-bootstrap | 09:47:55,080 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property shenyu-bootstrap | 09:47:55,083 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - Active log file name: ./logs/shenyu-bootstrap-error.log shenyu-bootstrap | 09:47:55,084 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - File property is set to [./logs/shenyu-bootstrap-error.log] shenyu-bootstrap | 09:47:55,085 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender] shenyu-bootstrap | 09:47:55,098 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_ERROR_FILE] shenyu-bootstrap | 09:47:55,100 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ERROR_FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] shenyu-bootstrap | 09:47:55,101 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Attaching appender named [ERROR_FILE] to AsyncAppender. shenyu-bootstrap | 09:47:55,101 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Setting discardingThreshold to 0 shenyu-bootstrap | 09:47:55,110 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO shenyu-bootstrap | 09:47:55,122 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@5c8eee0f - Propagating INFO level on Logger[ROOT] onto the JUL framework shenyu-bootstrap | 09:47:55,123 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_STDOUT] to Logger[ROOT] shenyu-bootstrap | 09:47:55,124 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_FILE] to Logger[ROOT] shenyu-bootstrap | 09:47:55,124 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_ERROR_FILE] to Logger[ROOT] shenyu-bootstrap | 09:47:55,124 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. shenyu-bootstrap | 09:47:55,125 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@565b064f - Registering current configuration as safe fallback point shenyu-bootstrap | 09:47:55,173 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@5c8eee0f - Propagating INFO level on Logger[org.springframework.boot] onto the JUL framework shenyu-bootstrap | 09:47:55,174 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@5c8eee0f - Propagating INFO level on Logger[org.apache.ibatis] onto the JUL framework shenyu-bootstrap | 09:47:55,176 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@5c8eee0f - Propagating INFO level on Logger[org.apache.shenyu.bonuspoint] onto the JUL framework shenyu-bootstrap | 09:47:55,177 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@5c8eee0f - Propagating INFO level on Logger[org.apache.shenyu.lottery] onto the JUL framework shenyu-bootstrap | 09:47:55,179 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@5c8eee0f - Propagating INFO level on Logger[org.apache.shenyu] onto the JUL framework shenyu-bootstrap | shenyu-bootstrap | . ____ _ __ _ _ shenyu-bootstrap | /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ shenyu-bootstrap | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ shenyu-bootstrap | \\/ ___)| |_)| | | | | || (_| | ) ) ) ) shenyu-bootstrap | ' |____| .__|_| |_|_| |_\__, | / / / / shenyu-bootstrap | =========|_|==============|___/=/_/_/_/ shenyu-bootstrap | :: Spring Boot :: (v2.2.2.RELEASE) shenyu-bootstrap | shenyu-bootstrap | 2022-04-06 09:47:55 [main] INFO org.apache.shenyu.bootstrap.ShenyuBootstrapApplication - The following profiles are active: local shenyu-bootstrap | 2022-04-06 09:47:55 [main] INFO org.apache.shenyu.bootstrap.ShenyuBootstrapApplication - The following profiles are active: local shenyu-bootstrap | 2022-04-06 09:48:06 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode! shenyu-bootstrap | 2022-04-06 09:48:06 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode! shenyu-bootstrap | 2022-04-06 09:48:06 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. shenyu-bootstrap | 2022-04-06 09:48:06 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. shenyu-bootstrap | 2022-04-06 09:48:06 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 114ms. Found 0 Redis repository interfaces. shenyu-bootstrap | 2022-04-06 09:48:06 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 114ms. Found 0 Redis repository interfaces. shenyu-bootstrap | 2022-04-06 09:48:09 [main] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d9cc04e2-e5f3-39ce-97f0-cd5ae2518e9d shenyu-bootstrap | 2022-04-06 09:48:09 [main] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d9cc04e2-e5f3-39ce-97f0-cd5ae2518e9d shenyu-bootstrap | 2022-04-06 09:48:11 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) shenyu-bootstrap | 2022-04-06 09:48:11 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) shenyu-bootstrap | 2022-04-06 09:48:11 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration$ReactorDeferringLoadBalancerFilterConfig' of type [org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration$ReactorDeferringLoadBalancerFilterConfig] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) shenyu-bootstrap | 2022-04-06 09:48:11 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration$ReactorDeferringLoadBalancerFilterConfig' of type [org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration$ReactorDeferringLoadBalancerFilterConfig] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) shenyu-bootstrap | 2022-04-06 09:48:11 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'reactorDeferringLoadBalancerExchangeFilterFunction' of type [org.springframework.cloud.client.loadbalancer.reactive.DeferringLoadBalancerExchangeFilterFunction] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) shenyu-bootstrap | 2022-04-06 09:48:11 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'reactorDeferringLoadBalancerExchangeFilterFunction' of type [org.springframework.cloud.client.loadbalancer.reactive.DeferringLoadBalancerExchangeFilterFunction] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) shenyu-bootstrap | 2022-04-06 09:48:18 [main] WARN com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources. shenyu-bootstrap | 2022-04-06 09:48:18 [main] INFO com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. shenyu-bootstrap | 2022-04-06 09:48:18 [main] WARN com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources. shenyu-bootstrap | 2022-04-06 09:48:18 [main] INFO com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. shenyu-bootstrap | 2022-04-06 09:48:18 [main] WARN com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources. shenyu-bootstrap | 2022-04-06 09:48:18 [main] WARN com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources. shenyu-bootstrap | 2022-04-06 09:48:18 [main] INFO com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. shenyu-bootstrap | 2022-04-06 09:48:18 [main] INFO com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. shenyu-bootstrap | 2022-04-06 09:48:22 [main] INFO org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver - Exposing 2 endpoint(s) beneath base path '/actuator' shenyu-bootstrap | 2022-04-06 09:48:22 [main] INFO org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver - Exposing 2 endpoint(s) beneath base path '/actuator' shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[global] [org.apache.shenyu.plugin.global.GlobalPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[sign] [org.apache.shenyu.plugin.sign.SignPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[jwt] [org.apache.shenyu.plugin.jwt.JwtPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[oauth2] [org.apache.shenyu.plugin.oauth2.OAuth2Plugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[waf] [org.apache.shenyu.plugin.waf.WafPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[rateLimiter] [org.apache.shenyu.plugin.ratelimiter.RateLimiterPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[global] [org.apache.shenyu.plugin.global.GlobalPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[sign] [org.apache.shenyu.plugin.sign.SignPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[jwt] [org.apache.shenyu.plugin.jwt.JwtPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[oauth2] [org.apache.shenyu.plugin.oauth2.OAuth2Plugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[waf] [org.apache.shenyu.plugin.waf.WafPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[rateLimiter] [org.apache.shenyu.plugin.ratelimiter.RateLimiterPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[paramMapping] [org.apache.shenyu.plugin.param.mapping.ParamMappingPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[paramMapping] [org.apache.shenyu.plugin.param.mapping.ParamMappingPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[contextPath] [org.apache.shenyu.plugin.context.path.ContextPathPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[rewrite] [org.apache.shenyu.plugin.rewrite.RewritePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[contextPath] [org.apache.shenyu.plugin.context.path.ContextPathPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[rewrite] [org.apache.shenyu.plugin.rewrite.RewritePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[cryptorRequest] [org.apache.shenyu.plugin.cryptor.request.CryptorRequestPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[redirect] [org.apache.shenyu.plugin.redirect.RedirectPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[generalContext] [org.apache.shenyu.plugin.general.context.GeneralContextPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[hystrix] [org.apache.shenyu.plugin.hystrix.HystrixPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[cryptorRequest] [org.apache.shenyu.plugin.cryptor.request.CryptorRequestPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[redirect] [org.apache.shenyu.plugin.redirect.RedirectPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[generalContext] [org.apache.shenyu.plugin.general.context.GeneralContextPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[hystrix] [org.apache.shenyu.plugin.hystrix.HystrixPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[sentinel] [org.apache.shenyu.plugin.sentinel.SentinelPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[sentinel] [org.apache.shenyu.plugin.sentinel.SentinelPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[resilience4j] [org.apache.shenyu.plugin.resilience4j.Resilience4JPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[resilience4j] [org.apache.shenyu.plugin.resilience4j.Resilience4JPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[logging] [org.apache.shenyu.plugin.logging.LoggingPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[logging] [org.apache.shenyu.plugin.logging.LoggingPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[monitor] [org.apache.shenyu.plugin.monitor.MonitorPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[monitor] [org.apache.shenyu.plugin.monitor.MonitorPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[websocket] [org.apache.shenyu.plugin.websocket.WebSocketPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[websocket] [org.apache.shenyu.plugin.websocket.WebSocketPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[springCloud] [org.apache.shenyu.plugin.springcloud.SpringCloudPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[springCloud] [org.apache.shenyu.plugin.springcloud.SpringCloudPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[divide] [org.apache.shenyu.plugin.divide.DividePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[uri] [org.apache.shenyu.plugin.uri.URIPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[webClient] [org.apache.shenyu.plugin.httpclient.WebClientPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[modifyResponse] [org.apache.shenyu.plugin.modify.response.ModifyResponsePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[divide] [org.apache.shenyu.plugin.divide.DividePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[uri] [org.apache.shenyu.plugin.uri.URIPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[webClient] [org.apache.shenyu.plugin.httpclient.WebClientPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[modifyResponse] [org.apache.shenyu.plugin.modify.response.ModifyResponsePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[paramTransform] [org.apache.shenyu.plugin.base.RpcParamTransformPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[paramTransform] [org.apache.shenyu.plugin.base.RpcParamTransformPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[tars] [org.apache.shenyu.plugin.tars.TarsPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[dubbo] [org.apache.shenyu.plugin.apache.dubbo.ApacheDubboPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[sofa] [org.apache.shenyu.plugin.sofa.SofaPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[grpc] [org.apache.shenyu.plugin.grpc.GrpcPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[tars] [org.apache.shenyu.plugin.tars.TarsPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[cryptorResponse] [org.apache.shenyu.plugin.cryptor.response.CryptorResponsePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[dubbo] [org.apache.shenyu.plugin.apache.dubbo.ApacheDubboPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[sofa] [org.apache.shenyu.plugin.sofa.SofaPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[grpc] [org.apache.shenyu.plugin.grpc.GrpcPlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[cryptorResponse] [org.apache.shenyu.plugin.cryptor.response.CryptorResponsePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[response] [org.apache.shenyu.plugin.response.ResponsePlugin] shenyu-bootstrap | 2022-04-06 09:48:25 [main] INFO org.apache.shenyu.springboot.starter.gateway.ShenyuConfiguration - load plugin:[response] [org.apache.shenyu.plugin.response.ResponsePlugin] shenyu-bootstrap | 2022-04-06 09:48:27 [main] INFO org.apache.shenyu.springboot.starter.sync.data.websocket.WebsocketSyncDataConfiguration - you use websocket sync shenyu data....... shenyu-bootstrap | 2022-04-06 09:48:27 [main] INFO org.apache.shenyu.springboot.starter.sync.data.websocket.WebsocketSyncDataConfiguration - you use websocket sync shenyu data....... shenyu-bootstrap | 2022-04-06 09:48:28 [main] WARN org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is error..... shenyu-bootstrap | 2022-04-06 09:48:28 [main] WARN org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is error..... shenyu-bootstrap | 2022-04-06 09:48:34 [main] WARN org.springframework.cloud.loadbalancer.config.LoadBalancerCacheAutoConfiguration$LoadBalancerCaffeineWarnLogger - Spring Cloud LoadBalancer is currently working with default default cache. You can switch to using Caffeine cache, by adding it to the classpath. shenyu-bootstrap | 2022-04-06 09:48:34 [main] WARN org.springframework.cloud.loadbalancer.config.LoadBalancerCacheAutoConfiguration$LoadBalancerCaffeineWarnLogger - Spring Cloud LoadBalancer is currently working with default default cache. You can switch to using Caffeine cache, by adding it to the classpath. shenyu-bootstrap | 2022-04-06 09:48:36 [main] INFO org.springframework.boot.web.embedded.netty.NettyWebServer - Netty started on port(s): 9195 shenyu-bootstrap | 2022-04-06 09:48:36 [main] INFO org.springframework.boot.web.embedded.netty.NettyWebServer - Netty started on port(s): 9195 shenyu-bootstrap | 2022-04-06 09:48:36 [main] INFO org.apache.shenyu.bootstrap.ShenyuBootstrapApplication - Started ShenyuBootstrapApplication in 50.992 seconds (JVM running for 56.568) shenyu-bootstrap | 2022-04-06 09:48:36 [main] INFO org.apache.shenyu.bootstrap.ShenyuBootstrapApplication - Started ShenyuBootstrapApplication in 50.992 seconds (JVM running for 56.568) shenyu-bootstrap | 2022-04-06 09:48:38 [shenyu-websocket-connect-1] WARN org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is error..... shenyu-bootstrap | 2022-04-06 09:48:38 [shenyu-websocket-connect-1] WARN org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is error..... shenyu-bootstrap | 2022-04-06 09:48:48 [shenyu-websocket-connect-1] WARN org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is error..... shenyu-bootstrap | 2022-04-06 09:48:48 [shenyu-websocket-connect-1] WARN org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is error..... shenyu-bootstrap | 2022-04-06 09:48:58 [shenyu-websocket-connect-1] WARN org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is error..... shenyu-bootstrap | 2022-04-06 09:48:58 [shenyu-websocket-connect-1] WARN org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is error..... shenyu-bootstrap | 2022-04-06 09:49:08 [shenyu-websocket-connect-1] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is successful..... shenyu-bootstrap | 2022-04-06 09:49:08 [shenyu-websocket-connect-1] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - websocket connection server[ws://admin:9095/websocket] is successful..... shenyu-bootstrap | 2022-04-06 09:49:09 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"PLUGIN","eventType":"MYSELF","data":[{"id":"1","name":"sign","role":"Authentication","enabled":false},{"id":"10","name":"sentinel","role":"FaultTolerance","enabled":false},{"id":"11","name":"sofa","config":"{\"protocol\":\"zookeeper\",\"register\":\"127.0.0.1:2181\"}","role":"Proxy","enabled":false},{"id":"12","name":"resilience4j","role":"FaultTolerance","enabled":false},{"id":"13","name":"tars","config":"{\"multiSelectorHandle\":\"1\",\"multiRuleHandle\":\"0\"}","role":"Proxy","enabled":false},{"id":"14","name":"contextPath","role":"HttpProcess","enabled":true},{"id":"15","name":"grpc","config":"{\"multiSelectorHandle\":\"1\",\"multiRuleHandle\":\"0\"}","role":"Proxy","enabled":false},{"id":"16","name":"redirect","role":"HttpProcess","enabled":false},{"id":"17","name":"motan","config":"{\"register\":\"127.0.0.1:2181\"}","role":"Proxy","enabled":false},{"id":"18","name":"logging","role":"Logging","enabled":false},{"id":"19","name":"jwt","config":"{\"secretKey\":\"key\"}","role":"Authentication","enabled":false},{"id":"2","name":"waf","config":"{\"model\":\"black\"}","role":"Authentication","enabled":false},{"id":"20","name":"request","role":"HttpProcess","enabled":false},{"id":"21","name":"oauth2","role":"Authentication","enabled":false},{"id":"22","name":"paramMapping","config":"{\"ruleHandlePageType\":\"custom\"}","role":"HttpProcess","enabled":false},{"id":"23","name":"modifyResponse","config":"{\"ruleHandlePageType\":\"custom\"}","role":"HttpProcess","enabled":false},{"id":"24","name":"cryptorRequest","role":"Cryptor","enabled":true},{"id":"25","name":"cryptorResponse","role":"Cryptor","enabled":true},{"id":"26","name":"websocket","config":"{\"multiSelectorHandle\":\"1\"}","role":"Proxy","enabled":true},{"id":"27","name":"generalContext","role":"Common","enabled":true},{"id":"28","name":"mqtt","config":"{\"port\": 9500,\"bossGroupThreadCount\": 1,\"maxPayloadSize\": 65536,\"workerGroupThreadCount\": 12,\"userName\": \"shenyu\",\"password\": \"shenyu\",\"isEncryptPassword\": false,\"encryptMode\": \"\",\"leakDetectorLevel\": \"DISABLED\"}","role":"Proxy","enabled":false},{"id":"3","name":"rewrite","role":"HttpProcess","enabled":false},{"id":"4","name":"rateLimiter","config":"{\"master\":\"mymaster\",\"mode\":\"standalone\",\"url\":\"192.168.1.1:6379\",\"password\":\"abc\"}","role":"FaultTolerance","enabled":false},{"id":"5","name":"divide","config":"{\"multiSelectorHandle\":\"1\",\"multiRuleHandle\":\"0\"}","role":"Proxy","enabled":true},{"id":"6","name":"dubbo","config":"{\"register\":\"zookeeper://localhost:2181\",\"multiSelectorHandle\":\"1\"}","role":"Proxy","enabled":false},{"id":"7","name":"monitor","config":"{\"metricsName\":\"prometheus\",\"host\":\"localhost\",\"port\":\"9190\",\"async\":\"true\"}","role":"Monitor","enabled":false},{"id":"8","name":"springCloud","role":"Proxy","enabled":false},{"id":"9","name":"hystrix","role":"FaultTolerance","enabled":false}]}) shenyu-bootstrap | 2022-04-06 09:49:09 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"PLUGIN","eventType":"MYSELF","data":[{"id":"1","name":"sign","role":"Authentication","enabled":false},{"id":"10","name":"sentinel","role":"FaultTolerance","enabled":false},{"id":"11","name":"sofa","config":"{\"protocol\":\"zookeeper\",\"register\":\"127.0.0.1:2181\"}","role":"Proxy","enabled":false},{"id":"12","name":"resilience4j","role":"FaultTolerance","enabled":false},{"id":"13","name":"tars","config":"{\"multiSelectorHandle\":\"1\",\"multiRuleHandle\":\"0\"}","role":"Proxy","enabled":false},{"id":"14","name":"contextPath","role":"HttpProcess","enabled":true},{"id":"15","name":"grpc","config":"{\"multiSelectorHandle\":\"1\",\"multiRuleHandle\":\"0\"}","role":"Proxy","enabled":false},{"id":"16","name":"redirect","role":"HttpProcess","enabled":false},{"id":"17","name":"motan","config":"{\"register\":\"127.0.0.1:2181\"}","role":"Proxy","enabled":false},{"id":"18","name":"logging","role":"Logging","enabled":false},{"id":"19","name":"jwt","config":"{\"secretKey\":\"key\"}","role":"Authentication","enabled":false},{"id":"2","name":"waf","config":"{\"model\":\"black\"}","role":"Authentication","enabled":false},{"id":"20","name":"request","role":"HttpProcess","enabled":false},{"id":"21","name":"oauth2","role":"Authentication","enabled":false},{"id":"22","name":"paramMapping","config":"{\"ruleHandlePageType\":\"custom\"}","role":"HttpProcess","enabled":false},{"id":"23","name":"modifyResponse","config":"{\"ruleHandlePageType\":\"custom\"}","role":"HttpProcess","enabled":false},{"id":"24","name":"cryptorRequest","role":"Cryptor","enabled":true},{"id":"25","name":"cryptorResponse","role":"Cryptor","enabled":true},{"id":"26","name":"websocket","config":"{\"multiSelectorHandle\":\"1\"}","role":"Proxy","enabled":true},{"id":"27","name":"generalContext","role":"Common","enabled":true},{"id":"28","name":"mqtt","config":"{\"port\": 9500,\"bossGroupThreadCount\": 1,\"maxPayloadSize\": 65536,\"workerGroupThreadCount\": 12,\"userName\": \"shenyu\",\"password\": \"shenyu\",\"isEncryptPassword\": false,\"encryptMode\": \"\",\"leakDetectorLevel\": \"DISABLED\"}","role":"Proxy","enabled":false},{"id":"3","name":"rewrite","role":"HttpProcess","enabled":false},{"id":"4","name":"rateLimiter","config":"{\"master\":\"mymaster\",\"mode\":\"standalone\",\"url\":\"192.168.1.1:6379\",\"password\":\"abc\"}","role":"FaultTolerance","enabled":false},{"id":"5","name":"divide","config":"{\"multiSelectorHandle\":\"1\",\"multiRuleHandle\":\"0\"}","role":"Proxy","enabled":true},{"id":"6","name":"dubbo","config":"{\"register\":\"zookeeper://localhost:2181\",\"multiSelectorHandle\":\"1\"}","role":"Proxy","enabled":false},{"id":"7","name":"monitor","config":"{\"metricsName\":\"prometheus\",\"host\":\"localhost\",\"port\":\"9190\",\"async\":\"true\"}","role":"Monitor","enabled":false},{"id":"8","name":"springCloud","role":"Proxy","enabled":false},{"id":"9","name":"hystrix","role":"FaultTolerance","enabled":false}]}) shenyu-bootstrap | 2022-04-06 09:49:09 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"SELECTOR","eventType":"MYSELF","data":[]}) shenyu-bootstrap | 2022-04-06 09:49:09 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"SELECTOR","eventType":"MYSELF","data":[]}) shenyu-bootstrap | 2022-04-06 09:49:09 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"RULE","eventType":"MYSELF","data":[]}) shenyu-bootstrap | 2022-04-06 09:49:09 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"RULE","eventType":"MYSELF","data":[]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"SELECTOR","eventType":"UPDATE","data":[{"id":"1511643751390752768","pluginId":"5","pluginName":"divide","name":"/api/infrastructure","matchMode":0,"type":1,"sort":1,"enabled":true,"logged":true,"continued":true,"conditionList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"SELECTOR","eventType":"UPDATE","data":[{"id":"1511643751390752768","pluginId":"5","pluginName":"divide","name":"/api/infrastructure","matchMode":0,"type":1,"sort":1,"enabled":true,"logged":true,"continued":true,"conditionList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"RULE","eventType":"UPDATE","data":[{"id":"1511643751894069248","name":"/api/infrastructure/**","pluginName":"divide","selectorId":"1511643751390752768","matchMode":0,"sort":1,"enabled":true,"loged":true,"handle":"{\"loadBalance\":\"random\",\"retry\":3,\"timeout\":3000,\"headerMaxSize\":10240,\"requestMaxSize\":102400}","conditionDataList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"RULE","eventType":"UPDATE","data":[{"id":"1511643751894069248","name":"/api/infrastructure/**","pluginName":"divide","selectorId":"1511643751390752768","matchMode":0,"sort":1,"enabled":true,"loged":true,"handle":"{\"loadBalance\":\"random\",\"retry\":3,\"timeout\":3000,\"headerMaxSize\":10240,\"requestMaxSize\":102400}","conditionDataList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"SELECTOR","eventType":"UPDATE","data":[{"id":"1511643751390752768","pluginId":"5","pluginName":"divide","name":"/api/infrastructure","matchMode":0,"type":1,"sort":1,"enabled":true,"logged":true,"continued":true,"handle":"[{\"weight\":50,\"warmup\":10,\"protocol\":\"http://\",\"upstreamHost\":\"localhost\",\"upstreamUrl\":\"192.168.0.200:3000\",\"status\":true,\"timestamp\":1649238930071}]","conditionList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"SELECTOR","eventType":"UPDATE","data":[{"id":"1511643751390752768","pluginId":"5","pluginName":"divide","name":"/api/infrastructure","matchMode":0,"type":1,"sort":1,"enabled":true,"logged":true,"continued":true,"handle":"[{\"weight\":50,\"warmup\":10,\"protocol\":\"http://\",\"upstreamHost\":\"localhost\",\"upstreamUrl\":\"192.168.0.200:3000\",\"status\":true,\"timestamp\":1649238930071}]","conditionList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"SELECTOR","eventType":"UPDATE","data":[{"id":"1511643752330276864","pluginId":"14","pluginName":"contextPath","name":"/api/infrastructure","matchMode":0,"type":1,"sort":1,"enabled":true,"logged":true,"continued":true,"conditionList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"SELECTOR","eventType":"UPDATE","data":[{"id":"1511643752330276864","pluginId":"14","pluginName":"contextPath","name":"/api/infrastructure","matchMode":0,"type":1,"sort":1,"enabled":true,"logged":true,"continued":true,"conditionList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"RULE","eventType":"UPDATE","data":[{"id":"1511643752607100928","name":"/api/infrastructure","pluginName":"contextPath","selectorId":"1511643752330276864","matchMode":0,"sort":1,"enabled":true,"loged":true,"handle":"{\"contextPath\":\"/api/infrastructure\"}","conditionDataList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:30 [WebSocketConnectReadThread-40] INFO org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"RULE","eventType":"UPDATE","data":[{"id":"1511643752607100928","name":"/api/infrastructure","pluginName":"contextPath","selectorId":"1511643752330276864","matchMode":0,"sort":1,"enabled":true,"loged":true,"handle":"{\"contextPath\":\"/api/infrastructure\"}","conditionDataList":[{"paramType":"uri","operator":"match","paramName":"/","paramValue":"/api/infrastructure/**"}]}]}) shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - contextPath selector success match , selector name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - contextPath rule success match , rule name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - contextPath selector success match , selector name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - contextPath rule success match , rule name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - divide selector success match , selector name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - divide selector success match , selector name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - divide rule success match , rule name :/api/infrastructure/** shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - divide rule success match , rule name :/api/infrastructure/** shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.httpclient.WebClientPlugin - The request urlPath is http://192.168.0.200:3000/app, retryTimes is 3 shenyu-bootstrap | 2022-04-06 09:55:58 [boundedElastic-1] INFO org.apache.shenyu.plugin.httpclient.WebClientPlugin - The request urlPath is http://192.168.0.200:3000/app, retryTimes is 3 shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - contextPath selector success match , selector name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - contextPath selector success match , selector name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - contextPath rule success match , rule name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - contextPath rule success match , rule name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - divide selector success match , selector name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - divide selector success match , selector name :/api/infrastructure shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - divide rule success match , rule name :/api/infrastructure/** shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.base.AbstractShenyuPlugin - divide rule success match , rule name :/api/infrastructure/** shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.httpclient.WebClientPlugin - The request urlPath is http://192.168.0.200:3000/app, retryTimes is 3 shenyu-bootstrap | 2022-04-06 09:56:10 [boundedElastic-1] INFO org.apache.shenyu.plugin.httpclient.WebClientPlugin - The request urlPath is http://192.168.0.200:3000/app, retryTimes is 3 shenyu-bootstrap | # shenyu-bootstrap | # A fatal error has been detected by the Java Runtime Environment: shenyu-bootstrap | # shenyu-bootstrap | # Internal Error (assembler_aarch64.hpp:1156), pid=33, tid=0x0000ffffad4a6aa0 shenyu-bootstrap | # guarantee(Rs != Rn && Rs != Rt) failed: unpredictable instruction shenyu-bootstrap | # shenyu-bootstrap | # JRE version: OpenJDK Runtime Environment (8.0_212-b04) (build 1.8.0_212-b04) shenyu-bootstrap | # Java VM: OpenJDK 64-Bit Server VM (25.212-b04 mixed mode linux-aarch64 compressed oops) shenyu-bootstrap | # Derivative: IcedTea 3.12.0 shenyu-bootstrap | # Distribution: Custom build (Sat May 4 17:44:26 UTC 2019) shenyu-bootstrap | # Core dump written. Default location: /opt/shenyu-bootstrap/core or core.33 shenyu-bootstrap | # shenyu-bootstrap | # An error report file with more information is saved as: shenyu-bootstrap | # /opt/shenyu-bootstrap/hs_err_pid33.log shenyu-bootstrap | # shenyu-bootstrap | # Compiler replay data is saved as: shenyu-bootstrap | # /opt/shenyu-bootstrap/replay_pid33.log shenyu-bootstrap | # shenyu-bootstrap | # If you would like to submit a bug report, please include shenyu-bootstrap | # instructions on how to reproduce the bug and visit: shenyu-bootstrap | # https://icedtea.classpath.org/bugzilla shenyu-bootstrap | # ```

I found the same problem elsewhere, it looks like there was a bug in the OpenJDK that needs to be fixed by upgrading the Docker image.

erdengk commented 2 years ago

hi, @myesn I checked the link you provided and I think you are right. Maybe this problem can be solved by upgrading the openjdk version, can you help try it? I've been so busy with exams lately that I don't have time for this at the moment.

myesn commented 2 years ago

Very understand that you are busy with exams, but can other project members help me look at this problem (database and shenyu services run on arm64 architecture)?

I tried it all day today, using the v2.4.2 tag and deploying it with Docker-Compose, but things didn't go well. I replaced the base Docker Image for shenyu-bootstrap and shenyu-admin with openjdk:8u322-jre, and there was another new problems:

  1. Because the db service image does not support arm64 architecture, I used biarms/mysql:5.7.30-linux-arm64v8 as a replacement, and it seems to work fine
  2. shenyu-admin service's spring.profiles.active=mysql environment variable configuration no longer works, I used SPRING_PROFILES_ACTIVE=mysql to replace it and it works
  3. The log of the shenyu-admin service has an error that the database cannot be connected: Communications link failure(The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server)

But when I use the source code of v2.4.2 tag to run locally, the above errors do not appear, so I want to debug by printing some logs in the source code, but I don't know how the release profile works. I modified the source code, but there is no newly added code in the tar.gz file of the final release. I tried my best. I have been doing this all day today. The Raspberry Pi executes mvn -Prelease, docker is very Slow, it takes more than ten minutes each time. I really want to introduce this gateway product in our company, but at present, in terms of deployment, the database, shenyu bootstrap and shenyu admin cannot run well on the arm64 architecture. I Hope you guys can help me with these issues, I'd be more than happy to assist you with testing!

Thanks!

JooKS-me commented 2 years ago

Can you provide the log of shenyu-admin?

myesn commented 2 years ago

@JooKS-me Thank you very much for your reply, I have compiled the following information for your reference.

All of the following steps are performed on the Raspberry Pi:

1. Download and extract v2.4.2 Souce code(tar.gz) 2. Open and edit the contents of incubator-shenyu-2.4.2/shenyu-dist/shenyu-admin-dist/Dockerfile and incubator-shenyu-2.4.2/shenyu-dist/shenyu-bootstrap-dist/Dockerfile files:

changes ``` # 1. Replace `FROM openjdk:8-jre-alpine` with: FROM openjdk:8u322-jre # 2. Replace `apk --no-cache add procps` with: RUN apt-get update && \ apt-get install -y --no-install-recommends procps && \ rm -rf /var/lib/apt/lists/* ```

3. Switch to the incubator-shenyu-2.4.2/shenyu-dist directory and execute the following command (Total time 10:51 min):

mvn clean install -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests -Prelease,docker

Although the following warning appears during the build process, the final result is BUILD SUCCESS:

warning logs ``` [INFO] --- maven-assembly-plugin:3.0.0:single (admin-bin) @ shenyu-admin-dist --- [INFO] Reading assembly descriptor: /home/ubuntu/shenyu/incubator-shenyu-2.4.2/shenyu-dist/shenyu-admin-dist/src/main/assembly/binary.xml [WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible / [WARNING] Cannot include project artifact: org.apache.shenyu:shenyu-admin-dist:pom:2.4.2; it doesn't have an associated file or directory. [INFO] --- maven-assembly-plugin:3.0.0:single (bootstrap-bin) @ shenyu-bootstrap-dist --- [INFO] Reading assembly descriptor: /home/ubuntu/shenyu/incubator-shenyu-2.4.2/shenyu-dist/shenyu-bootstrap-dist/src/main/assembly/binary.xml [WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible / [WARNING] Cannot include project artifact: org.apache.shenyu:shenyu-bootstrap-dist:pom:2.4.2; it doesn't have an associated file or directory. ```
docker images output ``` ubuntu@ubuntu:~/shenyu/docker/shenyu-v2.4.2$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE apache/shenyu-bootstrap 2.4.2 c2ed2d3e9c8e 28 minutes ago 557MB apache/shenyu-bootstrap latest c2ed2d3e9c8e 28 minutes ago 557MB apache/shenyu-admin 2.4.2 260bf5284967 34 minutes ago 426MB apache/shenyu-admin latest 260bf5284967 34 minutes ago 426MB openjdk 8u322-jre 285c82c72a84 8 days ago 265MB portainer/portainer-ce 2.11.1 8000bafa387b 8 weeks ago 267MB mariadb 10.2.41 9af1a2a8b723 2 months ago 325MB ```

4. Execute the following command to download the v2.4.2 install.sh file (auto-execute), the script will create a shenyu-v2.4.2 directory, since the database does not support arm64 architecture, this script will terminate when it outputs Pulling db(docker.io/mysql:5.7):

curl https://raw.githubusercontent.com/apache/incubator-shenyu/v2.4.2/shenyu-dist/shenyu-docker-compose-dist/src/main/resources/install.sh | bash -s v2.4.2 mysql

5. Open the shenyu-v2.4.2/docker-compose.yaml file and modify the following:

changes ``` 1. Replace the `v2.4.2` tag character in the `image` value in the `shenyu-bootstrap` service with `2.4.2` 2. Replace the `v2.4.2` tag character in the `image` value in the `shenyu-admin` service with `2.4.2` 3. Add a new environment variable `shenyu.register.props.checked=false` to the `environment` of the `shenyu-admin` service 4. Replace the `image` value in the `db` service with `mariadb:10.2.41` ([[type: refactor] Change mysql image to mariadb in docker-compose yaml](https://github.com/apache/incubator-shenyu/pull/3210)) ```
docker-compose.yaml ```yaml # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # version: "2.1" services: shenyu-bootstrap: image: apache/shenyu-bootstrap:2.4.2 container_name: shenyu-bootstrap ports: - "9195:9195" volumes: - ./shenyu-bootstrap/logs/:/opt/shenyu-bootstrap/logs - ./shenyu-bootstrap/conf/:/opt/shenyu-bootstrap/conf links: - shenyu-admin:admin depends_on: - shenyu-admin environment: - shenyu.sync.websocket.urls=ws://admin:9095/websocket shenyu-admin: image: apache/shenyu-admin:2.4.2 container_name: shenyu-admin environment: - spring.profiles.active=mysql - spring.datasource.url=jdbc:mysql://db:3306/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false - spring.datasource.username=root - spring.datasource.password=xyzj1a2y3 - shenyu.register.props.checked=false volumes: - ./shenyu-admin/logs/:/opt/shenyu-admin/logs - ./shenyu-admin/conf/:/opt/shenyu-admin/conf - ./shenyu-admin/ext-lib/:/opt/shenyu-admin/ext-lib ports: - "9095:9095" links: - db:db depends_on: db: condition: service_healthy db: image: mariadb:10.2.41 container_name: db environment: MYSQL_ROOT_PASSWORD: xyzj1a2y3 MYSQL_DATABASE: shenyu ports: - 3310:3306 healthcheck: test: [ "CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-pxyzj1a2y3" ] interval: 6s timeout: 5s retries: 10 ```

6. Execute docker-compose up -d command to start the service collection, all 3 services are created and started successfully, then execute docker-compose logs -f shenyu-admin to view the logs:

shenyu-admin logs

From the logs, we can see that the shenyu-admin program is using the h2 profile, but the environment variable configured in docker-compose.yaml is mysql.

So I went inside the shenyu-admin container to check the environment variables and found no problems:

shenyu-admin environment variables inside the container ``` ubuntu@ubuntu:~/shenyu/docker/shenyu-v2.4.2$ docker-compose exec shenyu-admin bash root@e289bd63ba2a:/opt/shenyu-admin# printenv shenyu.register.props.checked=false spring.profiles.active=mysql spring.datasource.username=root spring.datasource.url=jdbc:mysql://db:3306/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.password=xyzj1a2y3 HOSTNAME=e289bd63ba2a JAVA_HOME=/usr/local/openjdk-8 PWD=/opt/shenyu-admin LOCAL_PATH=/opt/shenyu-admin HOME=/root LANG=C.UTF-8 TERM=xterm SHLVL=1 PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin JAVA_VERSION=8u322 _=/usr/bin/printenv ```

7. So I opened the docker-compose.yaml file and replaced spring.profiles.active=mysql with SPRING_PROFILES_ACTIVE=mysql in the environment of the shenyu-admin service:

docker-compose.yaml ``` # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # version: "2.1" services: shenyu-bootstrap: image: apache/shenyu-bootstrap:2.4.2 container_name: shenyu-bootstrap ports: - "9195:9195" volumes: - ./shenyu-bootstrap/logs/:/opt/shenyu-bootstrap/logs - ./shenyu-bootstrap/conf/:/opt/shenyu-bootstrap/conf links: - shenyu-admin:admin depends_on: - shenyu-admin environment: - shenyu.sync.websocket.urls=ws://admin:9095/websocket shenyu-admin: image: apache/shenyu-admin:2.4.2 container_name: shenyu-admin environment: - SPRING_PROFILES_ACTIVE=mysql - spring.datasource.url=jdbc:mysql://db:3306/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false - spring.datasource.username=root - spring.datasource.password=xyzj1a2y3 - shenyu.register.props.checked=false volumes: - ./shenyu-admin/logs/:/opt/shenyu-admin/logs - ./shenyu-admin/conf/:/opt/shenyu-admin/conf - ./shenyu-admin/ext-lib/:/opt/shenyu-admin/ext-lib ports: - "9095:9095" links: - db:db depends_on: db: condition: service_healthy db: image: mariadb:10.2.41 container_name: db environment: MYSQL_ROOT_PASSWORD: xyzj1a2y3 MYSQL_DATABASE: shenyu ports: - 3310:3306 healthcheck: test: [ "CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-pxyzj1a2y3" ] interval: 6s timeout: 5s retries: 10 ```

8. Execute docker-compose down -v (for a clearer view of the logs), then execute docker-compose up -d again, wait for a successful start and then execute docker-compose logs -f shenyu-admin to view the logs:

shenyu-admin logs

From the output log, we can see that active profile is already correctly configured for mysql, but there is a Communications link failure error, which causes the program to run abnormally.

That's all the steps and the process.

JooKS-me commented 2 years ago
  1. Execute the following command to download the v2.4.2 install.sh file (auto-execute), the script will create a shenyu-v2.4.2 directory, since the database does not support arm64 architecture, this script will terminate when it outputs Pulling db(docker.io/mysql:5.7):

@myesn After executing this command, what does the file directory look like (for example, you can check it with the tree command)? Did something else go wrong while executing the script?

myesn commented 2 years ago

@JooKS-me Please check the following content:

And I noticed an unexpected file docker-compose.yamlr, but I looked at the contents of the install.sh file and there was nothing relevant.

ubuntu@ubuntu:~/shenyu/docker$ ls
ubuntu@ubuntu:~/shenyu/docker$ curl https://raw.githubusercontent.com/apache/incubator-shenyu/v2.4.2/shenyu-dist/shenyu-docker-compose-dist/src/main/resources/install.sh | bash -s v2.4.2 mysql
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2229  100  2229    0     0     67      0  0:00:33  0:00:33 --:--:--   564
current version: v2.4.2
current storage: mysql
download docker-compose configuration
download mysql-connector.jar
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2275k  100 2275k    0     0  1010k      0  0:00:02  0:00:02 --:--:-- 1010k
download shenyu-admin of configuration
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1102  100  1102    0     0    640      0  0:00:01  0:00:01 --:--:--   639
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4585  100  4585    0     0   9188      0 --:--:-- --:--:-- --:--:--  9188
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2788  100  2788    0     0   5632      0 --:--:-- --:--:-- --:--:--  5620
download shenyu-bootstrap of configuration
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    14  100    14    0     0      6      0  0:00:02  0:00:02 --:--:--     6
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4589  100  4589    0     0  11443      0 --:--:-- --:--:-- --:--:-- 11443
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4361  100  4361    0     0  11012      0 --:--:-- --:--:-- --:--:-- 10984
Creating network "shenyu-v242_default" with the default driver
Pulling db (docker.io/mysql:5.7)...
5.7: Pulling from library/mysql
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
ubuntu@ubuntu:~/shenyu/docker$ tree
.
└── shenyu-v2.4.2
    β”œβ”€β”€ docker-compose.yaml
    β”œβ”€β”€ docker-compose.yamlr
    β”œβ”€β”€ shenyu-admin
    β”‚Β Β  β”œβ”€β”€ conf
    β”‚Β Β  β”‚Β Β  β”œβ”€β”€ application-mysql.yml
    β”‚Β Β  β”‚Β Β  β”œβ”€β”€ application.yml
    β”‚Β Β  β”‚Β Β  └── logback.xml
    β”‚Β Β  β”œβ”€β”€ ext-lib
    β”‚Β Β  β”‚Β Β  └── mysql-connector.jar
    β”‚Β Β  └── logs
    └── shenyu-bootstrap
        β”œβ”€β”€ conf
        β”‚Β Β  β”œβ”€β”€ application-local.yml
        β”‚Β Β  β”œβ”€β”€ application.yml
        β”‚Β Β  └── logback.xml
        └── logs

8 directories, 9 files
JooKS-me commented 2 years ago

Hi @myesn , I reproduced your problem locally :)

I find that the base image you used openjdk:8u322-jre will make the env of spring invalid.

There may be no problem in the dockerfile, and it is recommended not to modify it. I read the log of your shenyu-bootstrap, that is probably because shenyu-admin failed to start successfully, not because of the image problem of openjdk.