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?