03.08.2022 16:35, Jiří Činčura wrote:
Hi *,
op_que_events and waiting for events, database goes into shutdown. What to do
next?
Good question
The socket is kept open, no luck there. And the "database shutdown" error is returned only after some next operation.
Yes. This is done to allow application to get isc_shutdown error instead of
isc_network_error.
But as I'm waiting for the events, I kind of don't have next operation.
Seems so.
Unless the developer does something (which might happen way later and events
might be missed).
What events might be missing ? Connection is shutdown and can't be
resurrected. New connection
will queue new events and can't miss one. Remember, first "queue events" in
connection immediately
receives most current counters. It could be compared with last known counters
before re-connect,
if necessary.
Is this something we have solution for. Or is this developer's responsibility?
Dev responsibility is to react on isc_shutdown: by disconnecting - this will
stop events listener
for given connection.
In theory, engine could call events callback with isc_shutdown in
status-vector to
signal about shutdown. But there is no status-vector in callback routine,
unfortunately :(
Another way could be to call callback with NULL events and 0 length but I'm not
sure
existing apps is ready to handle such signal.
Regards,
Vlad
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel