Subject | RE: [IB-Java] Re: Dying connections with interclient |
---|---|
Author | Thomas Pridham |
Post date | 2001-04-16T17:22:44Z |
We have seen the same problem with running interserver on Linux (the
connection dying when idle for x number of minutes). We are putting the
connections in a pool and then accessing them via a Java App server. On our
Win2000 dev boxes, the issue is not present (using the same application
code).
Please let the list know what your testing reveals!
Thanks,
Tom Pridham
Software Engineer
Computer Management Consultants
6951 Pistol Range Road
Tampa, FL 33536
813-935-7332 ext. 165
813-854-4538 - Fax
http://www.cmctpa.com
http://www.oakscape.com
-----Original Message-----
From: Ola Samuelson [mailto:ola@...]
Sent: Monday, April 16, 2001 1:03 PM
To: IB-Java@yahoogroups.com
Subject: Re: [IB-Java] Re: Dying connections with interclient
Hi!
I'll do some test in the line of what you are suggesting.
I know for a fact that only java via interserver on linux dies.
Connections are dying when idle for a few minutes.
Connections doesn't break under use so there is nothing to log.
I am trying to use them and they are not valid anymore so I have to start
new
ones.
Consistency: Same no matter if db is local or remote.
What do you think about my ideas that there is a libc/jdk issue or maybe
there
can even
be something wrong with our switching hubs connecting the server/client???
Thanks!
//OLAS
David Jencks wrote:
IB-Java-unsubscribe@egroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
connection dying when idle for x number of minutes). We are putting the
connections in a pool and then accessing them via a Java App server. On our
Win2000 dev boxes, the issue is not present (using the same application
code).
Please let the list know what your testing reveals!
Thanks,
Tom Pridham
Software Engineer
Computer Management Consultants
6951 Pistol Range Road
Tampa, FL 33536
813-935-7332 ext. 165
813-854-4538 - Fax
http://www.cmctpa.com
http://www.oakscape.com
-----Original Message-----
From: Ola Samuelson [mailto:ola@...]
Sent: Monday, April 16, 2001 1:03 PM
To: IB-Java@yahoogroups.com
Subject: Re: [IB-Java] Re: Dying connections with interclient
Hi!
I'll do some test in the line of what you are suggesting.
I know for a fact that only java via interserver on linux dies.
Connections are dying when idle for a few minutes.
Connections doesn't break under use so there is nothing to log.
I am trying to use them and they are not valid anymore so I have to start
new
ones.
Consistency: Same no matter if db is local or remote.
What do you think about my ideas that there is a libc/jdk issue or maybe
there
can even
be something wrong with our switching hubs connecting the server/client???
Thanks!
//OLAS
David Jencks wrote:
> Hi,experienced
> what you are seeing is radically different from anything I have
> with any version of interclient.The
>
> As I mentioned, my connections break after several hours, not minutes.
> pool I use seems to have no problem discarding broken connections andholds
> replacing them immediately with new working ones.
>
> Can you tell us...
>
> Are the connections breaking under use or when they are unused for several
> minutes?
>
> Can you write a simple non pooling program that gets a connection and
> onto it, and tests to see if it works after various periods of time? (suchtime
> as having a gui with a button, and you do the timing).
>
> If you are using the connections when they break, can you log all the sql
> sent from interserver to interbase? Is there some consistency in what is
> happening when they break?
>
> (maybe someone knows another way to log sql, I put
>
> errorLog(sqlString);//uncomment to log all sql statements executed
>
> as the first line of IB_Statement.cpp methods preparenoinput and
> preparenoinputnooutput)
>
> does this happen consistently on several machines with interbase,
> interserver, interclient and your client program all on the same machine?
>
> Thanks
> David Jencks
>
> On 2001.04.15 16:27:05 -0400 Ola Samuelson wrote:
> > Hi!
> >
> > > hours (overnight, 8 hours or so) of disuse the connections break, so
> >
> > In my case it's a matter of a few minutes and after that the connections
> > are lost which means new ones has to be created. But creating
> > new ones while old ones are "dying" takes "forever". I goes real fast to
> > create
> > like
> > 10 connections the first time.
> >
> > I have a connection pool which tries to revive the connections but
> > even with this the connections that I am reviving(restarting)
> > are slow. Also, Interserver processes related to dead connections
> > are not returning memory.
> > So after a while I have like a few megs avail even with no heavy load.
> > I have 512M in the system and after starting all processes the first
> > time some 35megs are occupied.
> >
> > So the server is spiraling down :-(
> >
> > It does not matter if they are constantly used or not.(If i remember
> > correctly)
> >
> > I only use get meta data when starting the connection pool to get number
> > of allowed connections.
> >
> > I have not got a clue what's going on.
> > 1. Connections are dying after a few minutes
> > 2." connection.isclosed()" does not really tell me if it is closed or
> > not. I
> > worked a bit better when I did dummy reads to check
> > the state of the connection. But this cost to much time.
> > 3. I am using a pool which many have tried and are extremely happy with.
> > AND I
> > have tried others as well. So my guess it's not that.
> > 4. Even with a pool full of what is supposed to be available connections
> > - at
> > time of use the connection is found dead and
> > a new one needs to be created. Creation of new ones at this point in
> > takesI
> > 30 secs sometimes.
> > 5. there has been some spurious exceptions indicating inability of IC to
> > resolve database url
> >
> > Could it be a glibc/jdk/interclient combination problem?
> > I think I have tried them all by now.
> >
> > Right now I am on:
> > glibc 2.1.3-22(original was 2.1.3-21)
> > JDK 1.2.2_007(tried all 1.2's from blackdown and suns 1.3.0_02)
> > Apache Jserv 1.1.2 (got from CVS)
> > Apache JSSI 1.1.2
> > Intel PIII SMP machine based on RH6.1 with all updates
> >
> > Same behavior even with the db locally so I guess it's not a network
> > problem.
> > I have tried setting various tcp parameters with sysctl and it did seem
> > to
> > improve things
> > a bit since it kills connections in fin_wait state sooner. And the
> > interserver
> > processes
> > related to dead connections are reported to be in state fin_wait or
> > time_wait.
> >
> > Detail: NIC is Intel EEPRO 100 with Donald Beckers driver from february
> > think.completely
> >
> > I did compile interserver from cvs a few weeks ago and used it in
> > conjuction
> > with
> > interclient.jar supplied by Joe Shevland(interbase2000.org).
> >
> > No difference .........
> >
> > Like I said I have tried the db locally no change but the current one
> > is behind a firewall with filtering and portforwarding allowing 3050/tcp
> > to pass between the machines. The server is running IB 6.01CS on linux
> > smp 2.2.18 kernel. It all worked better when we ran IB 5.6 - on the
> > server
> > but we need the 6.01 features so...... Any server side configs that
> > enables
> > a remote interserver to work better?
> >
> > I find it confirmed after going through and following IC newsgroups and
> > mailinglists for more than 18 months that there are at least three
> > problems
> > with all downloadable versions of interclient/interserver:
> > 1. Dying connections - seen a lot of mail about that one
> > 2. Interserver eating memory
> > 3. Inablility to use more than ~20 connections under Linux.
> > True or false?
> >
> > Sorry for my ramblings - ask away if I am being unclear!
> >
> > Ideas or questions?
> > Many thanks in advance.
> > //OLAS
> >
> > PS.
> > One thing I have noticed: I get a "SIGPIPE" error thrown by
> > the servlet engine if I transfer more than a few K's from over the
> > connection.
> > And this ONLY happens when accessed with Netscape over the web.
> > Not with IE. I don't know if it's related in any way.
> >
> >
> >
> >
> >
> >
> > >
> > > although I encourage you to try my changes I doubt they will
> > fixstuff.
> > > the problem. I haven't put up a compiled version, I was waiting for
> > > someone to try it out on windows, and got involved in some other
> > > You can check out the 2.0 source and find the ant build script in theinforming
> > > firebird directory. Let me know if you have any problems.
> > >
> > > Can you be more specific about what is happening? How long before the
> > > connections break? Are you using them all the time or are there long
> > > periods of doing nothing? The problems I know about happen after long
> > > periods of disuse. The problems I fixed were primarily that the
> > > DatabaseMetaData.getTables(...) call immediately crashed interserver.
> > If
> > > you are using metadata methods it is very possible that my fix will
> > help.
> > >
> > > Thanks
> > > David Jencks
> > >
> > > On 2001.04.13 16:46:28 -0400 Ola Samuelson wrote:
> > > > Hi!
> > > > Sure will try everything ..............
> > > >
> > > > Where did you say I can find the updated interclient?
> > > > TIA
> > > > //OLAS
> > > >
> > > > ft@... wrote:
> > > >
> > > > > I think there was a confirmed bug relating to this on Firebird
> > > > > Sourceforge site (Interbase shuts connection down without
> > > > > Interserver). However, the Firebird Interclient 2.00 has beenis
> > updated
> > > > > extensively by David Jencks and can be compiled for Linux. There
> > ahttp://docs.yahoo.com/info/terms/
> > > > > new Ant build.xml that makes it easy to build the jar and the
> > > > > Interserver executable. This version needs user feedback before
> > > > > general release so why not try it.
> > > > >
> > > > > Fred
> > > > >
> > > > > --- In IB-Java@y..., Ola Samuelson <ola@d...> wrote:
> > > > > > HI!
> > > > > > Tried them all ..............JDK's, operating systems,
> > interclient
> > > > > kits.
> > > > > >
> > > > > > This happens:
> > > > > > Connections are dying or getting stale after just a few minutes.
> > > > > > Netstat says WAIT on connection between java/interserver.
> > > > > >
> > > > >
> > > > >
> > > > > To unsubscribe from this group, send an email to:
> > > > > IB-Java-unsubscribe@egroups.com
> > > > >
> > > > >
> > > > >
> > > > > Your use of Yahoo! Groups is subject to
> > > > http://docs.yahoo.com/info/terms/
> > > >
> > > >
> > > >
> > > > To unsubscribe from this group, send an email to:
> > > > IB-Java-unsubscribe@egroups.com
> > > >
> > > >
> > > >
> > > > Your use of Yahoo! Groups is subject to
> > http://docs.yahoo.com/info/terms/
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > To unsubscribe from this group, send an email to:
> > > IB-Java-unsubscribe@egroups.com
> > >
> > >
> > >
> > > Your use of Yahoo! Groups is subject to
> > http://docs.yahoo.com/info/terms/
> >
> >
> >
> > To unsubscribe from this group, send an email to:
> > IB-Java-unsubscribe@egroups.com
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
> >To unsubscribe from this group, send an email to:
> >
> >
> >
>
>
> To unsubscribe from this group, send an email to:
> IB-Java-unsubscribe@egroups.com
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
IB-Java-unsubscribe@egroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/