Commit Graph

10514 Commits

Author SHA1 Message Date
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
Clebert Suconic 99348ee672 ARTEMIS-4569 Removing delegate usage and keep it as checkAtomic 2024-01-17 15:45:49 -05:00
Clebert Suconic cedc050e03 ARTEMIS-4569 Blocked Producers will hold runnables until messages are consumed.
When initially developed the expectation was that no more producers would keep connecting but in a scenario like this
the consumers could actually give up and things will just accumulate on the server.

We should cleanup these upon disconnect.
2024-01-17 15:40:15 -05:00
Clebert Suconic 1fef332bea ARTEMIS-4558 Improving test assertions on IdempotentMirrored Ack Test 2024-01-16 12:25:22 -05:00
Clebert Suconic bc7e4639e0 ARTEMIS-4558 Idempotent Mirrored ACKs
Mirror acks should be performed atomically with the storage of the source ACK. Both the send of the ack and the recording of the ack should be part of the same transaction (in case of transactional).

We are also adding support on transactions for an afterWired callback for the proper plug of OperationContext sync.
2024-01-15 19:13:49 -05:00
Clebert Suconic 1887b3fb8e ARTEMIS-4564 Cleanup large message files in case of mirror duplicate detection 2024-01-15 19:13:49 -05:00
Clebert Suconic c6a6e036a4 ARTEMIS-4558 Transactional support for mirroring
- Async commit
 * async here meaning the recording of the commit record is not doing a sync on the storage.
   This is useful for internal operations where we don't need an immediate sync on the journal storage.

- Wired notification
 * I need finer control on a afterWired (to the storage) and before the completions, so I can plug the sync context on mirror right before the commit is called.
2024-01-15 19:13:49 -05:00
Clebert Suconic 5e7a9023d8 ARTEMIS-4560 Fixing defaults on Broker Connections for Broker Properties
ARTEMIS-4566 Allow management of Mirror SNF internal queue
2024-01-15 19:13:49 -05:00
Erwin Dondorp f990c9a597 ARTEMIS-4565 fix help text for 'artemis queue' 2024-01-12 13:24:02 -06:00
Justin Bertram bc55928104
NO-JIRA fix formatting in version history doc 2024-01-11 22:43:56 -06:00
Justin Bertram e3c6531bfd ARTEMIS-4556 support release of multi-platform Docker images 2024-01-11 17:50:02 +00:00
Justin Bertram 99d43dab01 ARTEMIS-4548 refactor MQTT tests
Many MQTT tests are run twice - once using TCP and once using
WebSockets. This is essentially a big waste of time since once the
connection is established to the broker the tests are identical. The
tests should be refactored to run just once and then there can be a
small number of tests specifically for WebSockets.

This should knock several minutes off the test-suite.
2024-01-11 16:23:48 +00:00
Gary Tully 5269b1a89d ARTEMIS-4561 expose store type on web component tls binding config 2024-01-10 15:21:53 -06:00
Justin Bertram ebd634ae54
ARTEMIS-4452 make test more robust 2024-01-10 13:53:19 -06:00
Domenico Francesco Bruscino a7f18777a3 ARTEMIS-4563 Remove auto-created addresses upon restart 2024-01-10 18:31:14 +00:00
Justin Bertram 8b2255d78d ARTEMIS-4554 upgrade to latest Java for Docker images 2024-01-10 16:06:43 +00:00
Justin Bertram 42ddf99ca8
ARTEMIS-4557 fix audit logging 2024-01-10 09:08:12 -06:00
Andy Taylor 43166e24ea ARTEMIS-4557 expose producer window size in clusterconnection JMX
https://issues.apache.org/jira/browse/ARTEMIS-4557
2024-01-09 08:38:26 -06:00
Justin Bertram 85b2f4b126 ARTEMIS-3474 replace non-inclusive terms
This commit does the following:

 - Replaces non-inclusive terms (e.g. master, slave, etc.) in the
   source, docs, & configuration.
 - Supports previous configuration elements, but logs when old elements
   are used.
 - Provides migration documentation.
 - Updates XSD with new config elements and simplifies by combining some
    overlapping complexTypes.
 - Removes ambiguous "live" language that's used with regard to high
   availability.
 - Standardizes use of "primary," "backup," "active," & "passive" as
   nomenclature to describe both configuration & runtime state for high
   availability.
2024-01-08 13:32:31 -05:00
Robbie Gemmell ff8f45de07 ARTEMIS-4533: fix up variable name to reflect actual usage 2024-01-08 15:27:47 +00:00
Domenico Francesco Bruscino 0b51bcfa52 ARTEMIS-4488 Merge settings with wildcards after literal matches 2024-01-04 14:33:04 +01:00
Emmanuel Hugonnet 7456e64f39 ARTEMIS-4452: Allow to customize http header in http-upgrade request from Artemis.
Using a prefix "netty.http.header." to be able to define http headers
used for http request from the netty connector.

