[
https://issues.apache.org/jira/browse/PROTON-1978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16712091#comment-16712091
]
ASF subversion and git services commented on PROTON-1978:
---------------------------------------------------------
Commit 6a5140b4efc2b6c8f92ad2ca8f7ea551b37bcd1c in qpid-proton's branch
refs/heads/master from [~astitcher]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=6a5140b ]
PROTON-1978: [c] Make disposition performative handling more efficient
- Minimise the effort to update deliveries affected by the disposition
performative:
If there are fewer deliveries outstanding than delivery ids in the
performative then loop through them all to update them.
Otherwise, loop through the specified delivery ids.
- We have to go through this effort as we don't keep the outstanding
deliveries sorted by id. Instead they are in a hash table and in a
separate linked list.
Problem found by oss-fuzz: https://oss-fuzz.com/testcase?key=5118747114209280
> Disposition frames can take a *very* long time to complete
> ----------------------------------------------------------
>
> Key: PROTON-1978
> URL: https://issues.apache.org/jira/browse/PROTON-1978
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Reporter: Andrew Stitcher
> Assignee: Andrew Stitcher
> Priority: Major
>
> This bug was found by the oss-fuzz project:
> [https://oss-fuzz.com/testcase?key=5118747114209280|http://example.com/]
> If the last delivery value affected is legitimate (before the next sequence
> number to be assigned), but the first value is hugely before it then the
> disposition frame handling will loop through every affected delivery number
> from first to last which can take a very long time and effectively hang the
> process.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]