{"action":"created","issue":{"url":"https://api.github.com/repos/veegee/amqpy/issues/14","labels_url":"https://api.github.com/repos/veegee/amqpy/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/veegee/amqpy/issues/14/comments","events_url":"https://api.github.com/repos/veegee/amqpy/issues/14/events","html_url":"https://github.com/veegee/amqpy/issues/14","id":96153970,"number":14,"title":"mandatory and channel.returned_message bad behavior ?","user":{"login":"gst","id":38055,"avatar_url":"https://avatars.githubusercontent.com/u/38055?v=3","gravatar_id":"","url":"https://api.github.com/users/gst","html_url":"https://github.com/gst","followers_url":"https://api.github.com/users/gst/followers","following_url":"https://api.github.com/users/gst/following{/other_user}","gists_url":"https://api.github.com/users/gst/gists{/gist_id}","starred_url":"https://api.github.com/users/gst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gst/subscriptions","organizations_url":"https://api.github.com/users/gst/orgs","repos_url":"https://api.github.com/users/gst/repos","events_url":"https://api.github.com/users/gst/events{/privacy}","received_events_url":"https://api.github.com/users/gst/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-07-20T20:35:37Z","updated_at":"2015-07-20T21:12:27Z","closed_at":null,"body":"see :  https://gist.github.com/gst/ad5dff15e2fe37e9b3dc\r\n\r\nBasically:\r\n\r\n(If I do correctly use the feature) it so seems that returned_messages is not always correctly handled..\r\n\r\nrunning the gist can give you different results from one run to another, example  : \r\n\r\nbad multiple returned: ['0:1', '0:3']\r\nbad some not_returned: ['0:0', '0:2', '0:4']\r\n\r\nanother:\r\nbad some not_returned: ['0:0', '0:1', '0:2', '0:3', '0:4']\r\n\r\nsometimes it succeed correctly..\r\n\r\nBut if re-create / instantiate the channel in my_publish, and call its close() instead of conn.loop(0), then it always always succeed (all messages are correctly returned only once)  **EDIT**: damn even not... just checked with more threads and more loops and got : \r\nbad multiple returned: ['0:58']\r\nbad some not_returned: ['0:57']\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/veegee/amqpy/issues/comments/123041117","html_url":"https://github.com/veegee/amqpy/issues/14#issuecomment-123041117","issue_url":"https://api.github.com/repos/veegee/amqpy/issues/14","id":123041117,"user":{"login":"gst","id":38055,"avatar_url":"https://avatars.githubusercontent.com/u/38055?v=3","gravatar_id":"","url":"https://api.github.com/users/gst","html_url":"https://github.com/gst","followers_url":"https://api.github.com/users/gst/followers","following_url":"https://api.github.com/users/gst/following{/other_user}","gists_url":"https://api.github.com/users/gst/gists{/gist_id}","starred_url":"https://api.github.com/users/gst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gst/subscriptions","organizations_url":"https://api.github.com/users/gst/orgs","repos_url":"https://api.github.com/users/gst/repos","events_url":"https://api.github.com/users/gst/events{/privacy}","received_events_url":"https://api.github.com/users/gst/received_events","type":"User","site_admin":false},"created_at":"2015-07-20T21:12:27Z","updated_at":"2015-07-20T21:12:27Z","body":"Think I've maybe found : \r\n\r\nI have to wrap the basic_publish(..) between channel.tx_select() and channel.tx_commit() and THEN I get always (really this time) all the messages back correctly.. with the close() way as well as with the conn.loop(0) ..\r\n\r\ncan you confirm that this is required to be completely sure to get back, I mean in a \"synchronously/reliable\" way, all messages with mandatory=True ?"}}