qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adel Boutros <adelbout...@live.com>
Subject RE: [Java Broker- 6.0.1] AMQP random errors when sending messages using Proton-c 0.12.2
Date Mon, 08 Aug 2016 18:11:01 GMT
Hello Alain, Keith,

I updated the Java Broker to 6.0.4 and re-run my test case 5 times. 
The good news is that the "AMQP header mismatch" error has disappeared.
The bad news is every time I ran my test, I got the "on_transport_error: proton:io: connect:
Cannot assign requested address" error.

I get the error after sending about 30 000 msgs. At each send, I am creating a new container
which means new connection every time.

Regards,
Adel

> Subject: Re: [Java Broker- 6.0.1] AMQP random errors when sending messages using Proton-c
0.12.2
> From: aconway@redhat.com
> To: users@qpid.apache.org
> Date: Mon, 8 Aug 2016 17:57:01 +0100
> 
> On Fri, 2016-08-05 at 19:16 +0200, Adel Boutros wrote:
> > Hello,
> > 
> > I have a Proton-c C++ sender which sends messages using the container
> > API. For each message to send, I open a new container which means
> > that for each message, I open and close a new connection. I am
> > getting 2 random exceptions on Linux in the
> > "proton::handler::on_transport_error" method:
> > 
> > amqp:connection:framing-error: AMQP header mismatch: Insufficient
> > data to determine protocol [''] (connection aborted).
> > and
> > proton:io: connect: Cannot assign requested address.
> > 
> > I have used PN_TRACE_FRM=1 on the sender and you can find below the
> > output.
> > 
> > What can the issue be in your opinion?
> 
> Not a very well considered opinion but: you will see this kind of trace
> if something opens a TCP connection to your AMQP listener and closes it
> again without sending anything. Wireshark might help you see if this is
> the problem or if there actually is data arriving and proton is not
> understanding it.
> 
> 
> > AMQP header mismatch
> > 
> > [0xe18730]:  -> AMQP
> > [0xe18730]:0 -> @open(16) [container-id="a9335275-bb53-4565-8fdc-
> > c802702b4933", hostname="machine_name:10455", channel-max=32767]
> > [0xe18730]:0 -> @begin(17) [next-outgoing-id=0, incoming-
> > window=2147483647, outgoing-window=2147483647]
> > [0xe18730]:0 -> @attach(18) [name="1/1", handle=0, role=false, snd-
> > settle-mode=2, rcv-settle-mode=0, source=@source(40) [durable=0,
> > timeout=0, dynamic=false], target=@target(41) [address="perf.topic",
> > durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
> > [0xe18730]:0 -> @close(24) [error=@error(29)
> > [condition=:"amqp:connection:framing-error", description="AMQP header
> > mismatch: Insufficient data to determine protocol [''] (connection
> > aborted)"]]
> > [0xe18730]:  <- EOS
> >  amqp:connection:framing-error: AMQP header mismatch: Insufficient
> > data to determine protocol [''] (connection aborted)
> > 
> > Cannot assign requested address
> > 
> > [0x160e730]:  -> AMQP
> > [0x160e730]:0 -> @open(16) [container-id=""]
> > [0x160e730]:0 -> @close(24) [error=@error(29)
> > [condition=:"proton:io", description="connect: Cannot assign
> > requested address"]]
> > proton:io: connect: Cannot assign requested address
> > 
> > Successful message sent
> > 
> > [0xe18730]:  -> AMQP
> > [0xe18730]:0 -> @open(16) [container-id="95a81f15-6bb1-475f-b7a3-
> > 1d7af71f6911", hostname="machine_name:10455", channel-max=32767]
> > [0xe18730]:0 -> @begin(17) [next-outgoing-id=0, incoming-
> > window=2147483647, outgoing-window=2147483647]
> > [0xe18730]:0 -> @attach(18) [name="1/1", handle=0, role=false, snd-
> > settle-mode=2, rcv-settle-mode=0, source=@source(40) [durable=0,
> > timeout=0, dynamic=false], target=@target(41) [address="perf.topic",
> > durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
> > [0xe18730]:  <- AMQP
> > [0xe18730]:0 <- @open(16) [container-id="5c480e45-a289-4c16-947b-
> > f352419370af", max-frame-size=32768, channel-max=255, idle-time-
> > out=0, properties={:product="qpid", :version="6.0.1",
> > :"qpid.build"="1731621", :"qpid.instance_name"="Broker"}]
> > [0xe18730]:0 <- @begin(17) [remote-channel=0, next-outgoing-id=0,
> > incoming-window=2048, outgoing-window=2048]
> > [0xe18730]:0 <- @attach(18) [name="1/1", handle=0, role=true, snd-
> > settle-mode=2, rcv-settle-mode=0, source=@source(40) [durable=0,
> > timeout=0, dynamic=false], target=@target(41) [address="perf.topic",
> > durable=0, timeout=0, dynamic=false]]
> > [0xe18730]:0 <- @flow(19) [next-incoming-id=0, incoming-window=2048,
> > next-outgoing-id=0, outgoing-window=2048, handle=0, delivery-count=0, 
> > link-credit=20000, echo=false]
> > [0xe18730]:0 -> @transfer(20) [handle=0, delivery-id=0, delivery-
> > tag=b"\x0b\x13\x00\x00\x00\x00\x00\x00", message-format=0,
> > settled=false, more=false] (254)
> > "\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x0
> > 0\x00\x00-
> > \x00\x00\x00\x0d@@@\xa1\x0atest@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x
> > 00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00St\xd1\x00\x00\x00E\
> > x00\x00\x00\x06\xa1\x0ctest\xa1\x02test\xa1\x09test\x81\x00\x00\x01V[
> > \x7f\x914\xa1\x10test\xa1\x07test\x00Sw\xa0d\x00\x00\x00\x00\x00\x00\
> > x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
> > 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
> > 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
> > \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
> > x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
> > 00\x00\x00\x00\x00\x00\x00\x00"
> > [0xe18730]:0 -> @detach(22) [handle=0, closed=true]
> > [0xe18730]:0 -> @close(24) []
> > [0xe18730]:  -> EOS
> > [0xe18730]:0 <- @disposition(21) [role=true, first=0, last=0,
> > settled=true, state=@accepted(36) []]
> > [0xe18730]:0 <- @detach(22) [handle=0, closed=true]
> > [0xe18730]:0 <- @close(24) []
> > [0xe18730]:  <- EOS
> > 
> > Sender code
> > void SimpleSenderHandler::on_start(proton::event &e)
> > {
> >    proton::duration duration(9999999);
> >    proton::connection conn = e.container().connect(m_url,
> > proton::connection_options().idle_timeout(duration));
> >    conn.open_sender(m_destination);
> > }
> > 
> > void SimpleSenderHandler::on_sendable(proton::event &e)
> > {
> >    e.sender().send(m_message);
> >    e.sender().close();
> >    e.connection().close();
> > }
> > 
> > Regards,
> > Adel
> >  		 	   		  
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
> 
 		 	   		  
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message