Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #33978

Re: Troubles with informix jdbc driver ...

From Andreas Leitgeb <avl@logic.at>
Newsgroups comp.lang.java.programmer
Subject Re: Troubles with informix jdbc driver ...
Date 2016-03-15 22:25 +0000
Organization A noiseless patient Spider
Message-ID <slrnneh33t.456.avl@login.logic.tuwien.ac.at> (permalink)
References <slrnnedgqn.456.avl@login.logic.tuwien.ac.at> <nc7d8t$oki$1@gioia.aioe.org>

Show all headers | View raw


Arne Vajhøj <arne@vajhoej.dk> wrote:
> On 3/14/2016 9:54 AM, Andreas Leitgeb wrote:
>> A previous version of Informix jdbc ("3.70.JC5DE") was very
>> strict with "thread safety", in that it governed any connection
>> to any db server with a global lock.  If one DB server was
>> temporarily unreachable, then it would block also connections
>> to any other db server (attempted from other threads).
>>
>> Some newer version of their jdbc driver (4.10.JC5) seems to
>> have that fixed, but we now observe that Connections obtained
>> from calling DriverManager.getConnection(...) casually get
>> mixed up!  As a result, we observe threads retrieving data
>> from wrong servers - not always, but "moderately reproducible".
>
> I have never seen such a problem before.
> But let us investigate a bit.
> So essentially you have
>
> thread 1:
> Connection cona = DriverManager.getConnection(constr2a);
>
> thread 2:
> Connection conb = DriverManager.getConnection(constr2b);
>
> and sometimes you end up with the Connection object actually having
> the connection to the wrong database (different connection string)?

Yes, that's my interpretation of what's happening at the lower levels,
based on observing the higher levels...  I'll first need to come up with
an <sccee> to run on my PC, then I can add further debugging aids to
determine if two threads eventually get references to the same connection,
or whether they get two separate connections for the wrongly same db-url.

> As if there somewhere deep down in the driver code were a static field
> being overwritten.
> That would be easy to test by just putting:
> synchronized(DriverManagager.class) {
> }
> around all the getConnection calls.

Like Marcel in his follow-up, I can't quite see how that could
help me locate the bug.  It would probably "fix" the bug, but 
get me back to what I had with the old driver, namely the problem
that a single bad connect will - until timeout of the tcp-connect - 
block other threads from connecting even to other&alive servers.

Thanks, anyway.

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Troubles with informix jdbc driver ... Andreas Leitgeb <avl@logic.at> - 2016-03-14 13:54 +0000
  Re: Troubles with informix jdbc driver ... Marcel Mueller <news.5.maazl@spamgourmet.org> - 2016-03-14 21:23 +0100
    Re: Troubles with informix jdbc driver ... Andreas Leitgeb <avl@logic.at> - 2016-03-14 21:30 +0000
  Re: Troubles with informix jdbc driver ... Arne Vajhøj <arne@vajhoej.dk> - 2016-03-14 18:16 -0400
    Re: Troubles with informix jdbc driver ... Marcel Mueller <news.5.maazl@spamgourmet.org> - 2016-03-15 21:57 +0100
      Re: Troubles with informix jdbc driver ... Arne Vajhøj <arne@vajhoej.dk> - 2016-03-15 21:18 -0400
    Re: Troubles with informix jdbc driver ... Andreas Leitgeb <avl@logic.at> - 2016-03-15 22:25 +0000
      Re: Troubles with informix jdbc driver ... Arne Vajhøj <arne@vajhoej.dk> - 2016-03-15 21:25 -0400
  Re: Troubles with informix jdbc driver ... Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2016-03-14 21:26 -0700
    Re: Troubles with informix jdbc driver ... Andreas Leitgeb <avl@logic.at> - 2016-03-15 22:09 +0000
      Re: Troubles with informix jdbc driver ... Andreas Leitgeb <avl@logic.at> - 2016-03-16 21:37 +0000
        Re: Troubles with informix jdbc driver ... Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2016-03-16 22:36 -0700
          Re: Troubles with informix jdbc driver ... -- workaround found Andreas Leitgeb <avl@logic.at> - 2016-03-17 17:23 +0000
            Re: Troubles with informix jdbc driver ... -- workaround found Andreas Leitgeb <avl@logic.at> - 2016-03-18 11:13 +0000

csiph-web