You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/07/28 00:09:04 UTC

[jira] [Commented] (PROTON-959) On error Proton can send an open and a close frame before sending the AMQP header

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

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

Commit 0773d9b19c61a9e1c2517970d191519b461366b3 in qpid-proton's branch refs/heads/master from [~astitcher]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=0773d9b ]

PROTON-959/PROTON-960: Split error handling code to be layer sensitive
- Each protocol will be called whenever a protocl error is detected
  to handle its own clean up.


> On error Proton can send an open and a close frame before sending the AMQP header
> ---------------------------------------------------------------------------------
>
>                 Key: PROTON-959
>                 URL: https://issues.apache.org/jira/browse/PROTON-959
>             Project: Qpid Proton
>          Issue Type: Bug
>    Affects Versions: 0.10
>            Reporter: Andrew Stitcher
>            Assignee: Andrew Stitcher
>
> In the following trace of some transport tests you will see that many of the tests have open/close frames before the AMQP header is sent.
> Trace from some of the tests:
> {noformat}
> $  PN_TRACE_FRM=1 proton-test *ServerTransport*
> proton_tests.transport.ServerTransportTest.testBigGarbage ...................................[0x1ef9b40]:0 -> @open(16) [container-id=""]
> [0x1ef9b40]:0 -> @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="Unknown protocol detected: 'GARBAGE_XXX'"]]
> [0x1ef9b40]:  -> AMQP
> [0x1ef9b40]:  -> EOS
>  pass
> proton_tests.transport.ServerTransportTest.testBindAfterOpen ................................[0x20d1460]:  -> AMQP
> [0x20d1460]:0 -> @open(16) [container-id="test-container", hostname="test-hostname", channel-max=32767]
> [0x20d1460]:0 -> @begin(17) [next-outgoing-id=0, incoming-window=2147483647, outgoing-window=2147483647]
> [0x1fa0350]:  <- AMQP
> [0x1fa0350]:0 <- @open(16) [container-id="test-container", hostname="test-hostname", channel-max=32767]
> [0x1fa0350]:0 <- @begin(17) [next-outgoing-id=0, incoming-window=2147483647, outgoing-window=2147483647]
>  pass
> proton_tests.transport.ServerTransportTest.testCloseHead .................................... pass
> proton_tests.transport.ServerTransportTest.testCloseTail ....................................[0x1fa0350]:0 -> @open(16) [container-id=""]
> [0x1fa0350]:0 -> @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="No valid protocol header found"]]
> [0x1fa0350]:  <- EOS
>  pass
> proton_tests.transport.ServerTransportTest.testEOS ..........................................[0x20b55d0]:0 -> @open(16) [container-id=""]
> [0x20b55d0]:0 -> @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="No valid protocol header found"]]
> [0x20b55d0]:  <- EOS
> [0x20b55d0]:  -> EOS
>  pass
> proton_tests.transport.ServerTransportTest.testEOSAfterSASL .................................[0x20b55d0]:  -> SASL
> [0x20b55d0]:0 -> @sasl-init(65) [mechanism=:ANONYMOUS, initial-response=b"anonymous@pansy.local"]
> [0x20b55d0]:  -> AMQP
> [0x1fa0350]:  <- SASL
> [0x1fa0350]:0 <- @sasl-init(65) [mechanism=:ANONYMOUS, initial-response=b"anonymous@pansy.local"]
> [0x1fa0350]:Authenticated user: anonymous with mechanism ANONYMOUS
> [0x1fa0350]:  <- AMQP
> [0x1fa0350]:  <- EOS
> [0x1fa0350]:  -> EOS
>  pass
> proton_tests.transport.ServerTransportTest.testGarbage ......................................[0x20b55d0]:0 -> @open(16) [container-id=""]
> [0x20b55d0]:0 -> @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="Unknown protocol detected: 'GARBAGE_'"]]
> [0x20b55d0]:  -> AMQP
> [0x20b55d0]:  -> EOS
>  pass
> proton_tests.transport.ServerTransportTest.testHeader .......................................[0x1fa0350]:  <- AMQP
> [0x1fa0350]:0 -> @open(16) [container-id=""]
> [0x1fa0350]:0 -> @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="connection aborted"]]
> [0x1fa0350]:  <- EOS
> [0x1fa0350]:  -> AMQP
> [0x20b55d0]:  <- AMQP
> [0x20b55d0]:0 <- @open(16) [container-id=""]
> [0x20b55d0]:0 <- @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="connection aborted"]]
> [0x20b55d0]:  <- EOS
> [0x1fa0350]:  -> EOS
>  pass
> proton_tests.transport.ServerTransportTest.testPartial ......................................[0x20b55d0]:0 -> @open(16) [container-id=""]
> [0x20b55d0]:0 -> @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="End of input stream before protocol detection: 'AMQ' (connection aborted)"]]
> [0x20b55d0]:  -> AMQP
> [0x20b55d0]:  -> EOS
>  pass
> proton_tests.transport.ServerTransportTest.testPeek ......................................... pass
> proton_tests.transport.ServerTransportTest.testProtocolNotSupported .........................[0x20b55d0]:0 -> @open(16) [container-id=""]
> [0x20b55d0]:0 -> @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="Incompatible AMQP connection detected: 'AMQP\x01\x01\x0a\x00'"]]
> [0x20b55d0]:  -> AMQP
> [0x20b55d0]:  -> EOS
>  pass
> proton_tests.transport.ServerTransportTest.testSmallGarbage .................................[0x1fa0350]:0 -> @open(16) [container-id=""]
> [0x1fa0350]:0 -> @close(24) [error=@error(29) [condition=:"amqp:connection:framing-error", description="Unknown protocol detected: 'XXX'"]]
> [0x1fa0350]:  -> AMQP
> [0x1fa0350]:  -> EOS
>  pass
> proton_tests.transport.ServerTransportTest.testUnpairedPop .................................. pass
> Totals: 13 tests, 13 passed, 0 skipped, 0 ignored, 0 failed
> [andrew@pansy bld]$ 
> {noformat}



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