mdm - Established Linux processes -


we running ibm mdm server (initiate) connects through pooling mechanism oracle db server. configuration of pooling has been set 32. have custom java process submits data mdm server through api mdm server exposes. once our custom java process (which not open db connections directly) terminates, see number of processes between mdm server , db server has risen number greater 32. after each nightly run, see number of processes keeps on increasing , reached limit set oracle db (700) , db wont let more connections opened , our process fails on night. trying figure why arent processes getting terminated , why being still in established mode (as per netstat command)

there several reasons number of processes increase , sockets in established state.

typical mistake spawning child process each message/connect/register , not reusing existing connection. there timer callbacks involved

e.g.,

c - register timer callback -> server c -> spawn process receive reply , listen on receive socket c - register timer callback -> server -> server c -> spawn process receive reply , listen on receive socket 

instead should be

c - register timer callback -> server c -> spawn process receive reply , listen on receive socket c - set initialized flag c - register timer callback -> server c -> if initialized not spawn process receive reply 

Comments

Popular posts from this blog

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - UML - How would you draw a try catch in a sequence diagram? -

c++ - No viable overloaded operator for references a map -