Commit Graph

178 Commits

Author SHA1 Message Date
Martyn Taylor 2e7b660ca8 ARTEMIS-1489 CriticalAnalyzer Fault Injection Test
Fault injection via Byteman to simulate deadlock and slow disk
sync scenarios, ensures the Critical Analyzer detects the issues
reacts appropriately.
2017-11-15 13:37:29 -05:00
Justin Bertram 55d7260a07 ARTEMIS-1510 refactor Maven poms
Clean up unused declared dependencies and undeclared dependencies which
are pulled in transitively.
2017-11-13 17:03:35 -05:00
Clebert Suconic 75dc271cdb NO-JIRA Small refactoring on Wait
- Added Wait.assert methods, what would make it easier to assert on future conditions
- Moved Wait to artemis-junit, we are now using that module on the testsuite
2017-11-02 09:37:31 -04:00
Justin Bertram 8703d9d51d [maven-release-plugin] prepare for next development iteration 2017-11-01 00:38:57 -05:00
Justin Bertram ec63189a0a [maven-release-plugin] prepare release 2.4.0 2017-11-01 00:38:56 -05:00
Justin Bertram a44b9d5edf [maven-release-plugin] prepare for next development iteration 2017-10-31 12:09:43 -05:00
Justin Bertram 34a7431d1b [maven-release-plugin] prepare release 2.4.0 2017-10-31 12:07:55 -05:00
Clebert Suconic f8a0eec2cf ARTEMIS-1489 Adjusting timeouts on test
The Critical analyzer is supposed to catch Deadlocks, and such
can only be resolved by killing the VM.

This test is using shutdown as it would be a bit more complex to
handle Byteman to then halt the VM. This will validate the
CriticalAnalyzer is capturing the event, and in such it would halt the VM.
2017-10-31 08:33:44 -05:00
Martyn Taylor 5a476a189d ARTEMIS-1489 Add test for TimedBuffer Critical Analyser 2017-10-31 08:33:44 -05:00
Clebert Suconic 4f1504ee57 NO-JIRA: update extra tests pom 2017-08-31 14:32:09 -04:00
Howard Gao 613b459c52 ARTEMIS-1315 Client disconnection may cause consumer to hang
When calling a consumer to receive message with a timeout
(receive(long timeout), if the consumer's buffer is empty, it sends
a 'forced delivery' the waiting forever, expecting the server to
send back a 'forced delivery" message if the queue is empty.

If the connection is disconnected as the arrived 'forced
delivery' message is corrupted, this 'forced delivery' message
never gets to consumer. After the session is reconnected,
the consumer never knows that and stays waiting.

To fix that we can send a 'forced delivery' to server right
after the session is reconnected.
2017-08-02 12:48:43 -04:00
Clebert Suconic 955557a31c NO-JIRA: Fix extra-tests pom after release 2017-07-24 21:30:53 -04:00
xstefank 553043393e ARTEMIS-1257 ActiveMQActivationSpec.java should use boxed types for attributes values according to the JCA specification 2017-07-24 09:41:25 -04:00
Francesco Nigro 7075e2e457 ARTEMIS-1266 Mapped Journal refactoring
The MAPPED journal refactoring include:
 - simplified lifecycle and logic (eg fixed file size with single mmap memory region)
 - supports for the TimedBuffer to coalesce msyncs (via Decorator pattern)
 - TLAB pooling of direct ByteBuffer like the NIO journal
 - remove of old benchmarks and benchmark dependencies
2017-06-30 16:17:19 +02:00
Clebert Suconic 5c2144b782 ARTEMIS-1256 PagingOMETest.testPageCleanup fails
Using a Wait condition.

This closes #1370
2017-06-27 12:48:35 -04:00
Clebert Suconic 36110da9c8 ARTEMIS-1253 Refactoring renaming stop(boolean) to fail(boolean)
This method name would clash with ServiceComponent
As the real meaning here on this method is just to failover
So I've renamed the method to avoid the clash with my next commit

(I've done this on a separate commit as you may need to redo this
 commit from scratch again in other branches instead of lots of clashes on cherry-pick)
2017-06-26 16:15:39 -04:00
Howard Gao 045021f7df ARTEMIS-1220 Diverted LargeMessage file corrupted during replication
When a large message is being diverted, a new copy of the original
message is created and replicated (if there is a backup) to the backup.

In LargeServerMessageImpl.copy(long) it reuse a byte array to copy
message body. It is possible that one block of date is read into
the byte array before the previous read has been replicated,
causing the replicated bytes to corrupt.

If we make a copy of the byte array before replication, the corruption
of data will be avoided.
2017-06-26 14:31:43 -04:00
Clebert Suconic 85aeac99ab Revert "ARTEMIS-1227 Internal properties not removed from messages"
This reverts commit f465996444.

Following discussion on https://github.com/hornetq/hornetq/pull/2114
2017-06-22 09:49:45 -04:00
Howard Gao 3d0896f87c ARTEMIS-1240 Disconnect at client side on decoding error
When a broken packet arrives at client side it causes decoding error.
Currently artemis doesn't handle it properly. It should catch such
errors and disconnect the underlying connection, logging a proper
warning message
2017-06-21 10:25:34 -04:00
Jiri Danek 9ad8b71273 ARTEMIS-1212 add a jms.queue. workaround to HornetQProtocolManagerTest 2017-06-14 11:35:50 -05:00
Howard Gao f465996444 ARTEMIS-1227 Internal properties not removed from messages
In a cluster if a node is shut down (or crashed) when a
message is being routed to a remote binding, a internal
property may be added to the message and persisted. The
name of the property is like _AMQ_ROUTE_TOsf.my-cluster*.
if the node starts back, it will load and reroute this message
and if it goes to a local consumer, this property won't
get removed and goes to the client.

The fix is to remove this internal property before it
is sent to any client.
2017-06-12 13:01:12 -05:00
Erich Duda 30e8ca656c ARTEMIS-1208 Do not use reconnect-atempts=-1 in tests 2017-06-08 17:38:11 -04:00
Jiri Danek 09eef28a01 ARTEMIS-1193 upgrade byteman 2.2.0 -> 3.0.10
Version 3.x adds ability to instrument code with Java 8 features,
notably lambdas.
2017-06-06 10:20:13 -04:00
Michael Andre Pearce c65ea783ea ARTEMIS-1189 - Fix checkstyle violations post checkstyle upgrade
After upgrade of checkstyle, resolve violations

remove checkstyle override added as temp measure at point of upgrade forced by sevntu
2017-05-30 13:40:00 -04:00
Clebert Suconic 890e381371 NO-JIRA: bumping 2.2.0-SNAPSHOT release on extra-tests 2017-05-08 12:06:18 -04:00
Clebert Suconic aafb2087fa Revert "NO-JIRA upgrade maven-surefire-plugin to 2.19.1"
This reverts commit 63054a0706.
2017-03-29 21:43:06 -04:00
Jiri Danek 63054a0706 NO-JIRA upgrade maven-surefire-plugin to 2.19.1 2017-03-29 09:27:27 -04:00
Howard Gao 82c720bdfb ARTEMIS-1071 Invalid Type exception handling improvements
If broker fails to decode any packets from buffer, it should
treat it as a critical bug and disconnect immediately.
Currently broker only logs an error message.
2017-03-29 09:19:52 -04:00
Martyn Taylor 10c9d797d1 NO-JIRA Bump extra tests version 2017-03-22 11:45:47 +00:00
Howard Gao 6e02caa53e ARTEMIS-1024 Management operation causes ClassNotFoundException
Artemis expose createQueue() method to management console like Jon.
If the queue to be created already exists it throws an ActiveMQException
back to the console, which will get a ClassNotFoundException when
deserializing the exception.
The same issue goes also with AddressControl.sendMessage() method.

To fix that it should throw a common java exception like IllegalStateException.
2017-03-09 21:22:18 +08:00
Clebert Suconic fe0ca4d84f ARTEMIS-1009 Pure Message Encoding.
with this we could send and receive message in their raw format,
without requiring conversions to Core.

- MessageImpl and ServerMessage are removed as part of this
- AMQPMessage and CoreMessage will have the specialized message format for each protocol
- The protocol manager is now responsible to send the message
- The message will provide an encoder for journal and paging
2017-03-05 23:08:53 -05:00
Justin Bertram ff3e75d148 NO-JIRA move RoutingType to different package 2017-02-13 09:50:41 -06:00
Justin Bertram 0d1fa83181 ARTEMIS-922 Addressing-related API clean-up 2017-01-16 14:40:42 -05:00
Martyn Taylor 6682072da6 Major Version Bump 2.0.0 After Major Arch Change 2016-12-09 18:43:15 +00:00
jbertram a88853fe53 ARTEMIS-788 Stomp refactor + track autocreation for addresses 2016-12-09 18:43:15 +00:00
Andy Taylor 0189f156ec ARTEMIS-876 Remove JMS JMX Objects and add new Address JMX objects 2016-12-09 18:43:15 +00:00
jbertram 84e8a87325 ARTEMIS-876 Remove all reliances on JMS prefixing 2016-12-09 18:43:15 +00:00
Clebert Suconic b8104f6b7e NO-JIRA: Test fixes and speed ups 2016-11-09 14:35:47 -05:00
Clebert Suconic cca527d578 NO-JIRA: fixing extra-tests pom after the release 2016-11-03 16:03:57 -04:00
Clebert Suconic 6afde8f45a ARTEMIS-822 Review journal threading model
https://issues.apache.org/jira/browse/ARTEMIS-822
2016-10-28 16:54:59 -04:00
Clebert Suconic e0021252ee ARTEMIS-829 Removing messages re-encoding
https://issues.apache.org/jira/browse/ARTEMIS-829
2016-10-28 16:54:58 -04:00
Clebert Suconic e49eda9664 NO-JIRA fixing byteman (extra tests)
Two issues encountered here:

i - ClosingConnectionTest was intermittently breaking other tests, in particular it was breaking PagingLeakTest for no apparent reason
  . apparently it was a dead lock from removeAddress on the ServerController

ii - it still showing issues after removing the not needed synchronziation. Since the test is not really needed I am just removing the offending test.
2016-10-28 16:32:04 -04:00
Clebert Suconic 374f142edb fixing build for LargeMessageOverReplicationTest 2016-10-10 10:12:22 +02:00
Clebert Suconic ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00
Clebert Suconic 4e349693f4 Fixing build on extra-tests 2016-09-27 09:21:25 -04:00
Clebert Suconic f8278ec99c ARTEMIS-727 Improving Thread usage on JDBC
https://issues.apache.org/jira/browse/ARTEMIS-727
2016-09-12 14:32:40 -04:00
Clebert Suconic a054713424 1.5.0.SNAPSHOT on extra-tests 2016-08-16 16:21:27 -04:00
Ville Skyttä c890164fda Use try-with-resources some more 2016-07-29 15:32:57 -04:00
Ville Skyttä 04eed1b7f4 Fix some potential NPEs in examples and tests 2016-07-28 23:30:02 +03:00
Ville Skyttä 68c7c2575d Remove dead code 2016-07-28 12:28:18 -04:00
Ville Skyttä 429e1e84d4 Remove unnecessary casts 2016-07-28 18:12:59 +03:00
Ville Skyttä 39edf958a1 Add missing @Override annotations 2016-07-19 16:09:12 +01:00
Francesco Nigro 36555a10c5 ARTEMIS-623/ARTEMIS-622 Added memory mapped impl of Sequential File + benchs.
Added experimental GCFree Journal impl + benchs + Sequentially Encoded Aligned Binary Protocol.

https://issues.apache.org/jira/browse/ARTEMIS-622
https://issues.apache.org/jira/browse/ARTEMIS-623
2016-07-11 13:36:47 -04:00
Clebert Suconic 5dc5a242bb ARTEMIS-577 & ARTEMIS-596 Fixing API compatibility.
This is also fixing a build issue.
2016-06-27 12:08:11 -04:00
Tom Ross 5bca681c1a ARTEMIS-596 JMS Bridge messages should be identified.
In cases where there are many JMS bridges defined on a broker it should
be possible to identify any error message by a bridge name.
2016-06-24 16:11:29 +01:00
Ville Skyttä 3923ae45f4 Fix checkstyle redundant modifier violations 2016-06-13 20:03:54 +03:00
Martyn Taylor a261feafd8 Bump extra test version after release tag 2016-06-08 13:42:36 +01:00
Clebert Suconic 2e6586548b ARTEMIS-552 Replication target being finished can lead to instability on live
https://issues.apache.org/jira/browse/ARTEMIS-552
2016-06-06 16:28:51 -04:00
Erich Duda a622fa7443 ARTEMIS-518 - Improvement of default thread factory 2016-05-09 14:33:41 -04:00
jbertram 19147113cb Fix RaceOnSyncLargeMessageOverReplication2Test 2016-05-05 20:21:18 -05:00
Andy Taylor f4f35fc2f5 fixing test
create consumer before sending message so queue is auto created
2016-05-05 13:00:53 +01:00
jbertram 1d770e49f0 Fix RaceOnSyncLargeMessageOverReplicationTest 2016-05-04 15:28:23 -05:00
jbertram 9accf62753 Fix LargeMessageOverReplicationTest
It's not necessary to prefix the queue name with "jms.queue." when
creating a queue with a JMS session.
2016-05-04 13:44:56 -05:00
Clebert Suconic 86a81d315d ARTEMIS-465 Changing Byteman race on test 2016-04-14 18:55:01 -04:00
Ville Skyttä e6e1311f8d Add missing @Overrides 2016-04-11 16:51:01 -04:00
Clebert Suconic 7da22ff105 ARTEMIS-465 Testing possible races through large message replication 2016-04-04 23:15:54 -04:00
Ville Skyttä 16ee65309c Add missing @Override annotations 2016-04-04 11:03:48 -05:00
Erich Duda edadc79c5f ARTEMIS-442 - [Artemis Testsuite] ConcurrentDeliveryCancelTest#testConcurrentCancels calls System.exit 2016-03-18 09:35:40 +01:00
Clebert Suconic 45d1194009 ARTEMIS-437 tweak on the test. Making sure the test fails over during the message sends 2016-03-11 16:55:10 -05:00
Clebert Suconic 26fe21baa4 ARTEMIS-437 Large Message send should be interrupted during failover 2016-03-11 13:13:32 -05:00
Erich Duda 9b60e558eb ARTEMIS-430 - [Artemis Testsuite] ClosingConnectionTest#testKillConnection fails 2016-03-11 07:25:34 +01:00
Clebert Suconic 45aeeb3ba7 Revert "ARTEMIS-359 - test suite fix - IBM JDK 6/7/8 does not allow byteman agent to modify classes."
This is causing issues with running tests on the IDEs

This reverts commit fe9b95ed64.
2016-02-24 13:42:52 -05:00
Howard Gao ddf8d8f96e ARTEMIS-421 wrong XA_RETRY XAException error code
returned on crash for 1PC
2016-02-24 22:23:57 +08:00
Miroslav Novak fe9b95ed64 ARTEMIS-359 - test suite fix - IBM JDK 6/7/8 does not allow byteman agent to modify classes. 2016-01-25 11:21:29 -05:00
Martyn Taylor 4922a7618a Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
Clebert Suconic e56ca95fdc Dealing with expected IBM JDK thread and refactoring the Thread check as a Rule 2016-01-11 20:02:46 -05:00
Ville Skyttä 66e82be652 Remove dead code 2016-01-11 13:21:26 -05:00
Clebert Suconic a5a993ed9d ARTEMIS-332 - test added / better dealing with critical errors on paging 2016-01-06 19:42:45 -05:00
Ville Skyttä d48e344a8f Add missing @Overrides 2015-12-21 22:06:03 -05:00
Ville Skyttä a0dc9861a0 Access static members directly 2015-12-21 22:01:21 -05:00
Ville Skyttä 2cb74839f9 Remove redundant type arguments 2015-12-21 21:57:16 -05:00
Martyn Taylor 4cb9cbbf59 extraTests version bump and RELEASING note 2015-12-21 09:48:14 +00:00
Clebert Suconic af1f79bff5 ARTEMIS-302 more changes around XA reliability (resilience on failures) 2015-12-16 10:19:35 -05:00
Ville Skyttä f8a1c5ba8e Remove redundant type arguments 2015-12-07 22:55:05 +02:00
Ville Skyttä 3b5ee6c7ea Remove unnecessary casts 2015-12-07 22:53:42 +02:00
Ville Skyttä 25ae472455 Add missing @Override annotations 2015-12-06 01:27:35 +02:00
Clebert Suconic b1d5076108 ARTEMIS-302 - more work about improving resilience of MDBs and XA 2015-11-16 18:11:44 -05:00
Clebert Suconic f72c226aec removing trace 2015-11-11 11:38:29 -05:00
Clebert Suconic 7bbd17cd37 ARTEMIS-302 - Improving XA Resilience 2015-11-11 09:50:58 -05:00
Clebert Suconic f0f886f53a ARTEMIS-301 - Adding test replicating Consumer::cancel concurrency issue 2015-11-10 14:29:34 -05:00
Clebert Suconic 360338a362 NO-JIRA making sure there wouldn't be duplicates out of transaction timeout 2015-10-17 00:26:44 -04:00
Clebert Suconic 206acdac7d ARTEMIS-238 and ARTEMIS-236 Fixing Legacy protocol support 2015-10-08 20:32:43 -04:00
Clebert Suconic 79a7ee5a3f fixing version and adding missing projects on release profile 2015-09-04 23:41:23 -04:00
jbertram f3be78a096 ARTEMIS-179 Expose disconnect/reconnect problem
Currently a cluster bridge will continue to attempt to reconnect to
a node that sends it a DISCONNECT until its reconnect-attempts is
exhausted. A DISCONNECT message indicates that the node is not coming
back so no reconnect attempt should be made and the bridge should be
stopped, the bindings should be cleaned up, etc.

The change to this test exposes this problem.
2015-08-10 10:20:01 -05:00
Clebert Suconic 5ac2c2444b manual checkstyle changes 2015-08-10 10:08:23 -04:00
Clebert Suconic bac96047f5 automatic checkstyle change
this is just calling Idea format on all the files using the new style
I am separating manual changes from automatic changes in case I have to repeat the manual changes again
2015-08-10 09:26:42 -04:00
Clebert Suconic 517e076620 fixing tests
The refactoring on native left a few name changes and a small twek that I needed to make on buffers
2015-08-03 23:39:35 -04:00
Clebert Suconic 077a416ee0 Improving up time of some tests 2015-06-23 16:35:44 -04:00
Clebert Suconic 51c34c87d2 ARTEMIS-136 - XA Error fix with proper exception error
https://issues.apache.org/jira/browse/ARTEMIS-136

From what I researched from implementers of XA TM if you throw ERR over communication errors the transaction manager will create
an heuristic transaction to be manually dealt with.

Other XA Implementations (such as Oracle JDBC) are return FAIL over communication failures during any XA operation.
2015-06-15 16:34:55 -04:00
Clebert Suconic 309ce4324c Fixing javadoc and removing the -Xdoclint option from the pom.xml
Also, since JDK 1.8 is no longer required I'm downgrading the JDK to 1.7 minimal.
We can review that back to 1.8 when we really need 1.8 features.
2015-06-09 22:13:11 -04:00