Closed mastercard-rob closed 2 years ago
Which helm chart are you using, and how are you loading and configuring the plugin in it?
Hi, I have same problem on sonarque docker: 9.2.4.50792
λ mvn clean verify sonar:sonar \
-Dsonar.projectKey=demo \
-Dsonar.branch.name=temp \
-Dsonar.host.url=http://virtual:9000 \
-Dsonar.login=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sonarqube_1 | 2021.12.31 07:37:04 ERROR web[AX4PayOKbUWIT3OOAAA0][o.s.s.w.WebServiceEngine] Fail to process request http://virtual:9000/api/ce/submit?projectKey=demo&projectName=demo&characteristic=branch%3Dtemp&characteristic=branchType%3DBRANCH
sonarqube_1 | java.lang.IllegalStateException: Current edition does not support branch feature
sonarqube_1 | at com.google.common.base.Preconditions.checkState(Preconditions.java:508)
sonarqube_1 | at org.sonar.server.ce.queue.BranchSupport.createComponentKey(BranchSupport.java:59)
sonarqube_1 | at org.sonar.server.ce.queue.ReportSubmitter.submit(ReportSubmitter.java:82)
sonarqube_1 | at org.sonar.server.ce.ws.SubmitAction.handle(SubmitAction.java:100)
sonarqube_1 | at org.sonar.server.ws.WebServiceEngine.execute(WebServiceEngine.java:111)
In addition, below properties seem to be useless
# cat sonar.properties |grep "sonarqube-community-branch-plugin"
sonar.web.javaAdditionalOpts=-javaagent:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin-1.10.0.jar=web
sonar.ce.javaAdditionalOpts=-javaagent:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin-1.10.0.jar=ce
# ls /opt/sonarqube/extensions/plugins/
README.txt sonar-pmd-plugin-3.3.1.jar
sonar-findbugs-plugin-4.0.5.jar sonarqube-community-branch-plugin-1.10.0.jar
sonar-l10n-zh-plugin-9.2.jar
λ cat docker-compose.yml
version: "3.7"
services:
sonarqube:
image: sonarqube:latest
ports:
- "9000:9000"
networks:
- sonarnet
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
- sonarqube_temp:/opt/sonarqube/temp
networks:
sonarnet:
driver: bridge
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
sonarqube_temp:
... I have found my mistake. I just modified the property file in a running docker container. The sonar server restarted without any respect of this change. And all modifications will no longer exist after current container destroyed.
So I specify the two environment properties within docker and it works now. Reference Here.
environment:
- SONAR_WEB_JAVAADDITIONALOPTS=-javaagent:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin-1.10.0.jar=web
- SONAR_CE_JAVAADDITIONALOPTS=-javaagent:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin-1.10.0.jar=ce
Not sure, but it seems something is odd with our integration for GitLab.
I've upgrade our SonarQube installation via docker to sonarqube:9-community
and integrated the plugin, in version 1.10, with the arguments mentioned above. We get the following error in our GitLab pipeline:
ERROR: Error during SonarScanner execution
java.lang.NoClassDefFoundError: org/sonar/core/extension/CoreExtension
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at org.sonar.classloader.ClassRealm.loadClassFromSelf(ClassRealm.java:125)
at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:37)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
at com.github.mc1arke.sonarqube.plugin.classloader.ElevatedClassLoaderFactory$1.loadClass(ElevatedClassLoaderFactory.java:80)
at com.github.mc1arke.sonarqube.plugin.classloader.ElevatedClassLoaderFactory$1.loadClass(ElevatedClassLoaderFactory.java:72)
at com.github.mc1arke.sonarqube.plugin.CommunityBranchPluginBootstrap.define(CommunityBranchPluginBootstrap.java:65)
at org.sonar.scanner.bootstrap.ExtensionInstaller.install(ExtensionInstaller.java:58)
at org.sonar.scanner.scan.ModuleScanContainer.addExtensions(ModuleScanContainer.java:74)
at org.sonar.scanner.scan.ModuleScanContainer.doBeforeStart(ModuleScanContainer.java:48)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:384)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:380)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:349)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:136)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
at com.sun.proxy.$Proxy0.execute(Unknown Source)
at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.ClassNotFoundException: org.sonar.core.extension.CoreExtension
at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:39)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
... 42 more
Not sure, what exactly went wrong - any ideas how I can fix it?
Edit: It is not working for our main branch, and not for our merge requests.
Edit: it seems to be working now, yay! fun fact: we did not change anything.
Describe the bug Have deployed SonarQube 9.2.4 using Helm and installed v1.10.0 of the plugin however when I scan a branch and pass the sonar.branch.name param to the sonarscanner I'm seeing the following message in the logs java.lang.IllegalStateException: Current edition does not support branch feature
To Reproduce Steps to reproduce the behavior:
Expected behavior sonarscanner should pass
Screenshots If applicable, add screenshots to help explain your problem.
Software Versions
Additional context N/A