Thread: jdbc and nfs

jdbc and nfs

From
"Christian Bourque"
Date:
Hi!

I'm having a problem connecting with jdbc to a pg server using a user
account with an nfs mounted home directory.

Here's the scenario:

The pg server is running on server B (openSUSE) and I'm connecting to
it from server C (Solaris 10) using a user account with an nfs mounted
directory from server A (openSUSE).

If I unmount the nfs share it works! But with the share it doesn't,
the connection seems to reach the server but it gets stuck there, no
error and it doesn't timeout either...

It really looks like a problem with pg/jdbc and nfs since I did the
same test with our oracle server (running on the same machine as our
pg server) and it worked!

I've also tested the same thing using a user account that doesn't have
is home directory mounted by nfs and it worked!

Any help would be appreciated!

Thanks

Christian

Re: jdbc and nfs

From
Tom Lane
Date:
"Christian Bourque" <christian.bourque@gmail.com> writes:
> The pg server is running on server B (openSUSE) and I'm connecting to
> it from server C (Solaris 10) using a user account with an nfs mounted
> directory from server A (openSUSE).

> If I unmount the nfs share it works! But with the share it doesn't,
> the connection seems to reach the server but it gets stuck there, no
> error and it doesn't timeout either...

It's way too hard to believe that NFS per se is interfering.

What I could believe is that there is some configuration-type file in
your home directory that is causing a problem, and after the unmount
it's not visible so no problem.  There are obvious possibilities for
this such as ~/.psqlrc if you're using psql/libpq, but I dunno enough
about the JDBC environment to guess whether it has equivalents.

If all else fails, you could try strace'ing the application (or whatever
Solaris' equivalent to strace is) in both cases and comparing results.
That would at least make it clearer where it's hanging up ...

            regards, tom lane

Re: jdbc and nfs

From
Dave Cramer
Date:
On 16-Feb-08, at 1:19 PM, Tom Lane wrote:

> "Christian Bourque" <christian.bourque@gmail.com> writes:
>> The pg server is running on server B (openSUSE) and I'm connecting to
>> it from server C (Solaris 10) using a user account with an nfs
>> mounted
>> directory from server A (openSUSE).
>
>> If I unmount the nfs share it works! But with the share it doesn't,
>> the connection seems to reach the server but it gets stuck there, no
>> error and it doesn't timeout either...
>
> It's way too hard to believe that NFS per se is interfering.
>
seems far fetched to me too.

> What I could believe is that there is some configuration-type file in
> your home directory that is causing a problem, and after the unmount
> it's not visible so no problem.  There are obvious possibilities for
> this such as ~/.psqlrc if you're using psql/libpq, but I dunno enough
> about the JDBC environment to guess whether it has equivalents.
>
There is no equivalent use in the jdbc environment.

> If all else fails, you could try strace'ing the application (or
> whatever
> Solaris' equivalent to strace is) in both cases and comparing results.
> That would at least make it clearer where it's hanging up ...
>
>             regards, tom lane
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>               http://archives.postgresql.org


Re: jdbc and nfs

From
"Christian Bourque"
Date:
Hi Tom,

I think you were right, there is something in the home directory that
is conflicting!

I don't understand why jdbc would use something in the user's home
directory though...

Anyway the workaround I found was to not map the share directly under
the user's home account and now it works!

Thanks for your help!

Christian

On Feb 16, 2008 1:19 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Christian Bourque" <christian.bourque@gmail.com> writes:
> > The pg server is running on server B (openSUSE) and I'm connecting to
> > it from server C (Solaris 10) using a user account with an nfs mounted
> > directory from server A (openSUSE).
>
> > If I unmount the nfs share it works! But with the share it doesn't,
> > the connection seems to reach the server but it gets stuck there, no
> > error and it doesn't timeout either...
>
> It's way too hard to believe that NFS per se is interfering.
>
> What I could believe is that there is some configuration-type file in
> your home directory that is causing a problem, and after the unmount
> it's not visible so no problem.  There are obvious possibilities for
> this such as ~/.psqlrc if you're using psql/libpq, but I dunno enough
> about the JDBC environment to guess whether it has equivalents.
>
> If all else fails, you could try strace'ing the application (or whatever
> Solaris' equivalent to strace is) in both cases and comparing results.
> That would at least make it clearer where it's hanging up ...
>
>                         regards, tom lane
>

