Sonarqube 从 7.4 社区升级到 7.9 JVM 错误
Sonarqube upgrade from 7.4-community to 7.9 JVM ERROR
我正在尝试将 sonarqube 从 7.4-community
docker 版本升级到 7.9-community
版本。但是当我通过 http://sonar_IP:9000/setup
进行数据库升级时出现此错误。我在服务器上也有足够的内存。
你知道这个错误吗?
我已经设置了 docker-compose 参数来更改 Java 虚拟内存,但似乎没有用。
docker-compose.yml参数:
- SONAR_RUNNER_OPTS="-Xmx9216m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=128m"
Docker sonarqube 启动时记录:
sonarqube_1 | 2020.06.15 07:19:25 INFO es[][o.e.n.Node] JVM arguments [-XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=/opt/sonarqube/temp, -XX:ErrorFile=../logs/es_hs_err_pid%p.log, -Des.enforce.bootstrap.checks=true, -Xms512m, -Xmx512m, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/opt/sonarqube/elasticsearch, -Des.path.conf=/opt/sonarqube/temp/conf/es, -Des.distribution.flavor=default, -Des.distribution.type=tar]
sonarqube_1 | 2020.06.15 07:01:04 INFO web[][DbMigrations] Executing DB migrations...
sonarqube_1 | 2020.06.15 07:01:04 INFO web[][DbMigrations] #2800 'Truncate environment variables and system properties from existing scanner reports'...
sonarqube_1 | java.lang.OutOfMemoryError: Java heap space
sonarqube_1 | Dumping heap to java_pid122.hprof ...
sonarqube_1 | Heap dump file created [483151698 bytes in 0.928 secs]
sonarqube_1 | 2020.06.15 07:01:09 ERROR web[][DbMigrations] #2800 'Truncate environment variables and system properties from existing scanner reports': failure | time=4629ms
sonarqube_1 | 2020.06.15 07:01:09 ERROR web[][DbMigrations] Executed DB migrations: failure | time=4638ms
sonarqube_1 | 2020.06.15 07:01:09 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] Container restart failed | time=4831ms
sonarqube_1 | 2020.06.15 07:01:09 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] Container restart failed
sonarqube_1 | java.lang.OutOfMemoryError: Java heap space
sonarqube_1 | at org.postgresql.jdbc.PgPreparedStatement.setBytes(PgPreparedStatement.java:339)
sonarqube_1 | at org.apache.commons.dbcp2.DelegatingPreparedStatement.setBytes(DelegatingPreparedStatement.java:306)
sonarqube_1 | at org.apache.commons.dbcp2.DelegatingPreparedStatement.setBytes(DelegatingPreparedStatement.java:306)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.BaseSqlStatement.setBytes(BaseSqlStatement.java:93)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.UpsertImpl.setBytes(UpsertImpl.java:30)
sonarqube_1 | at org.sonar.server.platform.db.migration.version.v79.TruncateEnvAndSystemVarsFromScannerContext.truncateScannerContext(TruncateEnvAndSystemVarsFromScannerContext.java:55)
sonarqube_1 | at org.sonar.server.platform.db.migration.version.v79.TruncateEnvAndSystemVarsFromScannerContext$$Lambda25/0x0000000100790040.handle(Unknown Source)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.MassUpdate.callSingleHandler(MassUpdate.java:118)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.MassUpdate.lambda$execute[=11=](MassUpdate.java:92)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.MassUpdate$$Lambda26/0x0000000100790440.handle(Unknown Source)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.SelectImpl.scroll(SelectImpl.java:79)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.MassUpdate.execute(MassUpdate.java:92)
请注意,在日志的第一行,sonarqube 以“-Xms512m、-Xmx512m”开头,您的 SONAR_RUNNER_OPTS 变量无法正常工作。
是的,正确的艾萨克。谢谢回复。已经
我设法解决了更改 sonar.properties
文件中与 Elasticsearch、计算引擎和 Web 服务器相关的 JVM 参数的问题。然后升级成功。
我成功地将 sonarqube 从 6.5 升级到 8.3.1 版本。
网络服务器:
sonar.web.javaOpts=-Xmx4096m -Xms4096m -XX:+HeapDumpOnOutOfMemoryError
计算引擎:
sonar.ce.javaOpts=-Xmx4096m -Xms4096m -XX:+HeapDumpOnOutOfMemoryError
弹性搜索:
sonar.search.javaOpts=-Xms2048m -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError
我正在尝试将 sonarqube 从 7.4-community
docker 版本升级到 7.9-community
版本。但是当我通过 http://sonar_IP:9000/setup
进行数据库升级时出现此错误。我在服务器上也有足够的内存。
你知道这个错误吗?
我已经设置了 docker-compose 参数来更改 Java 虚拟内存,但似乎没有用。
docker-compose.yml参数:
- SONAR_RUNNER_OPTS="-Xmx9216m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=128m"
Docker sonarqube 启动时记录:
sonarqube_1 | 2020.06.15 07:19:25 INFO es[][o.e.n.Node] JVM arguments [-XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=/opt/sonarqube/temp, -XX:ErrorFile=../logs/es_hs_err_pid%p.log, -Des.enforce.bootstrap.checks=true, -Xms512m, -Xmx512m, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/opt/sonarqube/elasticsearch, -Des.path.conf=/opt/sonarqube/temp/conf/es, -Des.distribution.flavor=default, -Des.distribution.type=tar]
sonarqube_1 | 2020.06.15 07:01:04 INFO web[][DbMigrations] Executing DB migrations...
sonarqube_1 | 2020.06.15 07:01:04 INFO web[][DbMigrations] #2800 'Truncate environment variables and system properties from existing scanner reports'...
sonarqube_1 | java.lang.OutOfMemoryError: Java heap space
sonarqube_1 | Dumping heap to java_pid122.hprof ...
sonarqube_1 | Heap dump file created [483151698 bytes in 0.928 secs]
sonarqube_1 | 2020.06.15 07:01:09 ERROR web[][DbMigrations] #2800 'Truncate environment variables and system properties from existing scanner reports': failure | time=4629ms
sonarqube_1 | 2020.06.15 07:01:09 ERROR web[][DbMigrations] Executed DB migrations: failure | time=4638ms
sonarqube_1 | 2020.06.15 07:01:09 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] Container restart failed | time=4831ms
sonarqube_1 | 2020.06.15 07:01:09 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] Container restart failed
sonarqube_1 | java.lang.OutOfMemoryError: Java heap space
sonarqube_1 | at org.postgresql.jdbc.PgPreparedStatement.setBytes(PgPreparedStatement.java:339)
sonarqube_1 | at org.apache.commons.dbcp2.DelegatingPreparedStatement.setBytes(DelegatingPreparedStatement.java:306)
sonarqube_1 | at org.apache.commons.dbcp2.DelegatingPreparedStatement.setBytes(DelegatingPreparedStatement.java:306)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.BaseSqlStatement.setBytes(BaseSqlStatement.java:93)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.UpsertImpl.setBytes(UpsertImpl.java:30)
sonarqube_1 | at org.sonar.server.platform.db.migration.version.v79.TruncateEnvAndSystemVarsFromScannerContext.truncateScannerContext(TruncateEnvAndSystemVarsFromScannerContext.java:55)
sonarqube_1 | at org.sonar.server.platform.db.migration.version.v79.TruncateEnvAndSystemVarsFromScannerContext$$Lambda25/0x0000000100790040.handle(Unknown Source)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.MassUpdate.callSingleHandler(MassUpdate.java:118)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.MassUpdate.lambda$execute[=11=](MassUpdate.java:92)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.MassUpdate$$Lambda26/0x0000000100790440.handle(Unknown Source)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.SelectImpl.scroll(SelectImpl.java:79)
sonarqube_1 | at org.sonar.server.platform.db.migration.step.MassUpdate.execute(MassUpdate.java:92)
请注意,在日志的第一行,sonarqube 以“-Xms512m、-Xmx512m”开头,您的 SONAR_RUNNER_OPTS 变量无法正常工作。
是的,正确的艾萨克。谢谢回复。已经
我设法解决了更改 sonar.properties
文件中与 Elasticsearch、计算引擎和 Web 服务器相关的 JVM 参数的问题。然后升级成功。
我成功地将 sonarqube 从 6.5 升级到 8.3.1 版本。
网络服务器:
sonar.web.javaOpts=-Xmx4096m -Xms4096m -XX:+HeapDumpOnOutOfMemoryError
计算引擎:
sonar.ce.javaOpts=-Xmx4096m -Xms4096m -XX:+HeapDumpOnOutOfMemoryError
弹性搜索:
sonar.search.javaOpts=-Xms2048m -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError