The situation is this:
I have cygwin with ( dll 1.3.2 ) and latest Postgresql 7.1.2 on Win 2000
with SP1.
I use Java and JDBC to connect from a Windows to Postgresql server to do a
very simple select:
select count(*) from table1; // returns count of 2
It works fine.
Now I run this on 10 threads in my Java program. Each thread loops for
100000000 times.
When I do this every thing appears to be ok at first. Then, I realize that I
am loosing free memory really fast.
I go in the "task manager" in windows 2000 and look at the memory usage for
each process. It is fine i.e not growing.
But Available physical memory is going down really fast. I have no clue at
first.
Then I notice that in Performance tab of Windows task manager, under Totals,
the handles is running very fast.
I discovered that it begins from 4080 and goes on incrimenting ( to a very
large number ) until I run out of memory.
Since both client and DB server are on the same machine it is hard to tell
which is leaking handles!
Now I moved the client to another machine. The client uses JDBC to connect
to the PG Database running in Win2000 Cygwin environment on another Machine.
I looked at the Windows Task Monitor to notice that there are no leaking
handles on the client Machine. Therefore leak is not in my Program.
The handles are being leaked by PG on the Machine acting as DB Server in
Cygwin environment.
I hope this isolates the problem further to PG and Cygwin and not JDBC and
Client code.
Lets fix this problem.
Thanks,
Vinay