Issue: https://issues.apache.org/jira/browse/ARTEMIS-4452

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
2024-01-03 20:55:00 -06:00
Domenico Francesco Bruscino b075cd6fc0 ARTEMIS-4537 Fix merge of multiple address setting matches
Merge multiple address setting matches on a new instance to be idempotent.
2024-01-03 11:02:03 -06:00
Clebert Suconic addd95f517 NO-JIRA update NOTICE files! Happy new year 2024-01-03 09:16:19 -05:00
Erwin Dondorp 25fc034227 ARTEMIS-4549 fix texts for queue operations 2023-12-30 14:18:18 -06:00
Justin Bertram c089e72928
ARTEMIS-4522 remove System.outs 2023-12-21 15:16:51 -06:00
Justin Bertram b24f9b25f0 ARTEMIS-4516 support reloading connectors from XML 2023-12-21 11:44:56 -06:00
Justin Bertram 9baad30827 ARTEMIS-4522 simplify test & complete implementation 2023-12-21 11:44:11 -06:00
Todor Neykov ff2b76c252 ARTEMIS-4522 Dedicated thread pool for flow-control-executor 2023-12-21 11:44:11 -06:00
Justin Bertram d4d4b06fc7 ARTEMIS-4521 deleting divert using mngmnt API doesn't remove binding from journal 2023-12-21 11:43:36 -06:00
Justin Bertram 159416bc09 ARTEMIS-4530 clean up SessionCallback interface 2023-12-21 11:42:44 -06:00
Justin Bertram 29a2b2a879
This closes #4714 2023-12-21 11:29:11 -06:00
Erwin Dondorp 3413aa6991
ARTEMIS-4535 handle invalid filter gracefully
This commit does the following:

 - prevents a large stack trace when the user-supplied message filter
   has errors
 - improves feedback to user for filter-validity
 - indents the search-field in the "Browse Queue" screen same as on
   other screens
 - fixes a spelling error in a nearby comment
2023-12-21 11:26:18 -06:00
Erwin Dondorp 6cddc7f5fa ARTEMIS-4547 properly display empty message 2023-12-21 12:11:17 -05:00
Justin Bertram 6d5c9f170d ARTEMIS-4546 modernize Validators, etc.
No semantic changes here. Just some code gardening.
2023-12-21 12:10:13 -05:00
Justin Bertram 354063f63b
NO-JIRA improve stomp doc formatting 2023-12-20 09:42:19 -06:00
Robbie Gemmell 28a917f4e7 ARTEMIS-4539: update website steps for adding release, use new aggregating script in website repo
- Initial script added in website repo commit b0f987e3c1
2023-12-20 15:31:12 +00:00
Clebert Suconic d8ac2d99e0 ARTEMIS-4543 Reverting to previous semantic on MappedSequentialFile 2023-12-19 22:08:31 -05:00
Clebert Suconic a1add09734 ARTEMIS-4543 Journal/NIO Sync is not scalling up with TimedBuffer 2023-12-19 16:56:41 -05:00
Clebert Suconic 379dd4088f ARTEMIS-4544 Option to sync large messages 2023-12-19 16:56:14 -05:00
Justin Bertram 9b76574de2
NO-JIRA update perf journal wording to be consistent 2023-12-19 11:06:08 -06:00
Robbie Gemmell 59b9997c10 ARTEMIS-4539: update steps for making docs+javadocs updates, simplify to just using script in website repo
- Initial script added in website repo commit 40470b5120
2023-12-19 16:18:25 +00:00
Clebert Suconic a3126f9950 ARTEMIS-4536 Improving JournalTransactions 2023-12-19 09:54:40 -05:00
Justin Bertram eca77df78f ARTEMIS-4541 clarify divert docs 2023-12-19 12:33:56 +00:00
Robbie Gemmell 69e3a1a8a0 ARTEMIS-4539: update steps for creating release colletion file, simplify to just using script in website repo
- Initial script added in website repo commit 0851d83382
2023-12-18 17:24:30 +00:00
Robbie Gemmell bd658bedc3 ARTEMIS-4539: update steps for creating release notes, simplify to just using script in website repo
- Initial script added in website repo commit 74e914b178
2023-12-18 15:45:52 +00:00
Domenico Francesco Bruscino 177e566f75 ARTEMIS-3932 Move meta bean init to static blocks 2023-12-18 10:28:54 -05:00
Robbie Gemmell bbfd0f8e15 ARTEMIS-4538: use the 'alert style NOTE' to make existing detail stand out more, in common with the ones that follow 2023-12-18 12:11:12 +00:00
Robbie Gemmell b0f817e898 ARTEMIS-4533: some fixups, cleanups, and linking more bits to the examples page of docs 2023-12-18 11:58:26 +00:00
Robbie Gemmell 7903f58ab4 ARTEMIS-4539: update release steps for creating git report, simplify to just using script in website repo
- Initial script added in website repo in b281f5ae97
2023-12-15 16:56:36 +00:00