Troubleshooting
Problem
Recently you swithced to single user mode using onmode -j. Now you have changed back to multi-user or online mode using onmode -m. You are trying to connect to the database server but seeing 25571 messages in the online.log: listener-thread: err = -25571: oserr = 0: errstr = : Cannot create a user thread. The error -25571 has been encountered 60 times since it was last printed to the log.
Cause
Going into single user mode ( onmode -j ) kills all non-DBSA/informix user connections to the server. This kill is not a graceful process so it will leave TCP/IP connections on the port with a status of FIN_WAIT_2. There is a parameter called TCP_FIN_WAIT_2_FLUSH_INTERVAL that sets the amount of time that a connection will stay in this state. The default value for this parameter can be over 10 minutes. If many connections are killed by onmode -j, then you could have a large backlog of TCP/IP connections with a status of FIN_WAIT_2 waiting for the OS to finally close them after the interval defined by TCP_FIN_WAIT_2_FLUSH_INTERVAL has passed. Depending on the queue size defined for the port and the number of killed connections on the port you might not be able to fit any more connections in the queue for that port.
onmode -j is designed to kill the connections in this manner so you can enter single user mode immediately. When running onmode -j you are asked if you want to kill all non-DBSA/informix user connections to the server.
Diagnosing The Problem
netstat -an | grep <informix port number>
The state of the connections to the port will show FIN_WAIT_2 and CLOSE_WAIT.
Resolving The Problem
- If you want to change mode to single user but there are many connections to the server consider doing a graceful shutdown ( onmode -s ) first that won't allow new connections but will allow the existing connections to complete.
- Consider bringing the engine offline to more cleanly, but still quickly, drop all the connections then online then single user mode like this; onmode -ky;oninit;onmode -jy
- Decrease the value of TCP_FIN_WAIT_2_FLUSH_INTERVAL. Please consult your system administrator for more information about this option.
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21670639