From: | "Yi Lin" <ylin30(at)cs(dot)mcgill(dot)ca> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: FastPath blocked when ERROR is thrown |
Date: | 2006-04-12 01:07:13 |
Message-ID: | 61065.65.92.138.65.1144804033.squirrel@mail.cs.mcgill.ca |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
HI Kris Jurka:
>> I used java API FastPath.fastpath(fid, ...) to call a C function
>> PGfn(conn, fid,...) in the kernal. But if there is an exception (i.e.,
>> ERROR messages is thrown in the backend due to elog(ERROR, ...)), the
>> FastPath.fastpath(fid, ..) is blocked and never returns.
>>
>
> The attached code runs fine with the cvs jdbc driver and a 8.0.7 server.
> You haven't mentioned your versions, but this code hasn't changed recently
> so anything relatively new should be fine.
>
I am using a modified version of Postgresql 7.2. It was modified by adding
Writeset functionality needed by replication such as Postgres-R. The
function Fastpath.fastpath(2075, ..) -> PQfn(conn, 2075, ..) in the
attached codes will trigger a non-standard function putWriteset()
implemented by one previous student in my lab. So I don't think you tested
the attached codes against the PQfn(..) which I am worried about.
It seems to me that the exception caused by elog(ERROR, ..) is not thrown
upto Fastpath.fastpath(2075, ..). But I know so little about the kernal of
postgresql that I can't trace the bug. Could u please give me some hints
(e.g., the functions or files to examinate)? I am going to check if the C
version PQfn(..) will be blocked by ERROR or not.
> How do you know the function is erroring out? What does the server log
> say?
I intentionally inserted a tuple twice in two separated txns hence the
second insertion txn would cause an ERROR message. And then the function
fastpath(..) gets blocked forever. The error message is sth like:
ERROR: can't insert the same key to index t_a_pk_index twice. Tuple exists
already. To abort the transaction (No Error).
Sorry I don't know how to read server logs at all.
thanks a lot!
Yi
>
> Kris Jurka
=======================================
Yi Lin
Ph.D. candidate
School of Computer Science
McGill University
Montreal, Quebec,Canada
URL: http://www.cs.mcgill.ca/~ylin30/
\\\ $ ///
@ @
======o0o==0==o0o======================
From | Date | Subject | |
---|---|---|---|
Next Message | Markus Riehl | 2006-04-12 03:50:00 | Re: No automatic reconnect after network error |
Previous Message | Wei Wei | 2006-04-11 23:53:55 | Re: Calendar vs. Timestamp |