[
https://issues.apache.org/jira/browse/PROTON-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy A. Bish updated PROTON-2794:
------------------------------------
Summary: [protonj2] Transfer ID does not wrap as expected (was: Transfer
ID does not wrap as expected)
> [protonj2] Transfer ID does not wrap as expected
> ------------------------------------------------
>
> Key: PROTON-2794
> URL: https://issues.apache.org/jira/browse/PROTON-2794
> Project: Qpid Proton
> Issue Type: Bug
> Components: protonj2
> Affects Versions: protonj2-1.0.0-M19
> Reporter: Arnaud Cogoluègnes
> Assignee: Timothy A. Bish
> Priority: Major
>
> When ProtonJ 2 creates a session and the peer replies with a large
> {{next-outgoing-id}} in the {{begin}} response (e.g. 4294967292), a receiver
> on the session throws an exception later on when it detects the
> {{next-incoming-id}} is greater than the limit of a uint32.
> Corresponding code:
> [https://github.com/apache/qpid-protonj2/blob/d5144af7818b2695747782bacc410580d3ec7943/protonj2/src/main/java/org/apache/qpid/protonj2/types/transport/Flow.java#L153-L155]
> [https://github.com/apache/qpid-protonj2/blob/d5144af7818b2695747782bacc410580d3ec7943/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonSessionIncomingWindow.java#L138]
> The {{transfer-id}} is a {{sequence-no}}, so it must follow
> [RFC-1982|https://www.ietf.org/rfc/rfc1982.txt] and so wrap around (sections
> 2.8.9 and 2.8.10 of the AMQP 1.0 spec).
> So from my understanding, the {{nextIncomingId}} field should be set to 0
> when it "overflows" and no exception should be thrown.
> Other fields like {{delivery-count}} may have the same problem.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]