966 Commits

Author SHA1 Message Date
Timothy Bish
e872f1524a ARTEMIS-1160 AMQP test client should configure netty WS maxFrameSize
Need to configure the WS Handshaker in the test client's netty transport
with the same value given to the proton connection via setMaxFrameSize
so that incoming frames larger than the default 65535 over WS don't
trigger netty to fail the connection.
2017-05-12 14:48:23 -04:00
Clebert Suconic
ac97d6f057 NO-JIRA: trivial test fixes on AMQP 2017-05-12 14:36:01 -04:00
Clebert Suconic
dc26ac96b4 ARTEMIS-1156: moving our collections on its own package 2017-05-12 10:06:05 -04:00
Michael André Pearce
c1d55aa84f ARTEMIS-1156: FIX: Long Autoboxing occurring on Hot Path
Building on ARTEMIS-905 JCtools ConcurrentMap replacement  first proposed but currently parked by @franz1981, replace the collections with primitive key concurrent collections to avoid auto boxing.

The goal of this is to reduce/remove autoboxing on the hot path.
We are just adding jctools to the broker (should not be in client dependencies)
Like wise targeting specific use case with specific implementation rather than a blanket replace all.

Using collections from Bookkeeper, reduces outside tlab allocation, on resizing compared to JCTools, which occurs frequently on testing.
2017-05-12 10:05:51 -04:00
Timothy Bish
4ad78c7fd0 ARTEMIS-1159 Fixes and Improvements to the AMQP test client.
Port fixes to the AMQP test client recently made in the 5.x version.
Fixes some thread safety issues in the Transport.  Ensures more 
timely shutdown of the Connection executor.  Uses a dynamic Proxy 
to generate Read-Only Proton wrappers instead of the hand crafted 
versions.  Adds additional logging for test data
2017-05-11 16:46:22 -04:00
Clebert Suconic
02dcfe0468 ARTEMIS-1158 exposing Netty.channelID properly 2017-05-10 21:50:19 -04:00
Clebert Suconic
ce61d20f5a [maven-release-plugin] prepare for next development iteration 2017-05-08 15:20:12 -04:00
Clebert Suconic
64e8f015ee [maven-release-plugin] prepare release 2.1.0 2017-05-08 15:20:01 -04:00
Clebert Suconic
890e381371 NO-JIRA: bumping 2.2.0-SNAPSHOT release on extra-tests 2017-05-08 12:06:18 -04:00
Christopher L. Shannon (cshannon)
9fdba8292f ARTEMIS-898 - Adding support for XML configuration of Broker Plugins
Broker plugins can now be added to the broker through XML config.
2017-05-08 11:59:41 -04:00
Francesco Nigro
21c9ed85cf ARTEMIS-1151 Adapting TimedBuffer and NIO Buffer Pooling
- NIO/ASYNCIO new TimedBuffer with adapting batch window heuristic
- NIO/ASYNCIO improved TimedBuffer write monitoring with
  lightweight concurrent performance counters
- NIO/ASYNCIO journal/paging operations benefit from less buffer copy
- NIO/ASYNCIO any buffer copy is always performed with raw batch copy
  using SIMD instrinsics (System::arrayCopy) or memcpy under the hood
- NIO improved clear buffers using SIMD instrinsics (Arrays::fill) and/or memset
- NIO journal operation perform by default TLABs allocation pooling (off heap)
  retaining only the last max sized buffer
- NIO improved file copy operations using zero-copy FileChannel::transfertTo
- NIO improved zeroing using pooled single OS page buffer to clean the file
  + pwrite (on Linux)
- NIO deterministic release of unpooled direct buffers to avoid OOM errors
  due to slow GC
- Exposed OS PAGE SIZE value using Env class
2017-05-08 11:55:28 -04:00
Clebert Suconic
36c9659279 [maven-release-plugin] prepare for next development iteration 2017-05-05 22:11:09 -04:00
Clebert Suconic
7b5082639f [maven-release-plugin] prepare release 2.1.0 2017-05-05 22:10:58 -04:00
Timothy Bish
0711b35e3c NO-JIRA Fix a test that is not actually testing anything right now
The test is improperly configured and the try / catch logic swallows any
errors making it seem as if the test is passing.
2017-05-05 16:05:04 -04:00
Clebert Suconic
4f22a56066 NO-JIRA Trivial test fix 2017-05-05 14:45:21 -04:00
Clebert Suconic
800976ec76 NO-JIRA: Trivial test fix on StompPluginTest 2017-05-04 15:58:15 -04:00
Bennet Schulz
f82623a20c ARTEMIS-904 Remove cyclic dependencies from artemis-cli
move classes and methods to their correct location to avoid cyclic dependencies between packages and classes.

