Server starts 3 Java processes instead of one
Before 4.5, starting SonarQube server used to launch only the Web server. Starting with 4.5, the search index has been pulled out of the web server. Therefore, starting SonarQube creates 3 processes (and thus 3 different logs file):
- The Web server
- The Search server
- The main process that handles and monitors the 2 first ones
In order to communicate with each other, those processes need to open more ports than previously. By default:
- 9001: port of the Search server
- 9002: JMX port for the Search server
- 9003: JMX port for the Web server
For servers with more than one IP address, it is possible to specify which one will be used for listening on the specified ports.
Some files in the installation folder have changed
Because of the previous point:
- Some new properties have been introduced in "sonar.properties" file. Most notably, if the JVM needs to be tuned, there are 2 new properties that fully replace the ones previously set in the "wrapper.conf" file:
sonar.web.javaOptsto tune the web server
sonar.search.javaOptsto tune the search server
- "conf/wrapper.conf" is now minimal. It defines only the path to Java executable, if not available in PATH.
- This file should not be replaced by the one of your previous SonarQube instance
- Inside "logs/": "sonar.log" file has been split into several files (one per process)
"sonar.profile" no more considered in sub projects
Since a long time ago, it's been possible to associate a project with some quality profile in the UI only at project level - but not at sub project level. On batch side, it was possible - thanks to a side effect - to set different values of "sonar.profile" for each sub project of a multi-module project. This corner case is no more supported.