Thread: BUG #4990: JDBC batch insert blocks

BUG #4990: JDBC batch insert blocks

From
"dan boeriu"
Date:
The following bug has been logged online:

Bug reference:      4990
Logged by:          dan boeriu
Email address:      dan.boeriu@roost.com
PostgreSQL version: 8.3.6 8.3.7 8.4
Operating system:   Redhat Linux 5.3
Description:        JDBC batch insert blocks
Details:

After I sent 250 records to the database (batch INSERT) the db is not
responding back.
I used the debugger to see what the backend is doing:

#0  0x0000003c4e6d3cf5 in send () from /lib64/libc.so.6
#1  0x000000000053ab05 in internal_flush () at pqcomm.c:1087
#2  0x000000000053ac36 in internal_putbytes (s=0x1f353bf8 "\004\023",
len=378) at pqcomm.c:1042
#3  0x000000000053ac9c in pq_putmessage (msgtype=116 't', s=0x1f353870
"\001@", len=1282) at pqcomm.c:1178
#4  0x000000000053c314 in pq_endmessage (buf=0x7fffbe5c7b60) at
pqformat.c:373
#5  0x00000000005adc53 in PostgresMain (argc=4, argv=<value optimized out>,
username=0x1f2b5fc0 "dbo_staging")
    at postgres.c:2266
#6  0x0000000000582fb7 in ServerLoop () at postmaster.c:3207
#7  0x0000000000583c3b in PostmasterMain (argc=5, argv=0x1f2b0ab0) at
postmaster.c:1029
#8  0x000000000053cbce in main (argc=5, argv=<value optimized out>) at
main.c:188

The backtrace is the same if I try to print it several times.
I am using the postgresql-8.3-603.jdbc4.jar driver.

Now the weird thing is that sometimes it works sometimes it doesn't.

Re: BUG #4990: JDBC batch insert blocks

From
Alvaro Herrera
Date:
dan boeriu wrote:

> After I sent 250 records to the database (batch INSERT) the db is not
> responding back.
> I used the debugger to see what the backend is doing:
>
> #0  0x0000003c4e6d3cf5 in send () from /lib64/libc.so.6

What does netstat say about the socket buffers?  Are they full?

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support