#2230 protonmsg persistent message queue
Closed: Fixed by tkopecek. Opened by tkopecek.

Currently message queue is implemented via context, so each thread has its own queue. As queue needn't to be consumed before the EOL of httpd thread, messages can be silently dropped. Maybe separate db table should be used for this (maybe temporary one, but that is questionable).


PR #2441

Metadata Update from @tkopecek:
- Custom field Size adjusted to None

As queue needn't to be consumed before the EOL of httpd thread

The context ThreadLocal object is cleared before and after each call. This was never a queue that persisted across calls. The context.protonmsg_msgs field was merely intended to buffer the messages during a single call so that they could be sent during the postCommit callback.

In the postCommit handler, the plugin will try to send all messages from context.protonmsg_msgs. The only reason that these messages would not be consumed are:

  • if the postCommit callback is not reached (in which case, it is probably correct to drop the messages)
  • if sending the message fails

Metadata Update from @tkopecek:
- Issue tagged with: testing-ready

Commit 729f8476 fixes this issue

Commit 8c253396 fixes this issue

Commit 30e87348 fixes this issue

Commit 5167fee2 relates to this ticket

Metadata Update from @jcupova:
- Issue tagged with: testing-done

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/koji/koji/issues/2230

Please continue any further discussion there.

Metadata
Related Pull Requests