You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Jiri Danek (JIRA)" <ji...@apache.org> on 2017/09/15 08:07:00 UTC

[jira] [Created] (AMQ-6809) activemq-client return unexpected length code on first read from stream containing empty byte array

Jiri Danek created AMQ-6809:
-------------------------------

             Summary: activemq-client return 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 Danek


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.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)