Re: jdbc and nfs

From
Dave Cramer
Date:
On 16-Feb-08, at 2:45 PM, Christian Bourque wrote:

> Hi Tom,
>
> I think you were right, there is something in the home directory that
> is conflicting!
>
> I don't understand why jdbc would use something in the user's home
> directory though...
>
> Anyway the workaround I found was to not map the share directly under
> the user's home account and now it works!
>
My guess is your classpath ?

Dave
> Thanks for your help!
>
> Christian
>
> On Feb 16, 2008 1:19 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> "Christian Bourque" <christian.bourque@gmail.com> writes:
>>> The pg server is running on server B (openSUSE) and I'm connecting
>>> to
>>> it from server C (Solaris 10) using a user account with an nfs
>>> mounted
>>> directory from server A (openSUSE).
>>
>>> If I unmount the nfs share it works! But with the share it doesn't,
>>> the connection seems to reach the server but it gets stuck there, no
>>> error and it doesn't timeout either...
>>
>> It's way too hard to believe that NFS per se is interfering.
>>
>> What I could believe is that there is some configuration-type file in
>> your home directory that is causing a problem, and after the unmount
>> it's not visible so no problem.  There are obvious possibilities for
>> this such as ~/.psqlrc if you're using psql/libpq, but I dunno enough
>> about the JDBC environment to guess whether it has equivalents.
>>
>> If all else fails, you could try strace'ing the application (or
>> whatever
>> Solaris' equivalent to strace is) in both cases and comparing
>> results.
>> That would at least make it clearer where it's hanging up ...
>>
>>                        regards, tom lane
>>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings


Re: jdbc and nfs

From
"Christian Bourque"
Date:
No it hasn't anything to do with the classpath I've used...

I've investigated the problem a little bit further by profiling my
simple jdbc test class and found out that most of the time is spent in
this class:

sun.security.pkcs11.wrapper.PKCS11.C_Initialize

98% of the time is spent in that function with 3694 calls (well it
will last forever if I don't kill the process)!

So I guess it's a problem with Sun/Solaris security mixed with nfs issue...

Christian

On Feb 16, 2008 4:09 PM, Dave Cramer <pg@fastcrypt.com> wrote:
>
> On 16-Feb-08, at 2:45 PM, Christian Bourque wrote:
>
> > Hi Tom,
> >
> > I think you were right, there is something in the home directory that
> > is conflicting!
> >
> > I don't understand why jdbc would use something in the user's home
> > directory though...
> >
> > Anyway the workaround I found was to not map the share directly under
> > the user's home account and now it works!
> >
> My guess is your classpath ?
>
> Dave
> > Thanks for your help!
> >
> > Christian
> >
> > On Feb 16, 2008 1:19 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >> "Christian Bourque" <christian.bourque@gmail.com> writes:
> >>> The pg server is running on server B (openSUSE) and I'm connecting
> >>> to
> >>> it from server C (Solaris 10) using a user account with an nfs
> >>> mounted
> >>> directory from server A (openSUSE).
> >>
> >>> If I unmount the nfs share it works! But with the share it doesn't,
> >>> the connection seems to reach the server but it gets stuck there, no
> >>> error and it doesn't timeout either...
> >>
> >> It's way too hard to believe that NFS per se is interfering.
> >>
> >> What I could believe is that there is some configuration-type file in
> >> your home directory that is causing a problem, and after the unmount
> >> it's not visible so no problem.  There are obvious possibilities for
> >> this such as ~/.psqlrc if you're using psql/libpq, but I dunno enough
> >> about the JDBC environment to guess whether it has equivalents.
> >>
> >> If all else fails, you could try strace'ing the application (or
> >> whatever
> >> Solaris' equivalent to strace is) in both cases and comparing
> >> results.
> >> That would at least make it clearer where it's hanging up ...
> >>
> >>                        regards, tom lane
> >>
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 5: don't forget to increase your free space map settings
>
>