My daily work involves development with JBoss and Postgres      (pgAdmin).
      After many JBoss's redeployments (starts/stops/killings) and pgAdmin      crashes
      JBoss could not be started. More specifically on start time I got      the following 
      exception:
      
      Postgres error: 'FATAL too many connections' 
      
      I opened pgAdmin and executed the following script to get all open      connection
      on my database foodb:
      
      SELECT * FROM pg_stat_activity
      where datname='foodb';
      
      At total 18...I guess this is the limit of the connections thread      pool of Postgres
      (normally pgAdmin uses 2 connections and JBoss (v5) 12 connections).
      
      In order to kill all of them (stop first JBoss) I executed the      following script:
      
      select pg_terminate_backend(procpid) from pg_stat_activity where        datname='foodb';
        
      On a closer examination the reason was not closing my Hibernate      sessions in my code; or pgAdmin not 
      closing sessions when it crashes; or JBoss letting connections open      when killing it.
      
    
 
No comments:
Post a Comment