Commit Graph

494 Commits

Author SHA1 Message Date
Robbie Gemmell f82eccd2f5 AMQ-6813: update tick deadline handling to account for potential to be negative due to using nanoTime derived values, plus other edge case protections 2017-09-15 17:53:00 +01:00
Timothy Bish ed395d1a85 AMQ-6804 Improve Transfer tag generation and pooling
Reduce GC overhead and improve tag generation for faster tag creation.
2017-09-06 13:28:26 -04:00
Christopher L. Shannon (cshannon) a9fe4e33c3 [maven-release-plugin] prepare for next development iteration 2017-06-27 13:41:28 -04:00
Christopher L. Shannon (cshannon) 5f0d6943cb [maven-release-plugin] prepare release activemq-5.15.0 2017-06-27 13:41:01 -04:00
Timothy Bish ce551cf97d NO-JIRA update the AMQP tests to use the client close timeout
Use the client built in close timeout instead of the executor which can
leave threads running and causes the tests to take much longer than
needed.
2017-06-15 17:13:32 -04:00
Timothy Bish 0eb11bf0a1 https://issues.apache.org/jira/browse/AMQ-6676
Handle continuation frames on the test client WS transport.
2017-05-16 10:53:23 -04:00
Timothy Bish 88efa01e11 AMQ-6675 AMQP Test client can't accept bigger frames on WS
Need to configure the WS Handshaker in the test client's netty transport
with the same value given to the proton connection via setMaxFrameSize
so that incoming frames larger than the default 65535 over WS don't
trigger netty to fail the connection.
2017-05-11 18:33:38 -04:00
Timothy Bish 4f7c9ec811 AMQ-6674 Ensure timely shutdown of the connection executor
Don't wait for next idle check or other scheduled tasks to run before
shutdown can proceed.
2017-05-11 15:59:08 -04:00
Timothy Bish 154ff81eee AMQ-6673 Add some fixes and improvements to the AMQP test client
Adds some thread safety fixes and Netty usage fixes to the transport as
well as adding a traceBytes option to trace the bytes sent / received
during testing.
2017-05-11 15:01:16 -04:00
Timothy Bish fddbac2b8a AMQ-6672 Use a dynamic proxy to create unmodifiable types
Use a dynamic proxy instead of hand-crafted wrappers around proton
types to prevent access to mutating methods in tests that could
inadvertantly change the state outside the connection thread.
2017-05-11 13:14:39 -04:00
Robert Gemmell 73e70299e6 AMQ-6623: update to proton-j 0.19.0 2017-05-08 12:42:51 +01:00
Timothy Bish 2e2d5ddd3d https://issues.apache.org/jira/browse/AMQ-6669
Respect the wireFormat.maxFrameSize option on WS and WSS transports
allowing binary content larger than 65535
2017-05-04 16:37:53 -04:00
Timothy Bish 381a1ae206 https://issues.apache.org/jira/browse/AMQ-6659
Honor the sender settle mode from the client and ensure we always set
receiver mode to FIRST to reflect we don't support SECOND.  Adds tests
coverage and needed test client changes for this.
2017-04-21 10:51:35 -04:00
Timothy Bish 1fd2450544 NO-JIRA Make the version string indicate that the value is unknown
The default version string is out of date and doesn't indicate that a
proper value couldn't be found, return something that makes that a bit
more clear.
2017-04-11 13:13:30 -04:00
Timothy Bish 0752d840b9 https://issues.apache.org/jira/browse/AMQ-6638
Adds some additional logging to the connection validation code, adds
some additional tests as well.
2017-04-05 16:20:28 -04:00
Timothy Bish 0196be1d27 https://issues.apache.org/jira/browse/AMQ-6630
Update to latest Qpid JMS release 0.21.0 and match the netty 4.1.8.Final
dependency up with it.
2017-03-15 12:41:25 -04:00
Robert Gemmell 0707031334 AMQ-6623: update to proton-j 0.18.0 2017-03-10 15:31:17 +00:00
Timothy Bish 8a34ca0ec7 Clean up connection resources on failed connect. 2016-12-21 17:19:05 -05:00
Timothy Bish 4a1c05b628 https://issues.apache.org/jira/browse/AMQ-6536
Add support for the receiver side of a sender link which carries a
desired capabilities array which can request to know if we support
delayed delivery, answer with an offered capability in that case.
2016-12-13 12:36:59 -05:00
Timothy Bish e050519ff6 https://issues.apache.org/jira/browse/AMQ-6500
Better handle prefetch extension and pull consumers over Topics to avoid
the remote not receiving all the messages available based on the credit
it has issued.
2016-11-18 11:59:01 -05:00
Timothy Bish 980162233f https://issues.apache.org/jira/browse/AMQ-6504
Round the start time value not truncate to ensure delay falls on the
correct side of the scheduling block.
2016-11-11 14:48:49 -05:00
Timothy Bish 097c0e7eae NO-JIRA Add some additional validation. 2016-11-10 12:45:37 -05:00
Timothy Bish 7cf7fba7aa https://issues.apache.org/jira/browse/AMQ-6498
Include the already received backlog when deciding to grant additional
credit to avoid excessive backlogs of messages during producer flow
control.
2016-11-04 11:55:12 -04:00
Hadrian Zbarcea be24a133ef This closes #88 (merged as a65ac586). More file permissions fixes. 2016-11-03 14:26:34 -04:00
Timothy Bish a2d92ef786 https://issues.apache.org/jira/browse/AMQ-6486
Ensure that message with no header is marked as non-persistent.
2016-10-26 19:04:35 -04:00
Timothy Bish cec3245a9f https://issues.apache.org/jira/browse/AMQ-6485
Allow for inspection of Deliveries on Receivers and Delivery updates on
Senders.
2016-10-26 15:17:24 -04:00
Timothy Bish b34336cc0a https://issues.apache.org/jira/browse/AMQ-6484
make the validators thread safe
2016-10-26 14:48:42 -04:00
Timothy Bish 24a79413c6 https://issues.apache.org/jira/browse/AMQ-6479
Allow a unit test to inspect AMQP frames as part of the test.
2016-10-24 15:39:13 -04:00
Timothy Bish 1a811b72dd NO-JIRA Add new test to receiver tests
test showing that remote close and not detach is triggered on close of
the receiver.
2016-10-21 19:40:05 -04:00
Timothy Bish bd8f17700c NO-JIRA Add new test for session close
Add a test that checks that closing a session does not provoke the
remote to close the session resources explicitly.
2016-10-21 12:57:10 -04:00
Timothy Bish 4c838c5fa3 NO-JIRA Add a close method to the session 2016-10-20 17:49:40 -04:00
Timothy Bish 10fc397ab7 https://issues.apache.org/jira/browse/AMQ-6467
Fill in the source / target created for the requested dynamic node with
the actual attributes we are going to support.
2016-10-14 15:00:49 -04:00
Timothy Bish a9f9d4a4d2 https://issues.apache.org/jira/browse/AMQ-6464
Correct handling of rejected outcome to archive the message in the DLQ
2016-10-14 09:35:17 -04:00
Timothy Bish 3e237ca73a NO-JIRA: Add some additional test variations and add some more checks 2016-10-13 14:29:13 -04:00
Timothy Bish f71e0ee15b NO-JIRA Add some additional testing around outcomes 2016-10-11 18:58:51 -04:00
Timothy Bish 1ac89543a8 https://issues.apache.org/jira/browse/AMQ-6460
Add better cleanup of connections on test failure.
2016-10-07 18:48:44 -04:00
Timothy Bish 1316b57edb NO-JIRA Add ability to set message reply-to for in tests 2016-10-06 15:51:31 -04:00
Timothy Bish a2995b7614 https://issues.apache.org/jira/browse/AMQ-6444
Fix failing tests
2016-10-06 15:03:33 -04:00
Timothy Bish baef8f8ec2 https://issues.apache.org/jira/browse/AMQ-6444
Remove some unneeded instance of checks and used cached values where
possible.
2016-10-06 14:20:03 -04:00
Timothy Bish ee9f316c20 https://issues.apache.org/jira/browse/AMQ-6438
Add an additional test that accounts for the fallback transformer case.
2016-09-30 15:54:33 -04:00
Timothy Bish c60d716968 NO-JIRA Update the IDE Runner to fix some config options 2016-09-29 16:57:36 -04:00
Timothy Bish d88c4e46ec https://issues.apache.org/jira/browse/AMQ-6438
Better interop for MapMessage with Binary value in the entries of the
payload, should convert back and forth the byte to allow Message to be
treated as a MapMessage and not fall back to a BytesMessage encoding.
2016-09-29 11:09:34 -04:00
Timothy Bish 0dd806f43f https://issues.apache.org/jira/browse/AMQ-6444
Ensure that unsettled TX messages remain acquired and not redelivered to
the receiver.   Add several tests that demonstrate that a received
message can be released, rejected, accepted or modified after a TX
rollback if it was not settled.
2016-09-28 14:57:04 -04:00
Timothy Bish 45f60e4133 https://issues.apache.org/jira/browse/AMQ-6438
Remove redundant tests and clean up a few small nits.
2016-09-27 17:08:28 -04:00
Timothy Bish b1a9a9382b https://issues.apache.org/jira/browse/AMQ-6438
Add a new test for encode / decode validation.  Fix issue where the
internal scheduled message properties were escaping into the outbound
message.
2016-09-27 15:56:27 -04:00
Timothy Bish 63d62a71f5 https://issues.apache.org/jira/browse/AMQ-6438
JMS Transformer performance improvements and bug fixes

