Subject | Re: [firebird-python] Huge Firebird memory usage using FDB |
---|---|
Author | Pavel Cisar |
Post date | 2013-05-06T16:38:46Z |
Philippe,
This one was really interesting. CORE-1249 is about operations after
database shutdown, so we shut down the database, try if subsequent sql
statement fails and then bring it back online so it could be properly
finalized.
Actual error here was in sql statement release via
isc_dsql_free_statement (DSQL_drop) that raises error that db is
shutdown, although it wasn't at the time this function is called. To
make it more interesting, it's only Linux problem since 2.5.1, while
2.5.0 and Windows doesn't throw this error.
However, after consultation with Dmitry it's clear that actually this
error is as designed (and Windows somehow doesn't comply :) , and
intended behavior (since 2.5 even more aggresive as even idle
connections are affected) is that all connections after they hit the
"shutdown wall" are unusable, and this state is cached in client library
so all subsequent calls to any API function on this database ends with
this error. Connectivity library developers must detect 335544528 error
code and ignore these errors on object cleanups.
Fix committed.
best regards
Pavel Cisar
IBPhoenix
Dne 4.5.2013 15:57, Philippe Makowski napsal(a):
This one was really interesting. CORE-1249 is about operations after
database shutdown, so we shut down the database, try if subsequent sql
statement fails and then bring it back online so it could be properly
finalized.
Actual error here was in sql statement release via
isc_dsql_free_statement (DSQL_drop) that raises error that db is
shutdown, although it wasn't at the time this function is called. To
make it more interesting, it's only Linux problem since 2.5.1, while
2.5.0 and Windows doesn't throw this error.
However, after consultation with Dmitry it's clear that actually this
error is as designed (and Windows somehow doesn't comply :) , and
intended behavior (since 2.5 even more aggresive as even idle
connections are affected) is that all connections after they hit the
"shutdown wall" are unusable, and this state is cached in client library
so all subsequent calls to any API function on this database ends with
this error. Connectivity library developers must detect 335544528 error
code and ignore these errors on object cleanups.
Fix committed.
best regards
Pavel Cisar
IBPhoenix
Dne 4.5.2013 15:57, Philippe Makowski napsal(a):
> Pavel Cisar [2013-05-03 11:42] :
>> Hi,
>>
>> Initial fix for PYFB-34 was incomplete, which should be now corrected
>> (at least fdb nosetests and fbtest now run fine). Please verify it too
>> in your environment.
> seems better but still problems
>
> see:
> http://ci.ibphoenix.fr/job/firebird25_Linux_64/Architecture=SuperServer,System=System_Icu/65/console
>
> AttributeError: "'Connection' object has no attribute '_Connection__ic'"
> in <bound method Connection.__del__ of <fdb.fbcore.Connection object at
> 0x3698550>> ignored
>
> during fbtest
>
> and an error during fdb test:
> ERROR: test_restore (testfdb.TestServices2)
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>