You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Charles E. Rolke (Jira)" <ji...@apache.org> on 2020/03/12 15:21:00 UTC

[jira] [Resolved] (PROTON-2180) [python binding] on_released called when delivery is MODIFIED

     [ https://issues.apache.org/jira/browse/PROTON-2180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Charles E. Rolke resolved PROTON-2180.
--------------------------------------
    Resolution: Information Provided

Indeed, thanks for reading the documentation to me. That is how it says it works and that's how it works.

This is a [POLA|https://en.wikipedia.org/wiki/Principle_of_least_astonishment] issue for this interface. 
* There are only a limited number of dispositions, please just create callbacks for each. 
* When two dispositions are delivered in a single callback do not name the callback with one of the disposition's names. Instead create a name that hints that both dispositions are included.

> [python binding] on_released called when delivery is MODIFIED
> -------------------------------------------------------------
>
>                 Key: PROTON-2180
>                 URL: https://issues.apache.org/jira/browse/PROTON-2180
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>    Affects Versions: proton-c-0.28.0
>            Reporter: Charles E. Rolke
>            Priority: Major
>         Attachments: PROTON-2180-test-log.txt, system_tests_multicast-PROTON-2180.py
>
>
> Reproducer:
> qpid-dispatch self test system_tests_multicast: test_63_unsettled_3ack_outcomes
> Description:
> qpid-dispatch test code has an on_released method in class MulticastBase. The comments are dated April 2, 2019 so the issue has been in play since then:
> {quote}{color:#000080}def {color}on_released({color:#94558d}self{color}, event):
>      {color:#808080}# for some reason Proton 'helpfully' calls on_released even though the
> {color}{color:#808080}     # delivery state is actually MODIFIED
> {color}    {color:#000080}if {color}event.delivery.remote_state == Delivery.MODIFIED:
>         {color:#000080}return {color}{color:#94558d}self{color}.on_modified(event)
> {quote}
> The self test today triggers the if statement six times on every run.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org