Mirror of Apache ActiveMQ Artemis
Go to file
Justin Bertram 1197898232 ARTEMIS-4571 race condition w/TTL impacting in-vm connections
There is a race condition between ConnectionEntry.ttl and
FailureCheckAndFlushThread whereby an in-vm connection may get closed
inadvertently due to a TTL timeout. This is because ConnectionEntry.ttl
is initialized to 60000 and then later set to -1 upon the initial Ping.
If this update happens at *just* the right time in
FailureCheckAndFlushThread then the connection will be closed.

The fix ensures that the ConnectionEntry.ttl is set to -1 for in-vm
connections from the start. It also eliminates the possibility of the
race in FailureCheckAndFlushThread.

This fix is based on static analysis of the code. The timing window is
just too small to contruct a reliable test. The failure has only been
seen in the wild a handful of times.
2024-01-17 21:37:47 -05:00
.github ARTEMIS-4533: fix up variable name to reflect actual usage 2024-01-08 15:27:47 +00:00
.settings ACTIVEMQ6-1 - Initial HornetQ Donation Commit 2014-11-10 10:31:25 -06:00
artemis-boot [maven-release-plugin] prepare for next development iteration 2023-10-27 11:14:45 +01:00
artemis-cdi-client ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-cli ARTEMIS-4560 Fixing defaults on Broker Connections for Broker Properties 2024-01-15 19:13:49 -05:00
artemis-commons ARTEMIS-4569 Removing delegate usage and keep it as checkAtomic 2024-01-17 15:45:49 -05:00
artemis-core-client ARTEMIS-4561 expose store type on web component tls binding config 2024-01-10 15:21:53 -06:00
artemis-core-client-all [maven-release-plugin] prepare for next development iteration 2023-10-27 11:14:45 +01:00
artemis-core-client-osgi ARTEMIS-4528 tls, add support for PEM key store type 2023-12-15 15:52:48 +00:00
artemis-distribution NO-JIRA update NOTICE files! Happy new year 2024-01-03 09:16:19 -05:00
artemis-docker ARTEMIS-4556 support release of multi-platform Docker images 2024-01-11 17:50:02 +00:00
artemis-dto ARTEMIS-4561 expose store type on web component tls binding config 2024-01-10 15:21:53 -06:00
artemis-features ARTEMIS-4491: update to ActiveMQ 5.18.3 2023-11-06 13:16:52 +00:00
artemis-hawtio ARTEMIS-3474 replace non-inclusive terms 2024-01-08 13:32:31 -05:00
artemis-image [maven-release-plugin] prepare for next development iteration 2023-10-27 11:14:45 +01:00
artemis-jakarta-client ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-jakarta-client-all [maven-release-plugin] prepare for next development iteration 2023-10-27 11:14:45 +01:00
artemis-jakarta-ra ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-jakarta-server ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-jakarta-service-extensions ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-jdbc-store ARTEMIS-3474 replace non-inclusive terms 2024-01-08 13:32:31 -05:00
artemis-jms-client ARTEMIS-3474 replace non-inclusive terms 2024-01-08 13:32:31 -05:00
artemis-jms-client-all [maven-release-plugin] prepare for next development iteration 2023-10-27 11:14:45 +01:00
artemis-jms-client-osgi ARTEMIS-4528 tls, add support for PEM key store type 2023-12-15 15:52:48 +00:00
artemis-jms-server ARTEMIS-3474 replace non-inclusive terms 2024-01-08 13:32:31 -05:00
artemis-journal ARTEMIS-3474 replace non-inclusive terms 2024-01-08 13:32:31 -05:00
artemis-junit ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-log-annotation-processor ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-maven-plugin ARTEMIS-3474 replace non-inclusive terms 2024-01-08 13:32:31 -05:00
artemis-protocols ARTEMIS-4569 Removing delegate usage and keep it as checkAtomic 2024-01-17 15:45:49 -05:00
artemis-quorum-api [maven-release-plugin] prepare for next development iteration 2023-10-27 11:14:45 +01:00
artemis-quorum-ri ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-ra ARTEMIS-3474 replace non-inclusive terms 2024-01-08 13:32:31 -05:00
artemis-selector ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-server ARTEMIS-4571 race condition w/TTL impacting in-vm connections 2024-01-17 21:37:47 -05:00
artemis-server-osgi ARTEMIS-4528 tls, add support for PEM key store type 2023-12-15 15:52:48 +00:00
artemis-service-extensions ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-unit-test-support ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
artemis-web ARTEMIS-4561 expose store type on web component tls binding config 2024-01-10 15:21:53 -06:00
artemis-website ARTEMIS-4478: have the docs reference the version used by the release 2023-11-07 12:12:14 +00:00
docs NO-JIRA fix formatting in version history doc 2024-01-11 22:43:56 -06:00
etc ARTEMIS-4181 make try-with-resources style consistent 2023-03-03 08:40:51 -06:00
integration/activemq-spring-integration [maven-release-plugin] prepare for next development iteration 2023-10-27 11:14:45 +01:00
scripts ARTEMIS-4556 support release of multi-platform Docker images 2024-01-11 17:50:02 +00:00
tests ARTEMIS-4569 Blocked Producers will hold runnables until messages are consumed. 2024-01-17 15:40:15 -05:00
.asf.yaml NO-JIRA: have github commit log display auto-link ARTEMIS Jira project references 2023-09-21 11:36:41 +01:00
.gitignore ARTEMIS-4383 migrate user docs to AsciiDoc 2023-08-02 16:21:06 -04:00
.project More name changes to activemq 2014-11-19 16:01:54 -05:00
LICENSE ARTEMIS-4383: add RAT config to fix the build, and LICENSE updates to reflect the new files 2023-08-03 13:04:47 +01:00
NOTICE NO-JIRA update NOTICE files! Happy new year 2024-01-03 09:16:19 -05:00
README.md ARTEMIS-4533: update CI build, update READMEs/docs to reference examples repo and refresh queue example output, tweak assembly as needed, update release steps 2023-12-14 12:05:52 -05:00
RELEASING.md ARTEMIS-4556 support release of multi-platform Docker images 2024-01-11 17:50:02 +00:00
artemis_doap.rdf Update vendor to ASF 2015-05-30 08:37:28 +02:00
pom.xml ARTEMIS-4561 expose store type on web component tls binding config 2024-01-10 15:21:53 -06:00

README.md

Welcome to Apache ActiveMQ Artemis

ActiveMQ Artemis is the next generation message broker from Apache ActiveMQ.

Getting Started

See the User Manual for an in-depth explanation of all aspects of broker configuration and behavior.

The ActiveMQ Artemis Examples repository contains over 90 examples demonstrating many of the client and broker features.

How to Build, etc.

See the Hacking Guide for details about modifying the code, building the project, running tests, IDE integration, etc.

Migrate from ActiveMQ "Classic"

See the Migration Guide for information about the architectural and configuration differences between ActiveMQ "Classic" (i.e. 5.x) and ActiveMQ Artemis.

Report an Issue

See our website for details on how to report an bug, request a feature, etc.