[ https://issues.apache.org/jira/browse/AMQ-6809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish updated AMQ-6809: ------------------------------ Description: Consider this code {code} private void testEmptyBufferInput() throws JMSException { byte[] readList = new byte[BYTE_LIST.length - 1]; byte[] emptyList = {}; LOG.info("Streaming BYTE_LIST message testing EMPTY buffer input"); stream.writeBytes(emptyList); stream.reset(); LOG.info("Reading BYTE_LIST message testing EMPTY buffer input"); final int IS_EMPTY = 0; assertThat(stream.readBytes(readList)).isEqualTo(IS_EMPTY); } {code} The code above works with qpid-jms, but fails with activemq-client on the {{assertThat}} with error message {{java.lang.AssertionError: Not true that <-1> is equal to <0>}}. Judging by documentation http://docs.oracle.com/javaee/6/api/javax/jms/StreamMessage.html#readBytes(byte[]), I think that qpid-jms behavior is correct and what activemq-client does is a bug. was: Consider this code {code} private void testEmptyBufferInput() throws JMSException { byte[] readList = new byte[BYTE_LIST.length - 1]; byte[] emptyList = {}; LOG.info("Streaming BYTE_LIST message testing EMPTY buffer input"); stream.writeBytes(emptyList); stream.reset(); LOG.info("Reading BYTE_LIST message testing EMPTY buffer input"); final int IS_EMPTY = 0; assertThat(stream.readBytes(readList)).isEqualTo(IS_EMPTY); } {code} The code above works with qpid-jms, but fails with activemq-client on the {{assertThat}} with error message {{java.lang.AssertionError: Not true that <-1> is equal to <0>}}. Judging by documentation http://docs.oracle.com/javaee/6/api/javax/jms/BytesMessage.html#readBytes(byte[]), I think that qpid-jms behavior is correct and what activemq-client does is a bug. > activemq-client returns unexpected length code on first read from stream > containing empty byte array > ---------------------------------------------------------------------------------------------------- > > Key: AMQ-6809 > URL: https://issues.apache.org/jira/browse/AMQ-6809 > Project: ActiveMQ > Issue Type: Bug > Components: JMS client > Affects Versions: 5.14.5 > Reporter: Jiri Daněk > Priority: Minor > > Consider this code > {code} > private void testEmptyBufferInput() throws JMSException { > byte[] readList = new byte[BYTE_LIST.length - 1]; > byte[] emptyList = {}; > LOG.info("Streaming BYTE_LIST message testing EMPTY buffer > input"); > stream.writeBytes(emptyList); > stream.reset(); > LOG.info("Reading BYTE_LIST message testing EMPTY buffer > input"); > final int IS_EMPTY = 0; > assertThat(stream.readBytes(readList)).isEqualTo(IS_EMPTY); > } > {code} > The code above works with qpid-jms, but fails with activemq-client on the > {{assertThat}} with error message {{java.lang.AssertionError: Not true that > <-1> is equal to <0>}}. Judging by documentation > http://docs.oracle.com/javaee/6/api/javax/jms/StreamMessage.html#readBytes(byte[]), > I think that qpid-jms behavior is correct and what activemq-client does is a > bug. -- This message was sent by Atlassian JIRA (v6.4.14#64029)