Here my upstart config for solr which is located under /etc/init/solr.conf
# /etc/init/solr.conf
description "Starts Solr server"
respawn
start on startup solr_push
script
echo "Starting solr server..."
cd /opt/solr/solr-4.2.1/example
exec java -Xms50M -Xmx80M -Djava.util.logging.config.file=/etc/solr/logging.properties -Dsolr.solr.home=/etc/solr -jar start.jar >> /var/log/solr/solr-console.log 2>&1
end script
When I update this upstart config, for example changing java options from -Xmx80M
to -Xmx70M
and then do
sudo restart solr
ps aux | grep solr
I still see -Xm80M
over there, even though solr process was started with new process id.
When I do sudo stop solr
and then sudo start solr
manually - everything looks as expected and I can see new values in the ps aux
.
I was under impression that upstart restart does stop and start behind the scenes, but then why results of maunal stop and start differ from restart?
Please advice, maybe I'm doing something incorrectly?
From "
man initctl
"...restart JOB [KEY=VALUE]...
Requests that an instance of the named JOB be restarted, outputting the status of the job to standard output when the command completes.
The job instance being restarted will retain its original configuration.
To have the new instance run with the latest job configuration, stop the job and then start it again instead.