Commit Graph

163 Commits

Author SHA1 Message Date
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
jbertram 20326d0d83 ARTEMIS-19 allow disabling of message load-balancing 2015-06-03 16:21:43 -05:00
Thiago Kronig d48b4f4770 ARTEMIS-129 License header should be a normal comment
To reproduce this commit, apply a replace regex rule using:

    search regex: /\*\*\n \* Licensed
    replace: /\*\n \* Licensed

These files had to be changed manually:

    artemis-selector/src/main/javacc/HyphenatedParser.jj
    artemis-selector/src/main/javacc/StrictParser.jj
    artemis-website/src/main/resources/styles/impact/css/pygmentize.css
    artemis-website/src/main/resources/styles/impact/css/site.css
2015-06-03 10:19:45 -04:00
Clebert Suconic a6b8a09b65 Cleanup issues reported by error prone
We had a few reported small issues on the codebase from the recent introduced google error prone.
This should eliminate any issues, and I am making sure these won't happen again
2015-05-28 23:49:59 -04:00
jbertram 328611fdc9 More test-suite refactoring
Lots of work on the test-suite in this commit including:
- Rename ServiceTestBase to ActiveMQTestBase
- Make AddressSettings fluent
- Remove unnecessary tearDown() implementations
- Use ActiveMQTestBase.create*Locator() instead of
  ActiveMQClient.createServerLocator*(..)
- Use fluent ServerLocator methods
- Make sure all ActiveMQServers.newActiveMQServer invocations
  are surrounded with addServer() where appropriate
- Create a few example tests to be references from hacking-guide
- Update hacking-guide with more info on writing tests
- Refactor config creation methods in ActiveMQTestBase
2015-05-28 08:49:02 -05:00
jbertram 99147d0713 Refactor base test classes
This has bothered me for awhile, but writing the hacking guide has
given me an opportunity to refactor some of our test-suite to be
simpler, more consistent, and easier to understand. This is
important if we want users to provide well-written tests. Our
test-suite is an important part of the code-base and it should be
easy to write good tests.

Basically I just consolidated CoreUnitTestCase, UnitTestCase, and
ServiceTestBase into a single class named ServiceTestBase. I also
simplified some of the configuration creation methods to reduce
duplicated code.
2015-05-19 15:27:13 -05:00
jbertram d24f2eb10f Ensure tests use proper directory 2015-05-19 11:31:11 -05:00
Martyn Taylor c30a8fe899 Add back extra test changes accidently removed during rebase 2015-05-19 16:00:34 +01:00
Clebert Suconic 071d8c6ce2 next iteration on extra-tests 2015-05-12 11:14:12 -04:00
Martyn Taylor 77efc950af ACTIVEMQ6-100 Add support for HornetQ clients 2015-05-07 14:59:46 -04:00
jbertram 96a0fe8f53 Use target directory for test data 2015-05-06 15:37:46 -05:00
jbertram 8cea209a8b Set Arjuna properties 2015-05-06 15:37:46 -05:00
jbertram 4735d38d7b Update surefire plugin versions 2015-05-06 15:05:49 -05:00
Clebert Suconic ea3370b38c Moving artemis-tools to artemis-cli and improving the tooling
Artemis tools is now part of the cli
Bootstrap was renamed to CLI
2015-05-03 12:42:19 -04:00
Clebert Suconic 70a6e43075 Fixing byteman tests after the rename 2015-04-28 10:39:05 -05:00
Justin Bertram 8f52a622d0 ACTIVEMQ6-1 Artemis rename
Based on the Apache ActiveMQ community vote this project is being
renamed "Artemis."
2015-04-27 17:48:02 -04:00