ARTEMIS-904 Remove cyclic dependencies from artemis-cli

move classes and methods to their correct location to avoid cyclic dependencies between packages and classes.

ARTEMIS-904 Remove cyclic dependencies from artemis-cli

move classes and methods to their correct location to avoid cyclic dependencies between packages and classes.
2017-05-04 10:25:06 -05:00
Bernd Gutjahr
7aa50546b3 ARTEMIS-1112: Fixed occasionally failing test
There was a typo in this test that could cause it to fail.
2017-05-04 11:18:56 +02:00
Bernd Gutjahr
6017e305d9 ARTEMIS-1112: Added wait-for-activation option to shared-store-master config
Added a wait-for-activation option to shared-store master HA policies.
This option is enabled by default to ensure unchanged server startup behavior.

If this option is enabled, ActiveMQServer.start() with a shared-store master server will not return
before the server has been activated.
If this options is disabled, start() will return after a background activation thread has been started.
The caller can use waitForActivation() to wait until server is activated, or just check the current activation status.
2017-05-03 16:40:15 -04:00
Timothy Bish
cf3e2bf7f0 ARTEMIS-267 Add test for handling of AMQP header and durability
Adds a test that validates that messages that are either lacking a
header or are set to be non-durable are not persisted and are not
recovered on broker restart.
2017-05-03 16:33:12 -04:00
Clebert Suconic
0146109d6a ARTEMIS-1140: Trivial test fix 2017-05-03 16:17:32 -04:00
Christopher L. Shannon (cshannon)
1e1ede84c0 ARTEMIS-898 - Adding Plugin Support
Adding a new ActievMQServerPlugin interface to support adding custom
behavior to the broker at certain events such as connection or session
creation.

https://issues.apache.org/jira/browse/ARTEMIS-898
2017-05-03 11:21:32 -04:00
Clebert Suconic
303d97c76d NO-JIRA: Trivial test fixes 2017-05-03 10:32:22 -04:00
Clebert Suconic
174b238b28 NO-JIRA: Trivial test fix 2017-05-03 09:33:12 -04:00
Timothy Bish
ba7b8aff59 ARTEMIS-1139 Add a few tests using Qpid JMS of AMQP over WS
Adds a couple tests using Qpid JMS to validate that AMQP over
WS is working.
2017-05-02 21:18:07 -04:00
Clebert Suconic
757161f3d2 NO-JIRA: Trivial test fix 2017-05-02 21:16:10 -04:00
Justin Bertram
578c0fabb2 ARTEMIS-1137 handle empty routing type on restart 2017-05-02 10:06:42 -05:00
Zoran Regvart
6db0c50272
Removes deprecated use and raw types
This cleans up the Netty implementation by replacing deprecated usage
and adds type parameters to raw types used.
2017-05-02 11:00:56 +02:00
Clebert Suconic
6df8c3a28d Revert " ARTEMIS-1112: don't block live activation if another live server is running"
This reverts commit 2f175b8d4ef00fe3b9a6388cc4beab7fa22461c1.
2017-05-01 09:50:45 -04:00
Timothy Bish
90efd86133 ARTEMIS-547 tests for auth on attach 2017-04-28 13:10:10 -05:00
Timothy Bish
19a640db3a ARTEMIS-1132 return security errors instead of generic failed
When creating some AMQP resources (senders, receivers, etc) the broker
can return an error of 'failed' instead of the security error that is
expected in these cases.  In the case of a receiver being created and
a security error happening the broker fails to send back a response
causing the client to hang waiting for an attach response.
2017-04-28 13:08:10 -05:00
Justin Bertram
444d7e392e ARTEMIS-1102 fix checkstyle 2017-04-28 10:42:55 -05:00
Timothy Bish
bad6acb58f ARTEMIS-1123 Major AMQP Test Suite refactoring
Refactor the AMQP test suite grouping tests into more logical unit
tests and adding additional coverage in many areas.  Adds some negative
validation tests to cover features that were only partially tested.

