Lists: | pgsql-jdbc |
---|
From: | "Kai Ruhl" <k(dot)ruhl(at)etamax(dot)de> |
---|---|
To: | <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | JVM crash when select count(*) on large table through JDBC |
Date: | 2008-02-22 16:25:15 |
Message-ID: | EA13934D0B77D048A9BFD95BDA9D5C7D1DFC05@ariane5.etamax.site |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
Hello,
I have a curious problem, which I would like to know whether somebody
can reproduce this: From a JVM using JDBC, I issue
select count(*) from big_table
where big table has more than 20 million entries (timestamps and
numbers). Upon PreparedStatement.executeQuery(), the VM quits, without
any message.
Java VM: 1.4.2-16 (latest one)
Pg-Jdbc: JDBC3 Postgresql Driver, Version 8.3-603
Server: PostgreSQL 8.1.11 (on Debian etch)
The most surprising thing is the lack of any error message (I had
expected a TimeOutException, or OutOfMemoryError, or the like), as if
someone had called System.exit().
The same commando, when executed through pgAdmin III, works.
As suggested on the website (http://jdbc.postgresql.org/lists.html), I
have searched the mailing lists, to no avail so far.
I would highly appreciate any reproduction of these results, or
suggestions for remedy.
Kind regards,
Kai Ruhl
From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Kai Ruhl <k(dot)ruhl(at)etamax(dot)de> |
Cc: | <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: JVM crash when select count(*) on large table through JDBC |
Date: | 2008-02-22 19:30:38 |
Message-ID: | 6A512B66-38FD-4CB7-A2BC-73198ECC5563@fastcrypt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
On 22-Feb-08, at 11:25 AM, Kai Ruhl wrote:
> Hello,
>
> I have a curious problem, which I would like to know whether somebody
> can reproduce this: From a JVM using JDBC, I issue
>
> select count(*) from big_table
>
> where big table has more than 20 million entries (timestamps and
> numbers). Upon PreparedStatement.executeQuery(), the VM quits, without
> any message.
>
It's my understanding that regardless of what a java program is doing
(aside from calling exit, or jni code) , it should never crash.
I would say there is a bug in your jvm.
From: | "Andres Olarte" <olarte(dot)andres(at)gmail(dot)com> |
---|---|
To: | "Kai Ruhl" <k(dot)ruhl(at)etamax(dot)de> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: JVM crash when select count(*) on large table through JDBC |
Date: | 2008-02-22 20:19:02 |
Message-ID: | 3fccaa690802221219u7c7fd66bk4cc152cb8819e26b@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
Just did a quick test with synthetic data (20M rows 3 columns: serial,
timestamp, and text). And it worked ok both on Java (with driver
postgresql-8.1-407.jdbc3.jar) and PgAdmin.
Perhaps you could try to build a test case to expose the problem?
On Fri, Feb 22, 2008 at 1:30 PM, Dave Cramer <pg(at)fastcrypt(dot)com> wrote:
>
> On 22-Feb-08, at 11:25 AM, Kai Ruhl wrote:
>
> > Hello,
> >
> > I have a curious problem, which I would like to know whether somebody
> > can reproduce this: From a JVM using JDBC, I issue
> >
> > select count(*) from big_table
> >
> > where big table has more than 20 million entries (timestamps and
> > numbers). Upon PreparedStatement.executeQuery(), the VM quits, without
> > any message.
> >
> It's my understanding that regardless of what a java program is doing
> (aside from calling exit, or jni code) , it should never crash.
>
> I would say there is a bug in your jvm.
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Andres Olarte <olarte(dot)andres(at)gmail(dot)com> |
Cc: | Kai Ruhl <k(dot)ruhl(at)etamax(dot)de>, pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: JVM crash when select count(*) on large table through JDBC |
Date: | 2008-02-22 20:33:44 |
Message-ID: | Pine.BSO.4.64.0802221531070.24398@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
On Fri, 22 Feb 2008, Andres Olarte wrote:
> Just did a quick test with synthetic data (20M rows 3 columns: serial,
> timestamp, and text). And it worked ok both on Java (with driver
> postgresql-8.1-407.jdbc3.jar) and PgAdmin.
>
> Perhaps you could try to build a test case to expose the problem?
From a client perspective, select count(*) should be the same no matter
how many rows there are and what types of columns are in the table, so a
test case won't be helpful. If the JVM is just up and dying, that's the
JVM's fault not a pg issue.
Kris Jurka
From: | "Andres Olarte" <olarte(dot)andres(at)gmail(dot)com> |
---|---|
To: | "Kris Jurka" <books(at)ejurka(dot)com> |
Cc: | "Kai Ruhl" <k(dot)ruhl(at)etamax(dot)de>, pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: JVM crash when select count(*) on large table through JDBC |
Date: | 2008-02-22 20:39:54 |
Message-ID: | 3fccaa690802221239t4763c8e8y7ad83e2cd1cfb2a5@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
I know it's the same to count 1 o 20M rows, but it takes much longer
to count 20M. I really don't know much about the internal of the
driver, but maybe some kind of time out?
On Fri, Feb 22, 2008 at 2:33 PM, Kris Jurka <books(at)ejurka(dot)com> wrote:
>
> On Fri, 22 Feb 2008, Andres Olarte wrote:
>
> > Just did a quick test with synthetic data (20M rows 3 columns: serial,
> > timestamp, and text). And it worked ok both on Java (with driver
> > postgresql-8.1-407.jdbc3.jar) and PgAdmin.
> >
> > Perhaps you could try to build a test case to expose the problem?
>
> From a client perspective, select count(*) should be the same no matter
> how many rows there are and what types of columns are in the table, so a
> test case won't be helpful. If the JVM is just up and dying, that's the
> JVM's fault not a pg issue.
>
> Kris Jurka
>
From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Andres Olarte <olarte(dot)andres(at)gmail(dot)com> |
Cc: | "Kris Jurka" <books(at)ejurka(dot)com>, "Kai Ruhl" <k(dot)ruhl(at)etamax(dot)de>, pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: JVM crash when select count(*) on large table through JDBC |
Date: | 2008-02-22 21:13:18 |
Message-ID: | 6CA15016-F105-4963-B9B2-3462EA2B3B53@fastcrypt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
As Kris said and I said. If your jvm crashes it's a jvm problem.
I know people that have queries that take 20 minutes or more...
Dave
On 22-Feb-08, at 3:39 PM, Andres Olarte wrote:
> I know it's the same to count 1 o 20M rows, but it takes much longer
> to count 20M. I really don't know much about the internal of the
> driver, but maybe some kind of time out?
>
> On Fri, Feb 22, 2008 at 2:33 PM, Kris Jurka <books(at)ejurka(dot)com> wrote:
>>
>> On Fri, 22 Feb 2008, Andres Olarte wrote:
>>
>>> Just did a quick test with synthetic data (20M rows 3 columns:
>>> serial,
>>> timestamp, and text). And it worked ok both on Java (with driver
>>> postgresql-8.1-407.jdbc3.jar) and PgAdmin.
>>>
>>> Perhaps you could try to build a test case to expose the problem?
>>
>> From a client perspective, select count(*) should be the same no
>> matter
>> how many rows there are and what types of columns are in the table,
>> so a
>> test case won't be helpful. If the JVM is just up and dying,
>> that's the
>> JVM's fault not a pg issue.
>>
>> Kris Jurka
>>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
> http://www.postgresql.org/about/donate