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

Reply via email to