You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Steps to reproduce:
List the minimal actions needed to reproduce the behaviour.
Create a trigger that writes data back to the database.
Deactivate it while it is doing other work. If you write data back on an all_tables trigger this will mean it is continuously writing data after any initial write, which is an easy way to trigger it.
Deactivate the plugin.
Expected behaviour:
The plugin should be deactivated by the next WAL flush, returning successfully to the CLI call. Actual behaviour:
The plugin host code calls write_lp() to write data back to the DB. This blocks until the wal file is flushed.
The deactivate call take the plugin_event_tx lock in order to send the shutdown message. This lock is held until it gets a response back.
When the WAL flushes it attempts to send the new WAL data to plugins via notify, but can't take the lock. The Shutdown message is yet to be processed as it is behind the earlier WalContents.
Fix should be straightforward, don't hold the lock while waiting for the shutdown response.
The text was updated successfully, but these errors were encountered:
Steps to reproduce:
List the minimal actions needed to reproduce the behaviour.
Expected behaviour:
The plugin should be deactivated by the next WAL flush, returning successfully to the CLI call.
Actual behaviour:
write_lp()
to write data back to the DB. This blocks until the wal file is flushed.plugin_event_tx
lock in order to send the shutdown message. This lock is held until it gets a response back.Fix should be straightforward, don't hold the lock while waiting for the shutdown response.
The text was updated successfully, but these errors were encountered: