Subject | Re: Problem with Jaybird 2.2 or 2.1 and Firebird 2.5 beta 1 |
---|---|
Author | Peter Welch |
Post date | 2009-07-27T16:16:25Z |
Roman,
Thank you for your thoughtful reply.
Regarding a test case -- well, that wouldn't be easy. I can describe the configuration and events. We are feeding the Firebird database with HL7 messages (healthcare data). For the first month or two it all (Firebird 2.5 and Jaybird 2.1.6) seemed to work fine. Then, every so often there would be a hung message (in the Rhapsody interface engine) that stopped everything from getting through to the database and finally just stopped accepting data at all. One factor might be volume; we are inserting tens of thousands of rows per second at peak loads. As the database grew in size to over 100G the problem grew, or so it seemed. But, there were problems with lesser volume database feeds to FB2.5. Never a problem with FB2.1, though.
It's very hard to isolate which system is having the problem -- it could be entirely within the Rhapsody Engine, or Jaybird, or FB2.5 or some combination of the three.
One guess is that the message transaction (each message is split into a series of table inserts by stored procedures -- different tables -- varying from a few to thousands per message) was losing sync with the table inserts -- something like Jaybird not reporting correctly that the database connection was free for another message, or FB2.5 not reporting correctly to Jaybird that all the table inserts were done...
What I will do is set up a parallel test case and if you point me to some monitoring tools to see better what is going on, we might be able to find the culprit.
Pete
Thank you for your thoughtful reply.
Regarding a test case -- well, that wouldn't be easy. I can describe the configuration and events. We are feeding the Firebird database with HL7 messages (healthcare data). For the first month or two it all (Firebird 2.5 and Jaybird 2.1.6) seemed to work fine. Then, every so often there would be a hung message (in the Rhapsody interface engine) that stopped everything from getting through to the database and finally just stopped accepting data at all. One factor might be volume; we are inserting tens of thousands of rows per second at peak loads. As the database grew in size to over 100G the problem grew, or so it seemed. But, there were problems with lesser volume database feeds to FB2.5. Never a problem with FB2.1, though.
It's very hard to isolate which system is having the problem -- it could be entirely within the Rhapsody Engine, or Jaybird, or FB2.5 or some combination of the three.
One guess is that the message transaction (each message is split into a series of table inserts by stored procedures -- different tables -- varying from a few to thousands per message) was losing sync with the table inserts -- something like Jaybird not reporting correctly that the database connection was free for another message, or FB2.5 not reporting correctly to Jaybird that all the table inserts were done...
What I will do is set up a parallel test case and if you point me to some monitoring tools to see better what is going on, we might be able to find the culprit.
Pete
--- In Firebird-Java@yahoogroups.com, Roman Rokytskyy <roman@...> wrote:
>
> Peter,
>
> > You don't state anywhere that Jaybird works with Firebird 2.5 but I've been using it for a few months. Recently, though, it's started to fail - the database communication locks up and won't make any connection at all. I tried Jaybird 2.2 instead of 2.1.6 but get the same result - though it worked for about an hour. So, I have two questions:
> >
> > 1) Is Jaybird 2.2 (or 2.1.x) designed to work with Firebird 2.5?
>
> As far as I know there were no changes to the wire protocol in 2.5
> compared to 2.1 (ok, there were some improvements in wire protocol in FB
> 2.1 and extended in 2.5, but Jaybird uses a previous version of
> protocol, so the previous statement is correct).
>
> But the correct answer is no - neither Jaybird 2.1 nor Jaybird 2.2 were
> designed for FB 2.5. On the other hand Adriano uses HEAD with his work
> for Java stored procedures that will come with FB 3.0.
>
> However, what we often experience with new releases is that when in new
> Firebird release some bugs are fixed, the previous versions of drivers
> stop to work - it turns out that they exploited those bugs :). This can
> be also the case here.
>
> So a reproduceable test case would be great...
>
> > 2) Are there special considerations for Firebird 2.5?
>
> I didn't check the release notes recently, but AFAIK there are nothing
> special in Firebird 2.5 that would require special handling in Jaybird.
>
> Roman
>