#1761 mod_smacks sends redundant <r> with opportinistic writes
Reporter
Zash
Owner
Zash
Created
Updated
Stars
★ (1)
Tags
Priority-Medium
Milestone-0.12
Difficulty-Easy
Status-Fixed
Type-Defect
Zash
on
What steps will reproduce the problem?
1. mod_smacks
2. opportunistic writes
What is the expected output?
Don't send redundant <r>
What do you see instead?
Sending[s2sout]: <iq type='get' ...>
Sending <r> from s2s-pre-ondrain - #queue=1
Sending[s2sout]: <r xmlns='urn:xmpp:sm:3'>
Received[s2sout]: <a xmlns='urn:xmpp:sm:3' xml:lang='en' h='2231'>
#queue = 1 (acked: 1)
Sending <r> from handle_a - #queue=1
Sending[s2sout]: <r xmlns='urn:xmpp:sm:3'>
↓↓↓
Sending <r> from s2s-pre-ondrain - #queue=1
Sending[s2sout]: <r xmlns='urn:xmpp:sm:3'>
↑↑↑
What version of the product are you using?
trunk nightly build 1667 (2022-06-03, 5ec9d6913162)
Please provide any additional information below.
`session.awaiting_ack` is set after sending the <r> so the pre-drain callback may not see it
What steps will reproduce the problem? 1. mod_smacks 2. opportunistic writes What is the expected output? Don't send redundant <r> What do you see instead? Sending[s2sout]: <iq type='get' ...> Sending <r> from s2s-pre-ondrain - #queue=1 Sending[s2sout]: <r xmlns='urn:xmpp:sm:3'> Received[s2sout]: <a xmlns='urn:xmpp:sm:3' xml:lang='en' h='2231'> #queue = 1 (acked: 1) Sending <r> from handle_a - #queue=1 Sending[s2sout]: <r xmlns='urn:xmpp:sm:3'> ↓↓↓ Sending <r> from s2s-pre-ondrain - #queue=1 Sending[s2sout]: <r xmlns='urn:xmpp:sm:3'> ↑↑↑ What version of the product are you using? trunk nightly build 1667 (2022-06-03, 5ec9d6913162) Please provide any additional information below. `session.awaiting_ack` is set after sending the <r> so the pre-drain callback may not see it
Patch in timber.
Changesfixed in https://hg.prosody.im/trunk/rev/3729a6bdb562
Changes