Brings in tests from ActiveMQ 5.x that were not yet ported to Artemis
to increase coverage amd test scenarios previously seen to have issues
in the 5.x broker.

Improve tests that were failing sporadically due to not waiting for
broker stats to be updated after async calls were made.
2017-04-28 10:16:21 +01:00
Justin Bertram
7e0fedf52e ARTEMIS-590 connector option to use default SSL context 2017-04-28 10:14:09 +01:00
Justin Bertram
004eda42a2 ARTEMIS-1102 cert-based auth impl for OpenWire 2017-04-28 10:11:25 +01:00
Justin Bertram
82b6a9678d ARTEMIS-1113 STOMP + management-address fix 2017-04-28 10:10:13 +01:00
Bernd Gutjahr
2f175b8d4e ARTEMIS-1112: don't block live activation if another live server is running
Instead of going directly into backup mode within the shared-store
live activation, we just change the HA-policy to slave and return
to the caller - ActiveMQServerImpl.internalStart().
The caller will then handle the backup activation as usual
in a separate thread, such that EmbeddedJMS.start() can return.

Also added a related integration test.
2017-04-26 15:23:24 -05:00
Martyn Taylor
1c84bd39c4 ARTEMIS-826 Fix MQTT protocol detection 2017-04-25 13:53:21 +01:00
Howard Gao
694a5092b6 ARTEMIS-1128 QueueControlImpl.sendMessage() fixes
sendMessage() may throw ActiveMQException that causes CNFE
at the management client. Also it should check if headers
in the message is null (to prevent NPE).
2017-04-24 13:52:51 -05:00
Clebert Suconic
7facd28a18 NO-JIRA: Trivial test fix 2017-04-23 22:12:23 -04:00
Clebert Suconic
23b3d2182c ARTEMIS-1093 Moving FQQN methods into CompositeAddress 2017-04-23 16:01:20 -04:00
Howard Gao
f344c1ebaf ARTEMIS-1093 Full qualified queue name support
Broker should support full qualified queue names (FQQN)
as well as bare queue names. This means when clients access
to a queue they have two equivalent ways to do so. One way
is by queue names and the other is by FQQN (i.e. address::qname)
names. Currently only receiving is supported.
2017-04-23 16:01:20 -04:00
Timothy Bish
9eed28e0aa ARTEMIS-1127 Match remote Sender and Receiver settle modes
On link attach we currently default out SenderSettleMode to MIXED which
while legal doesn't truly reflect what the client asked for. We instead
now update the link to reflect the mode requested by the client

Also add some tests to ensure that we always return the
ReceiverSettleMode as FIRST since we don't support SECOND.
2017-04-21 15:00:09 -04:00
Clebert Suconic
bfe2bdd7b2 ARTEMIS-1115 Traces and tests on JDBC Persistence 2017-04-19 00:50:58 -04:00
Martyn Taylor
7b68b0a49a ARTEMIS-1115 Call CriticalIOListener on JDBC Error 2017-04-19 00:50:58 -04:00
Timothy Bish
0260a304b4 ARTEMIS-1123 Clean up and add new AMQP tests
Adds some new AMQP protocol handling tests brought forward from
ActiveMQ 5.x as well as cleaning up some of th existing tests
code to make adding some other tests easier.
2017-04-19 00:50:13 -04:00
Clebert Suconic
04535ee762 NO-JIRA Fixing AddressControlTest 2017-04-18 19:09:01 -04:00
Clebert Suconic
c82ac631b8 NO-JIRA fixing NettySecurityClientTest 2017-04-18 15:14:21 -04:00
Clebert Suconic
1a39772489 ARTEMIS-1121 Improving expiry scanner
https://issues.apache.org/jira/browse/ARTEMIS-1121
2017-04-18 11:49:25 -04:00
Clebert Suconic
ddacda5062 ARTEMIS-1114 Missing records after compacting
This is fixing an issue introduced on 4b47461f03a607b9ef517beb2a1666ffae43a2a7 (ARTEMIS-822)
The Transactions were being looked up without the readLock and some of the controls for Read and Write lock
were broken after this.
2017-04-14 01:13:46 -04:00