commit so slow program looks frozen

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(I tried this question on the interface forum and got no result, but I don't 
know how to tell if it's an interface issue or not)

I have a TCL app which typically takes hours to complete. I found out that 
it is taking longer than it should because it occasionally stalls 
inexplicably (for tens of minute at a time) then usually continues.

There are a minimum of four apps running at the same time, all reading 
different sections of the same table, all writing to the same db and the 
same tables. The other apps seem unaffected by the one app that freezes.

This happens running "pg_exec $conn "commit" from within a TCL script on a 
client app.


The delays are so long that I used to think the app was hopelessly frozen. 
By accident, I left the app alone in its frozen state and came back a good 
deal later and seen that it was running again.

Sometimes I decide it *IS* frozen and have to restart. Because Ctrl-C will 
not cause the script to break, it appears the app is stuck in non-TCL code 
(either waiting for postgres or stuck in the interface code?)

The application loops through an import file, reading one row at a time, and 
issues a bunch of inserts and updates to various tables. There's a simple 
pg_exec $conn "start transaction" at the beginning of the loop and the 
commit at the end. The commit actually appears to be going through.

There are no messages of any significance in the log. There do not appear to 
be any outstanding locks or transactions.

I am not doing any explicit locking, all transaction settings are set to 
default.

Any thoughts on the cause and possible solutions would be appreciated.

Carlo




[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux