JohnsonHttpRequestHandlerServlet message in the Stash log
Symptoms
The following appears in the atlassian-stash.log
:
c.a.j.s.w.c.s.JohnsonHttpRequestHandlerServlet HttpRequestHandlerServlet [scmServlet] cannot be initialised to service an incoming request; redirecting to /unavailable
Diagnosis
To replicate this issue in a test environment at will do the following:
Assumption:
- Have a remote repository defined as Stash on your system (or modify the shell scripts below to use an appropriate remote name)
- Clear out all the old logs from
$STASH_HOME/logs
- Stash is running on a *nix style OS. If running on Windows change the shell script to appropriately configured batch files
- Stash is running
Create one of the following shell scripts:
for i in {1..150000}
do
echo Fetching from stash
git fetch stash
done
or
for i in {1..150000}
do
echo Pulling from stash
git pull stash
done
(chmod +x
the .sh file to make it executable)
Open two terminal windows to the server.
- In Terminal Window A (TWA) start the shell script that you created.
- In Terminal Window B (TWB) stop Stash
./stop-stash.sh
- In TWA note that you will start getting "connection refused" messages
- In TWB start Stash
./start-stash.sh
- In TWA the connection refused messages will stop and you will start to get errors saying something about "not valid: is this a git repository". Eventually the messages will return to Fetching/Pulling from Stash. At this point you can stop the shell script (control-c) and then review the
atlassian-stash.log
Cause
These warning messages are a result of git fetch
or git pull
commands that are being sent to the the Stash server while Stash is stopping\starting and is not in a state that it can actually process the requests
Resolution
These messages in the log can be safely ignored