Robbie Gemmell [Wed, 21 Aug 2019 14:15:17 +0000 (15:15 +0100)]
[maven-release-plugin] prepare release 0.45.0
Robbie Gemmell [Wed, 21 Aug 2019 12:16:04 +0000 (13:16 +0100)]
QPIDJMS-471: also indicate dep may not be present in OSGi manifest
Robbie Gemmell [Tue, 20 Aug 2019 17:27:57 +0000 (18:27 +0100)]
QPIDJMS-471: add support for message tracing using OpenTracing
Robbie Gemmell [Wed, 14 Aug 2019 14:06:52 +0000 (15:06 +0100)]
QPIDJMS-465: update to Netty 4.1.39
Robbie Gemmell [Tue, 13 Aug 2019 14:39:13 +0000 (15:39 +0100)]
QPIDJMS-470: update to proton-j 0.33.2
Robbie Gemmell [Mon, 12 Aug 2019 16:10:04 +0000 (17:10 +0100)]
QPIDJMS-465: update to Netty 4.1.38
Timothy Bish [Fri, 2 Aug 2019 18:58:22 +0000 (14:58 -0400)]
QPIDJMS-469 Remove some unused variabels and code blocks
Removes an unused atomic boolean in the consumer and a no longer used
async result and set block that is no longer used by the producer
Timothy Bish [Fri, 2 Aug 2019 18:56:08 +0000 (14:56 -0400)]
NO-JIRA tweak some tests to avoid race on peer start / setup
Robbie Gemmell [Wed, 24 Jul 2019 11:00:25 +0000 (12:00 +0100)]
QPIDJMS-468: send disposition for delivered messages upon CLIENT_ACK session shutdown
Timothy Bish [Tue, 23 Jul 2019 18:51:37 +0000 (14:51 -0400)]
QPIDJMS-467 Provide client API stack traces in JMS Exceptions
Only throw ProviderException types from the provider layer and allow
for conversion to the correct JMS exception type in the JMS layer to
allow the stack traces in the thrown exceptions to map to which JMS
API method was called to trigger the error. Thrown exceptions will
provide the cause for the error from the proivider layer from the
calling method in the JMS layer.
Robbie Gemmell [Mon, 1 Jul 2019 13:57:07 +0000 (14:57 +0100)]
QPIDJMS-466: Update various test dependencies:
- ActiveMQ to 5.15.9
-- Jetty to 9.4.19.v20190610
- Mockito to 2.28.2
- Hamcrest to 2.1 (note also, switches to new artifact name)
Robbie Gemmell [Mon, 1 Jul 2019 13:56:03 +0000 (14:56 +0100)]
Revert "QPIDJMS-464: Update various test dependencies:"
This reverts commit
98b6bf8a7585141461ac60bc96d18838ae9dfe12.
Robbie Gemmell [Mon, 1 Jul 2019 13:46:31 +0000 (14:46 +0100)]
QPIDJMS-465: update to Netty 4.1.37
Robbie Gemmell [Mon, 1 Jul 2019 13:36:55 +0000 (14:36 +0100)]
QPIDJMS-464: Update various test dependencies:
- ActiveMQ to 5.15.9
-- Jetty to 9.4.19.v20190610
- Mockito to 2.28.2
- Hamcrest to 2.1 (note also, switches to new artifact name)
Robbie Gemmell [Fri, 28 Jun 2019 17:30:20 +0000 (18:30 +0100)]
[maven-release-plugin] prepare for next development iteration
Robbie Gemmell [Fri, 28 Jun 2019 17:29:41 +0000 (18:29 +0100)]
[maven-release-plugin] prepare release 0.44.0
Alex Volanis [Tue, 3 Jul 2018 00:53:16 +0000 (20:53 -0400)]
QPIDJMS-462: allow OSGI resolution to be optional for native transport packages
This closes #20
Robbie Gemmell [Fri, 28 Jun 2019 14:57:50 +0000 (15:57 +0100)]
QPIDJMS-464: fail pull attempt if message doesnt eventually complete
Robbie Gemmell [Fri, 28 Jun 2019 11:35:24 +0000 (12:35 +0100)]
QPIDJMS-464: ensure the message pull attempt transitions to stop attempt at timeout if message is partially transferred
Robbie Gemmell [Fri, 28 Jun 2019 09:50:45 +0000 (10:50 +0100)]
NO-JIRA: shut down the executors created in some tests, and check for task error
Robbie Gemmell [Mon, 24 Jun 2019 12:20:39 +0000 (13:20 +0100)]
QPIDJMS-463: update surefire and jacoco testing plugin versions
Robbie Gemmell [Mon, 24 Jun 2019 11:33:38 +0000 (12:33 +0100)]
NO-JIRA: try configuring dist to xenial
Robbie Gemmell [Mon, 24 Jun 2019 10:49:31 +0000 (11:49 +0100)]
NO-JIRA: add local repo caching to Travis build
Robbie Gemmell [Mon, 24 Jun 2019 10:07:09 +0000 (11:07 +0100)]
NO-JIRA: try Travis with newest xcode/OSX version still defaulting to JDK8
Robbie Gemmell [Wed, 19 Jun 2019 14:14:15 +0000 (15:14 +0100)]
NO-JIRA: Swap Travis job to Open JDK 8. Also remove defunct sudo:false per Travis guidance.
Timothy Bish [Tue, 18 Jun 2019 14:31:21 +0000 (10:31 -0400)]
QPIDJMS-461 Optimize the default message ID builder
Change the builtin Message ID builder to create a builder
per producer and optimize the string handling used to create
the Message ID from the producer id and sequence number.
Robbie Gemmell [Mon, 17 Jun 2019 17:26:31 +0000 (18:26 +0100)]
QPIDJMS-462: isolate use of native transport classes, facilitate their runtime exclusion
Robbie Gemmell [Mon, 10 Jun 2019 15:44:10 +0000 (16:44 +0100)]
NO-JIRA: note that CompletionListener sends are always async, since they are implicitly
Robbie Gemmell [Thu, 6 Jun 2019 16:25:23 +0000 (17:25 +0100)]
QPIDJMS-460: expand accepted types for x-opt-delivery-time message annotation on recieved messages
Robbie Gemmell [Tue, 4 Jun 2019 11:33:41 +0000 (12:33 +0100)]
[maven-release-plugin] prepare for next development iteration
Robbie Gemmell [Tue, 4 Jun 2019 11:17:02 +0000 (12:17 +0100)]
[maven-release-plugin] prepare release 0.43.0
Robbie Gemmell [Tue, 4 Jun 2019 10:45:25 +0000 (11:45 +0100)]
QPIDJMS-459: update to proton-j-0.33.1
Robbie Gemmell [Fri, 31 May 2019 09:45:43 +0000 (10:45 +0100)]
NO-JIRA: use https for non-dev repo link
Timothy Bish [Tue, 21 May 2019 15:59:22 +0000 (11:59 -0400)]
QPIDJMS-457 Use connection listener to ensure wait until dropped
Use a listener on the connection to wait until dropped before proceeding
with the send / reconnect / send again phase of the test.
Robbie Gemmell [Mon, 20 May 2019 09:58:37 +0000 (10:58 +0100)]
QPIDJMS-457: protect against potential NPE
Timothy Bish [Tue, 14 May 2019 16:16:23 +0000 (12:16 -0400)]
NO-JIRA make use of the ActiveMQ test repeat rule for repeated tests
Use a test repeat rule which will setup and teardown properly between
each test run instead of running in a tight loop to give broker setup
and teardown a proper cycle on each iteration.
Timothy Bish [Mon, 13 May 2019 18:21:22 +0000 (14:21 -0400)]
QPIDJMS-457 Ensure that on send failure the message state is reset
On sync send failure ensure that message state resets to writable so
that the message can be resent if desired.
Robbie Gemmell [Wed, 8 May 2019 12:00:10 +0000 (13:00 +0100)]
QPIDJMS-456: update to apache parent pom v21
Robbie Gemmell [Tue, 7 May 2019 17:50:24 +0000 (18:50 +0100)]
QPIDJMS-455: update to Netty 4.1.36 (and netty-tcnative-boringssl-static test dep to 2.0.25 as required)
Robbie Gemmell [Tue, 7 May 2019 16:35:18 +0000 (17:35 +0100)]
[maven-release-plugin] prepare for next development iteration
Robbie Gemmell [Tue, 7 May 2019 16:34:25 +0000 (17:34 +0100)]
[maven-release-plugin] prepare release 0.42.0
Robbie Gemmell [Tue, 7 May 2019 11:40:47 +0000 (12:40 +0100)]
QPIDJMS-454: explicitly populate the durable field if already sending a Header section
Robbie Gemmell [Tue, 7 May 2019 10:22:15 +0000 (11:22 +0100)]
QPIDJMS-453: update to proton-j-0.33.0
Robbie Gemmell [Thu, 25 Apr 2019 11:22:16 +0000 (12:22 +0100)]
NO-JIRA: add some additional tests created when investigating behaviour
Robbie Gemmell [Wed, 3 Apr 2019 16:27:55 +0000 (17:27 +0100)]
[maven-release-plugin] prepare for next development iteration
Robbie Gemmell [Wed, 3 Apr 2019 16:27:17 +0000 (17:27 +0100)]
[maven-release-plugin] prepare release 0.41.0
Robbie Gemmell [Wed, 3 Apr 2019 15:17:42 +0000 (16:17 +0100)]
QPIDJMS-451: add some additional CLIENT_ACK session recovery testing
Robbie Gemmell [Wed, 3 Apr 2019 13:36:15 +0000 (14:36 +0100)]
QPIDJMS-448: remote leftover println, oops.
Robbie Gemmell [Wed, 3 Apr 2019 12:06:47 +0000 (13:06 +0100)]
QPIDJMS-448: support defining defaults for variables
Robbie Gemmell [Tue, 2 Apr 2019 13:51:16 +0000 (14:51 +0100)]
QPIDJMS-450: add headers and SASL frames to protocol tracer output using support from proton-j 0.32.0
Robbie Gemmell [Mon, 1 Apr 2019 17:38:38 +0000 (18:38 +0100)]
QPIDJMS-449: update to proton-j 0.32.0
Robbie Gemmell [Mon, 1 Apr 2019 17:23:20 +0000 (18:23 +0100)]
QPIDJMS-448: support simple variable expansion for JNDI config
Timothy Bish [Fri, 8 Mar 2019 16:36:05 +0000 (11:36 -0500)]
QPIDJMS-445 Update Netty libraries to latest
Update to Netty 4.1.34.Final and Netty nateives 2.22.0.Final
Updates Mockito to latest 2.25.0 release
Robbie Gemmell [Mon, 28 Jan 2019 16:18:14 +0000 (16:18 +0000)]
QPIDJMS-442: transport options to configure local address and/or port used in connect
Based on PR from rahul.b.uk@gmail.com, but with changes and more tests from me. This closes #27.
Robbie Gemmell [Mon, 28 Jan 2019 11:12:30 +0000 (11:12 +0000)]
NO-JIRA: update years in notice files
Robbie Gemmell [Mon, 17 Dec 2018 10:26:13 +0000 (10:26 +0000)]
[maven-release-plugin] prepare for next development iteration
Robbie Gemmell [Mon, 17 Dec 2018 10:22:33 +0000 (10:22 +0000)]
[maven-release-plugin] prepare release 0.40.0
Timothy Bish [Fri, 14 Dec 2018 17:25:41 +0000 (12:25 -0500)]
QPIDJMS-440 Update Netty to 4.1.32.Final
Robbie Gemmell [Fri, 14 Dec 2018 10:33:27 +0000 (10:33 +0000)]
NO-JIRA: update pom.xml scm details to reflect new qpid-jms repo location
Timothy Bish [Wed, 12 Dec 2018 17:32:17 +0000 (12:32 -0500)]
QPIDJMS-438 Ensure that closed sessions are removed from tracking
When a session is remotely closed it can be left in the Connection
tracking map which can lead to large leaks of remotely closed sessions
over time. Ensure it is removed on shutdown calls.
Robbie Gemmell [Wed, 12 Dec 2018 17:03:06 +0000 (17:03 +0000)]
QPIDJMS-439: distinguish sessions and connections better in the protocol trace logs
Robbie Gemmell [Wed, 28 Nov 2018 11:29:17 +0000 (11:29 +0000)]
[maven-release-plugin] prepare for next development iteration
Robbie Gemmell [Wed, 28 Nov 2018 11:28:19 +0000 (11:28 +0000)]
[maven-release-plugin] prepare release 0.39.0
Robbie Gemmell [Tue, 27 Nov 2018 17:14:05 +0000 (17:14 +0000)]
QPIDJMS-437: update to proton-j 0.31.0
Robbie Gemmell [Fri, 23 Nov 2018 12:09:38 +0000 (12:09 +0000)]
QPIDJMS-436: fix javadoc errors on Java 11
Robbie Gemmell [Thu, 22 Nov 2018 16:34:57 +0000 (16:34 +0000)]
QPIDJMS-432: update various plugins and test dependencies
Timothy Bish [Tue, 20 Nov 2018 22:06:05 +0000 (17:06 -0500)]
QPIDJMS-434 Safe iteration over consumer that can close during
Ensure that we safely iterate over the consumers when processing a
client acknowledge to ensure that deferred closures don't cause a
ConcurrentModificationException which will error out the acknowledge
operation.
Timothy Bish [Thu, 15 Nov 2018 19:05:57 +0000 (14:05 -0500)]
QPIDJMS-432 Update dependencies used in test and packaging
Timothy Bish [Wed, 14 Nov 2018 18:03:40 +0000 (13:03 -0500)]
QPIDJMS-431 Refactor the FailoverProvider to improve performance
Refactor how the failover provider handles the workload passing though it
and how it deals with connection failures to make its presence as transparent
as possible to overall client performance.
Robbie Gemmell [Mon, 12 Nov 2018 17:42:43 +0000 (17:42 +0000)]
[maven-release-plugin] prepare for next development iteration
Robbie Gemmell [Mon, 12 Nov 2018 17:40:23 +0000 (17:40 +0000)]
[maven-release-plugin] prepare release 0.38.0
Robbie Gemmell [Mon, 12 Nov 2018 16:50:58 +0000 (16:50 +0000)]
QPIDJMS-429: fix typo in spelling
Timothy Bish [Mon, 12 Nov 2018 16:31:34 +0000 (11:31 -0500)]
QPIDJMS-429 Make use of newer proton-j APIs for send and decode
Use newer APIs to clean up some send code that handles dispositions and
use new section type enums to simplify the message decoding portion of
the codec. Also implement the writeable buffer ensure remaining method
to better handle writes where the buffer needs to grow.
Sean Sullivan [Wed, 3 Oct 2018 18:08:15 +0000 (11:08 -0700)]
NO-JIRA: add openjdk11 to Travis build matrix. This closes #21.
Robbie Gemmell [Mon, 12 Nov 2018 15:14:43 +0000 (15:14 +0000)]
QPIDJMS-428: disable SaslGssApiIntegrationTest on Java11 onward until issues resolved
Robbie Gemmell [Mon, 12 Nov 2018 14:01:26 +0000 (14:01 +0000)]
NO-JIRA: ensure handshake completion notified at server before inspecting state, fixes spurious test failure when using TLSv1.3
Robbie Gemmell [Tue, 6 Nov 2018 17:55:05 +0000 (17:55 +0000)]
QPIDJMS-427: update to proton-j 0.30.0
Sebastian Thomschke [Wed, 7 Nov 2018 16:01:31 +0000 (17:01 +0100)]
QPIDJMS-424: Update to Netty 4.1.31 and netty-tcnative 2.0.19. This closes #24.
Robbie Gemmell [Mon, 5 Nov 2018 11:16:29 +0000 (11:16 +0000)]
NO-JIRA: simplify test method, remove arg that isnt useful and is always false
Timothy Bish [Tue, 30 Oct 2018 19:48:26 +0000 (15:48 -0400)]
QPIDJMS-420 Use local tracking in AmqpConsumer for prefetch refill
Track the number of message that are currently in the prefetch buffer using
local counters that mesh well with the already added delivered message counts
to reduce access to synchronized code in the message queue. Reduce code paths
where a message settlement might be missed or credit not replenished on error.
Timothy Bish [Mon, 29 Oct 2018 18:45:36 +0000 (14:45 -0400)]
QPIDJMS-423 Log only the host and port data from the URI on connect
Update the connection event handler to log only the on-query portion of
the URI when processing the event.
This closes #23
Timothy Bish [Fri, 26 Oct 2018 20:44:23 +0000 (16:44 -0400)]
QPIDJMS-420 Refactor the MessageConsumer prefetch queue
Refactor the MessageQueue based implementations to remove some unused
APIs and simplify the interface. Improves performance of the default
FifoMessageQueue and separates the implementation from the priority
based variant to allow for more efficiencies to be added in.
Timothy Bish [Fri, 26 Oct 2018 19:55:08 +0000 (15:55 -0400)]
QPIDJMS-420 Allow for direct dispatch to target JMS MessageConsumer
Allow the connection to be provided a direct path to the targeted
consumer of an inbound message as opposed to looking one up via the
session map and then the session's consumer map. Preserves the legacy
lookups for compatibility with connection consumer paths.
Robbie Gemmell [Thu, 25 Oct 2018 16:33:20 +0000 (17:33 +0100)]
NO-JIRA: fix test to avoid spurious failure due to race formed by old changes in connect behaviour
Timothy Bish [Fri, 19 Oct 2018 17:48:03 +0000 (13:48 -0400)]
QPIDJMS-421 Cache common message annotation encodings for sends
Use a cache to store the msot commonly used message annotations that
are applied to outbound messages in order to reduce overhead of sends
that would otherwise be encoding the same annotations map each time.
Only when additional JMS features like scheduled delivery time are
used will we need to perform a full encode on the MessageAnnotations
section of the outbound message.
Robbie Gemmell [Thu, 18 Oct 2018 14:17:29 +0000 (15:17 +0100)]
QPIDJMS-420: add a try-finally to ensure the decrement occurs
Timothy Bish [Wed, 17 Oct 2018 18:33:31 +0000 (14:33 -0400)]
QPIDJMS-420 Avoid signaling attempt costs when no waiters
Track if a receive (dequeue) call is waiting on the prefetch queue in
the consumer and if none present don't try to wait a thread which avoids
some cost and reduces time under lock.
Timothy Bish [Wed, 17 Oct 2018 16:50:26 +0000 (12:50 -0400)]
QPIDJMS-419 Ensure created resources are tracked at all times
If the request to create a resource doesn't complete until after
a failover and reconnect the recovery of the JMS resources on
reconnect may miss the fact it needs to recover that resource.
Timothy Bish [Tue, 16 Oct 2018 19:12:30 +0000 (15:12 -0400)]
QPIDJMS-418 Optimize usage of Symbol types to reduce overhead
The code is currently doing many Symbol.valueOf calls for each message
on send and receive where it should be using cached Symbol values to
avoid the overhead of the Symbol objects cache lookups and string
compares. Clean up some other ares where we process Symbols to reduce
overhead on send and receive.
Robbie Gemmell [Fri, 12 Oct 2018 14:18:19 +0000 (15:18 +0100)]
QPIDJMS-2: commit for testing git to JIRA comment bot, ignore.
Timothy Bish [Thu, 11 Oct 2018 23:10:35 +0000 (19:10 -0400)]
QPIDJMS-416 Allow the event loop to run until Transport close
Allow the event loop to close only on Transport close to ensure that
work can be done async by users of the Transport up to the close.
Also fixes some random test failures by ensuring that the init method
failure triggers channel abort before connection completes.
Timothy Bish [Tue, 9 Oct 2018 20:25:23 +0000 (16:25 -0400)]
QPIDJMS-416 Run all AmqpProvider work on netty event loop thread
Move from a separate provider executor to using the netty event loop for
AMQP protocol handling.
Robbie Gemmell [Tue, 2 Oct 2018 15:14:56 +0000 (16:14 +0100)]
QPIDJMS-414: update to Netty 4.1.30
Robbie Gemmell [Tue, 2 Oct 2018 15:14:39 +0000 (16:14 +0100)]
QPIDJMS-415: update netty-tcnative, activemq, jetty, mockito, jacoco test deps
Timothy Bish [Fri, 28 Sep 2018 18:53:09 +0000 (14:53 -0400)]
NO-JIRA Fix intermittent test failures due to timing
On very fast machine the delay can be the exact value specified so a
check on greatThanOrEqualTo is needed to ensure no sporadic faulures
Robbie Gemmell [Fri, 28 Sep 2018 16:25:09 +0000 (17:25 +0100)]
[maven-release-plugin] prepare for next development iteration
Robbie Gemmell [Fri, 28 Sep 2018 16:23:56 +0000 (17:23 +0100)]
[maven-release-plugin] prepare release 0.37.0
Timothy Bish [Mon, 24 Sep 2018 19:44:33 +0000 (15:44 -0400)]
QPIDJMS-413 Fix improper calculation in the ReadableBuffer
Don't add reader index to the array offset for the underlying buffer.
Robbie Gemmell [Tue, 11 Sep 2018 11:22:10 +0000 (12:22 +0100)]
NO-JIRA: strengthen testing of sync send with failover provider
Robbie Gemmell [Fri, 31 Aug 2018 17:34:47 +0000 (18:34 +0100)]
QPIDJMS-412: stop further [re]connection attempts after a non-temporary SASL failure