Re: Is SPI safe to use in multi-threaded PL/Java? - Mailing list pgsql-hackers

From MauMau
Subject Re: Is SPI safe to use in multi-threaded PL/Java?
Date
Msg-id 3E82FCBA4F7242FB826536A8B6390945@maumau
Whole thread Raw
In response to Re: Is SPI safe to use in multi-threaded PL/Java?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
From: "Tom Lane" <tgl@sss.pgh.pa.us>
> That, more or less.  There is exactly zero provision in the Postgres
> code for multiple threads to exist inside a backend process.  It's
> possible that PL/Java manages to completely insulate the Java world
> from the C world, so that the C code never sees more than one thread.
> But any leakage at all in that abstraction is probably going to cause
> bugs; and as I said, we (PG hackers) are not going to consider such
> bugs to be our problem.
>
> On platforms where the standard libc supports threading (which is most,
> these days), I'd be particularly worried about leakage along the path
> java -> libc -> postgres.  If libc becomes aware that there are multiple
> threads executing inside the process, it's likely to change behaviors.

I see... even Tom-san is suspicious about the PL/Java's design, or the use 
of SPI from code linked with libpthread.so.  I'll communicate this to the 
PL/Java community.

Regards
MauMau




pgsql-hackers by date:

Previous
From: "MauMau"
Date:
Subject: Re: [bug fix] pg_ctl always uses the same event source
Next
From: Robert Haas
Date:
Subject: Re: Torn page hazard in ginRedoUpdateMetapage()