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

Benjamin Meier updated PROTON-1945:
-----------------------------------
    Description: 
A python-instance based on v0.24.0 is used to receive and send messages from/to 
a Azure ServiceBus instance.

The affected software, which runs inside a Docker container and which is based 
on Python 3.6, is already used since a few weeks. From time to time the 
conatiner(s) may restart, which is not a problem.

The application receives exactly one message from the Azue ServiceBus and sends 
exactly one message back when the work is done. Qpid Proton is easy to use and 
always worked well, but this weekend I had a problem: The application still 
received messages and successfully handled them. It also sent and 
"answer"-message, but they never appeared in the Azure ServiceBus.

I started another process on one of the two available affected containers. This 
second process worked without any problems. As I found out a restart of the 
containers (more precisely: "affected" processes) solved the problem.

Unfortunately, it is very critical for the given application that sent messages 
are really received by the Azure ServiceBus. Or if this doesn't work, that it 
is possible to know that this doesn't work. Usually, if the connection is 
broken (or sending messages doesn't work) Qpid Proton handles this case (incl. 
logging).

Connection initialization:
{code:java}
self._connection = 
container.connect("amqps://a:[email protected]",
 shared_access_key_value="key",
 service_namespace="namespace"
), heartbeat=self.heartbeat_ms)

def _get_session(self):
    session = self._connection.session()
    session.open()
    return session{code}
Initialize receiver:
{code:java}
self._receiver = event.container.create_receiver(self._get_session(), 
self._source_queue_name)
self._receiver.capacity = self.capacity{code}
Initialize sender:
{code:java}
self._sender = event.container.create_sender(self._get_session(), 
self._target_queue_name){code}
Do I do something wrong? Or are there any bugs in combination with the 
ServiceBus known? Unfortunately, I was not able to collect much debug 
information during the runtime, but is there a possibility that I can collect 
useful information if this happens again?

It might be useful to know that during the period while this happend, the 
ServiceBus topology was not changed/updated.

Thank you very much

  was:
A python-instance based on v0.24.0 is used to receive and send messages from/to 
a Azure ServiceBus instance.

The affected software, which runs inside a Docker container and which is based 
on Python 3.6, is already used since a few weeks. From time to time the 
conatiner(s) may restart, which is not a problem.

The application receives exactly one message from the Azue ServiceBus and sends 
exactly one message back when the work is done. Qpid Proton is easy to use and 
always worked well, but this weekend I had a problem: The application still 
received messages and successfully handled them. It also sent and 
"answer"-message, but they never appeared in the Azure ServiceBus.

I started another process on one of the two available affected containers. This 
second process worked without any problems. As I found out a restart of the 
containers (more precisely: "affected" processes) solved the problem.

Unfortunately, it is very critical for the given application that sent messages 
are really received by the Azure ServiceBus. Or if this doesn't work, that it 
is possible to know that this doesn't work.

Connection initialization:
{code:java}
self._connection = 
container.connect("amqps://a:[email protected]",
 shared_access_key_value="key",
 service_namespace="namespace"
), heartbeat=self.heartbeat_ms)

def _get_session(self):
    session = self._connection.session()
    session.open()
    return session{code}


Initialize receiver:
{code:java}
self._receiver = event.container.create_receiver(self._get_session(), 
self._source_queue_name)
self._receiver.capacity = self.capacity{code}


Initialize sender:
{code:java}
self._sender = event.container.create_sender(self._get_session(), 
self._target_queue_name){code}


Do I do something wrong? Or are there any bugs in combination with the 
ServiceBus known? Unfortunately, I was not able to collect much debug 
information during the runtime, but is there a possibility that I can collect 
useful information if this happens again?


It might be useful to know that during the period while this happend, the 
ServiceBus topology was not changed/updated.

Thank you very much


> Azure ServiceBus: Sent messages are lost
> ----------------------------------------
>
>                 Key: PROTON-1945
>                 URL: https://issues.apache.org/jira/browse/PROTON-1945
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>    Affects Versions: proton-c-0.24.0
>         Environment: Docker (Kubernetes) / Azure ServiceBus
>            Reporter: Benjamin Meier
>            Priority: Critical
>
> A python-instance based on v0.24.0 is used to receive and send messages 
> from/to a Azure ServiceBus instance.
> The affected software, which runs inside a Docker container and which is 
> based on Python 3.6, is already used since a few weeks. From time to time the 
> conatiner(s) may restart, which is not a problem.
> The application receives exactly one message from the Azue ServiceBus and 
> sends exactly one message back when the work is done. Qpid Proton is easy to 
> use and always worked well, but this weekend I had a problem: The application 
> still received messages and successfully handled them. It also sent and 
> "answer"-message, but they never appeared in the Azure ServiceBus.
> I started another process on one of the two available affected containers. 
> This second process worked without any problems. As I found out a restart of 
> the containers (more precisely: "affected" processes) solved the problem.
> Unfortunately, it is very critical for the given application that sent 
> messages are really received by the Azure ServiceBus. Or if this doesn't 
> work, that it is possible to know that this doesn't work. Usually, if the 
> connection is broken (or sending messages doesn't work) Qpid Proton handles 
> this case (incl. logging).
> Connection initialization:
> {code:java}
> self._connection = 
> container.connect("amqps://a:[email protected]",
>  shared_access_key_value="key",
>  service_namespace="namespace"
> ), heartbeat=self.heartbeat_ms)
> def _get_session(self):
>     session = self._connection.session()
>     session.open()
>     return session{code}
> Initialize receiver:
> {code:java}
> self._receiver = event.container.create_receiver(self._get_session(), 
> self._source_queue_name)
> self._receiver.capacity = self.capacity{code}
> Initialize sender:
> {code:java}
> self._sender = event.container.create_sender(self._get_session(), 
> self._target_queue_name){code}
> Do I do something wrong? Or are there any bugs in combination with the 
> ServiceBus known? Unfortunately, I was not able to collect much debug 
> information during the runtime, but is there a possibility that I can collect 
> useful information if this happens again?
> It might be useful to know that during the period while this happend, the 
> ServiceBus topology was not changed/updated.
> Thank you very much



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to