Trim unnecessary code and improve overall performance of the JMS
Transformer codecs.  Remove legacy Qpid JMS client related code from the
transformer as these are no longer supported.  Fix outgoing message that
do not match the structure of the incoming message that created them such
as message with had only a body being sent out with Headers and message
Properties.
2016-09-26 18:43:06 -04:00
Timothy Bish 5702ec8d7c https://issues.apache.org/jira/browse/AMQ-6438
Add additional test for larger more complex AMQP message
2016-09-26 17:19:42 -04:00
Timothy Bish d4c7cce7d7 https://issues.apache.org/jira/browse/AMQ-6438
Makes some improvements to the profiling test for the transformers.
2016-09-21 18:18:41 -04:00
Clebert Suconic 35e8a52888 NO-JIRA: Adding an extra test on AmqpTransactionTest
The test I'm adding was back ported from Artemis.
It will validate if the ACKs are nacked in case of a connection.close();
To avoid a situation where the TX would sit on a Transaction Resource Manager somewhere like an XID.
2016-09-21 16:13:57 -04:00
gtully 6c01b641b1 https://issues.apache.org/jira/browse/AMQ-6422 - move delivery tracking to pumpoutbound and additional test that shows how the presettle case breaks. Thanks to Robbie Gemmell for the feedback 2016-09-21 13:59:45 +01:00
gtully ffee8b442f https://issues.apache.org/jira/browse/AMQ-6422 - match proton sender view credit to prefetchExtension - tracking credit to dispatch delta to track additional flow requests. Proton sender layer is distinct from the transport layer - they mirror each other 2016-09-21 10:33:20 +01:00
Timothy Bish 5d53aa2d11 NO-JIRA: Add some more variants of the .NET transaction tests
Adds ability to not settle accepted messages on the client to enable
creation of tests that are equivalent to the AmqpNetLite client's
transaction tests which hold settlement and expect the resource to
handle it on successful discharge.
2016-09-19 17:36:58 -04:00
Timothy Bish a35d23dff7 NO-JIRA: Small test client fix to close threads out faster. 2016-09-15 16:28:16 -04:00
Timothy Bish 4516c8df3f NO-JIRA: Add some additional tests ported from the .NET AMQP client
Adds some transaction tests ported from AMQP .NET client with some
variances based on the way the test client works and limitations in the
brokers handling of Transacted sends.
2016-09-15 13:26:06 -04:00
Timothy Bish b4ab0e1af9 NO-JIRA AMQP Test updates
Adds support for doing sends and receives that are enrolled in a
transaction created in a session other than the session that created the
sender or receiver.  Adds some tests that show this in action.
2016-09-14 18:23:52 -04:00
Timothy Bish da9fedead4 https://issues.apache.org/jira/browse/AMQ-6422
Adds a split consumer test that uses presettled receivers.
2016-09-09 18:34:03 -04:00
Timothy Bish 2fdc2600ac https://issues.apache.org/jira/browse/AMQ-6422
Small fix to test and check for zero inflight on successive send to
destination that should have no credit on the registered receiver.
2016-09-09 13:02:04 -04:00
Timothy Bish 640289868e https://issues.apache.org/jira/browse/AMQ-6422
Add test for credit grants but no settles for a single receiver.
2016-09-09 12:52:48 -04:00
Timothy Bish 84cd815500 Allow the AMQP test client to also be configure to trace frames
The test client can allow for quick tracing of the frame traffic via a
call to setTraceFrames on the client or connection instance before
connection to the remote.  This allows for tests to easily switch on /
off tracing.  The log4j.properties is also updated to output frame
tracing with the URI option is put on the AMQP transport or the client
value is enabled.
2016-09-08 16:19:37 -04:00
Timothy Bish 0050f22b97 Add a test case for anonymous sender links using simple test client. 2016-09-07 17:27:31 -04:00
Timothy Bish ee271afe90 https://issues.apache.org/jira/browse/AMQ-6422
I've made a few minor test changes and added a couple more cases.  Under
heavy CPU load I'm able to get test,
testReceiveMessageAndRefillCreditBeforeAcceptOnQueue to fail on the
second receive call where it should get the second message since it
granted credit.
2016-09-07 14:05:21 -04:00
gtully 88daeec28f AMQ-6422 - include the inflight count in the prefetch for positive remote credit flows. Fix and test 2016-09-07 17:28:35 +01:00
Christopher L. Shannon (cshannon) 98c5866c75 https://issues.apache.org/jira/browse/AMQ-6418
Properly setting the transport properties on the
AutoNIOSSLTransportServer and fixing the Stomp protocol to set the peer
certs when using auto+ssl
2016-09-06 10:17:05 -04:00
Christopher L. Shannon (cshannon) ed0e786b60 https://issues.apache.org/jira/browse/AMQ-6414
Changing the nio+ssl transports to trigger a serviceRead after start up
to prevent blocking. The prevents the channels from not reading in
certain cases, most notably with the auto+nio+ssl transport when used
for a network bridge.  Also added a couple tests and changed a network
bridge test to test out auto+nio+ssl.
2016-09-01 11:39:46 -04:00
Timothy Bish 4a1f2f7ca7 https://issues.apache.org/jira/browse/AMQ-6410
Advertise that the connection supported delayed message delivery.
2016-08-30 15:00:23 -04:00
Timothy Bish 1030fb1842 https://issues.apache.org/jira/browse/AMQ-6404
Add check for unmarshalled text body and handle that case.
2016-08-23 09:58:05 -04:00
Timothy Bish 5e5b673afa https://issues.apache.org/jira/browse/AMQ-6386
Add test to help diagnose the issue with cross protocol AMQP -> STOMP
message acking.
2016-08-05 12:04:51 -04:00
Christopher L. Shannon (cshannon) 06a21dbbb3 [maven-release-plugin] prepare for next development iteration 2016-08-02 09:03:37 -04:00
Christopher L. Shannon (cshannon) 71cbc65283 [maven-release-plugin] prepare release activemq-5.14.0 2016-08-02 09:02:54 -04:00
Timothy Bish d54e21b2ff https://issues.apache.org/jira/browse/AMQ-6374
Refactor transformer to better map AMQP messages to JMS message types
and better preserve the original encoding of stored messages so that
they can be sent back to an AMQP client with expected content types.
Adds additional interoperability tests.
2016-07-25 18:15:53 -04:00
Timothy Bish 4b018b4206 https://issues.apache.org/jira/browse/AMQ-6339
Clean up the transport implementation and reduce duplication.
2016-07-18 16:54:37 -04:00
Timothy Bish a35e8dc8a2 https://issues.apache.org/jira/browse/AMQ-6359
Allow a receiver link to enable consumer options on the subscription
such as exclusive and retroactive using options encoded on the address
2016-07-14 16:08:34 -04:00
Timothy Bish 16c487a7b9 https://issues.apache.org/jira/browse/AMQ-6353
Fix and test for encoding the correlation Id value to the ActiveMQ
message object's string value
2016-07-12 14:19:01 -04:00
Timothy Bish c9c05eb866 NO-JIRA Update this test to test across all transformers. 2016-07-12 10:57:07 -04:00
Timothy Bish 31c55f7510 https://issues.apache.org/jira/browse/AMQ-6339
Add support for AMQP client to connect using WebSockets.
2016-06-30 14:52:40 -04:00
Timothy Bish 83827f2770 https://issues.apache.org/jira/browse/AMQ-6341
Wait on broker response for async broker commands.
2016-06-29 20:13:34 -04:00
Timothy Bish 4e23adfcc9 https://issues.apache.org/jira/browse/AMQ-6340
combine the lists in the correct order for later redispatch.
2016-06-29 12:57:30 -04:00
Timothy Bish e02c1a17f8 https://issues.apache.org/jira/browse/AMQ-6286
Create a follow on test showing AMQP respects order.
2016-06-24 09:39:48 -04:00
Timothy Bish d563e9019d Test for message property handling cross protocols.
Add a test that validates that message properties are propagated between
OpenWire and AMQP.
2016-06-22 18:05:39 -04:00
Timothy Bish 94ca7039b1 Add a rollback test that rolls back repeatedly using new connections. 2016-06-22 13:02:14 -04:00
Timothy Bish a95d6fd4eb Adds a start of message interoperability test for OpenWire <-> Qpid JMS 2016-06-21 13:01:19 -04:00
Timothy Bish 27d955501f Add some additional tests for dynamic sender / receiver links 2016-06-16 15:59:56 -04:00
Timothy Bish f595f3c20d Handle the case where the remote doesn't set any properties resulting in
a null instance being returned from the properties getter.
2016-06-15 18:55:13 -04:00
Timothy Bish dbed28e625 https://issues.apache.org/jira/browse/AMQ-6320
Turn off support for non SASL connections by default, can be enabled on
the TransportConnector URI if needed.
2016-06-10 17:55:28 -04:00
Timothy Bish c5998444cf https://issues.apache.org/jira/browse/AMQ-6319
Additional fixes and tests for disable of non-SASL client connects.
2016-06-10 17:11:44 -04:00
Timothy Bish 534dbee447 NO-JIRA: Add test to show behavior of non-prefixed addresses that
default to Queue.
2016-06-10 09:50:59 -04:00
Timothy Bish c49db029ab https://issues.apache.org/jira/browse/AMQ-6319
Improve configuration for disabling non-SASL connections.
2016-06-09 17:32:41 -04:00
Timothy Bish 28e7cb0b21 https://issues.apache.org/jira/browse/AMQ-6309
Fix some minor issues shown by static code analysis
2016-06-03 18:05:40 -04:00
Timothy Bish db71b43b19 https://issues.apache.org/jira/browse/AMQ-6305
Lower prefetch on settlement of allow for dispatch of the full amount of
granted credit.  Adds additional tests.
2016-06-03 17:05:00 -04:00
Timothy Bish 76b70545f2 https://issues.apache.org/jira/browse/AMQ-6304
Ensure that the broker send a container ID using its assigned Broker
name value.
2016-06-01 18:38:41 -04:00
Timothy Bish 8448cf1cb8 https://issues.apache.org/jira/browse/AMQ-6305
Refactor credit handling and drain state tracking to ensure we stay in
sync with the remote state and always answer drain requests.  Start
adding some more tests around drain to the interop suite.
2016-06-01 18:30:31 -04:00
Timothy Bish 6ae169e275 https://issues.apache.org/jira/browse/AMQ-6305
Add test and supporting enhancements to the JUnit module to allow for
easy repetition of tests that don't always fail reliably
2016-05-26 18:02:59 -04:00
Timothy Bish 08f266d762 Remove unused import. 2016-05-26 16:52:18 -04:00
Timothy Bish 4d6f4d7475 https://issues.apache.org/jira/browse/AMQ-6263
Encode the incoming messageId value into a string using type prefixes
and decode them on the way out to ensure that we preserve the original
AMQP MessageId type and value.
2016-04-26 18:08:11 -04:00
Timothy Bish 98165c4b69 https://issues.apache.org/jira/browse/AMQ-6228
Create a better error message that for the invalid frame size error.
2016-03-31 16:52:34 -04:00
Timothy Bish f6d25842cc NO-JIRA Adds some small fixes to the AMQP test client around SSL
handling that were found in Qpid JMS where some of this came from.
2016-02-29 16:13:28 -05:00
Timothy Bish bbb17da52f https://issues.apache.org/jira/browse/AMQ-6147
Add a test that can reproduce an issue seen when emitFlowOnSend is
disabled on the proton transport to allow for further investigation.
2016-02-18 16:07:59 -05:00
Timothy Bish 33e27a4f5a NO-JIRA: Add some additional assertions so tests fail more cleanly in
the case of a receive not getting a message before it's assigned
timeout.
2016-02-17 11:34:25 -05:00
Robert Gemmell 3f7b2d6bb0 AMQ-6147: update to proton-j 0.12.0 release 2016-02-16 17:21:12 +00:00
Timothy Bish 4ecff14030 NO-JIRA Update master version to 5.14.0-SNAPSHOT to match the eventual
release version.
2016-01-20 12:40:20 -05:00