[ 
https://issues.apache.org/jira/browse/PROTON-925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14609612#comment-14609612
 ] 

ASF subversion and git services commented on PROTON-925:
--------------------------------------------------------

Commit c78392f1901a9a4fa2a44005f78a085840b160b3 in qpid-proton's branch 
refs/heads/master from mgoulish
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=c78392f ]

PROTON-925: old line of code was initializing remote_channel_max to zero.


> proton-c seems to treat unspecified channel-max as implying 0
> -------------------------------------------------------------
>
>                 Key: PROTON-925
>                 URL: https://issues.apache.org/jira/browse/PROTON-925
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: 0.10
>            Reporter: Gordon Sim
>            Assignee: michael goulish
>            Priority: Blocker
>             Fix For: 0.10
>
>
> If max-channels is not specified in the open, it appears the latest proton-c 
> treats that as implying the maximum is 0 though the spec states the default 
> is 65535.
> This breaks compatibility with previous proton releases. E.g. the following 
> is the interaction between a sender using the latest 0.10 and a receiver 
> using proton 0.9.
> {noformat}
> [0x151c710]:  <- AMQP
> [0x151c710]:0 <- @open(16) 
> [container-id="65A6602D-5D24-4D39-9C6F-7403D98F5E15", hostname="localhost", 
> channel-max=32767]
> [0x151c710]:0 <- @begin(17) [next-outgoing-id=0, incoming-window=2147483647, 
> outgoing-window=1]
> [0x151c710]:1 <- @begin(17) [next-outgoing-id=0, incoming-window=2147483647, 
> outgoing-window=1]
> [0x151c710]:2 <- @begin(17) [next-outgoing-id=0, incoming-window=2147483647, 
> outgoing-window=1]
> [0x151c710]:0 <- @attach(18) [name="sender-xxx", handle=0, role=false, 
> snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [address="queue_a", 
> durable=0, timeout=0, dynamic=false], target=@target(41) [address="queue_a", 
> durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
> [0x151c710]:1 <- @attach(18) [name="sender-xxx", handle=0, role=false, 
> snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [address="queue_b", 
> durable=0, timeout=0, dynamic=false], target=@target(41) [address="queue_b", 
> durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
> [0x151c710]:2 <- @attach(18) [name="sender-xxx", handle=0, role=false, 
> snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [address="queue_c", 
> durable=0, timeout=0, dynamic=false], target=@target(41) [address="queue_c", 
> durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
> [0x151c710]:  -> AMQP
> [0x151c710]:0 -> @open(16) 
> [container-id="abab56b0-c25e-427b-9f4f-d63da48d1973"]
> [0x151c710]:0 -> @begin(17) [remote-channel=0, next-outgoing-id=0, 
> incoming-window=2147483647, outgoing-window=0]
> [0x151c710]:1 -> @begin(17) [remote-channel=1, next-outgoing-id=0, 
> incoming-window=2147483647, outgoing-window=0]
> [0x151c710]:2 -> @begin(17) [remote-channel=2, next-outgoing-id=0, 
> incoming-window=2147483647, outgoing-window=0]
> [0x151c710]:0 -> @attach(18) [name="sender-xxx", handle=0, role=true, 
> snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [address="queue_a", 
> durable=0, timeout=0, dynamic=false], target=@target(41) [address="queue_a", 
> durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
> [0x151c710]:1 -> @attach(18) [name="sender-xxx", handle=0, role=true, 
> snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [address="queue_b", 
> durable=0, timeout=0, dynamic=false], target=@target(41) [address="queue_b", 
> durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
> [0x151c710]:2 -> @attach(18) [name="sender-xxx", handle=0, role=true, 
> snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [address="queue_c", 
> durable=0, timeout=0, dynamic=false], target=@target(41) [address="queue_c", 
> durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
> [0x151c710]:0 -> @flow(19) [next-incoming-id=0, incoming-window=2147483647, 
> next-outgoing-id=0, outgoing-window=0, handle=0, delivery-count=0, 
> link-credit=341, drain=false]
> [0x151c710]:1 -> @flow(19) [next-incoming-id=0, incoming-window=2147483647, 
> next-outgoing-id=0, outgoing-window=0, handle=0, delivery-count=0, 
> link-credit=341, drain=false]
> [0x151c710]:2 -> @flow(19) [next-incoming-id=0, incoming-window=2147483647, 
> next-outgoing-id=0, outgoing-window=0, handle=0, delivery-count=0, 
> link-credit=341, drain=false]
> [0x151c710]:0 <- @close(24) [error=@error(29) 
> [condition=:"amqp:connection:framing-error", description="remote channel 1 is 
> above negotiated channel_max 0."]]
> [0x151c710]:  <- EOS
> [0x151c710]:0 -> @close(24) []
> [0x151c710]:  -> EOS
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to