Commit Graph

435 Commits

Author SHA1 Message Date
Clebert Suconic 2968e0a7da ARTEMIS-1102 Fixing Openwire test after security change 2017-05-03 10:06:45 -04:00
Timothy Bish 970782d36a ARTEMIS-1134 Close connection if error caught during event processing
If an error escapes into the event processing layer we close the
connection with an error condition to avoid the client becoming stuck on
waiting for a response from the broker and the broker side being in an
unknown state.
2017-05-02 13:01:29 -04:00
Aditya Sharad 33c94635bf ARTEMIS-1135: Fix integer multiplication overflows
Multiplication operations where the operands have type `int` but the
result is cast to `long` may lead to overflow.
Fixes two instances of this problem, by ensuring the operands are cast
to `long` during multiplication.
This resolves the "Result of integer multiplication cast to long"
alerts at https://lgtm.com/projects/g/apache/activemq-artemis/alerts.
2017-05-02 13:00:46 -04:00
Justin Bertram 849c4b7def ARTEMIS-547 authorize AMQP sender on attach 2017-04-28 14:30:03 -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 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
Martyn Taylor 1c84bd39c4 ARTEMIS-826 Fix MQTT protocol detection 2017-04-25 13:53:21 +01: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 1a39772489 ARTEMIS-1121 Improving expiry scanner
https://issues.apache.org/jira/browse/ARTEMIS-1121
2017-04-18 11:49:25 -04:00
Clebert Suconic 31d78eddf1 ARTEMIS-1118 IO callbacks on AMQP 2017-04-18 11:49:25 -04:00
Clebert Suconic 807e4e5d9c ARTEMIS-1119 flow controlling connection
https://issues.apache.org/jira/browse/ARTEMIS-1119
2017-04-18 11:34:09 -04:00
Clebert Suconic bfc07a7e01 ARTEMIS-1111 Fixing deadlock
There is a deadlock on flow controlling
the lock is using the wrong method and that is causing some issues under perf load.
2017-04-17 21:31:17 -04:00
Clebert Suconic f609884186 Revert "ARTEMIS-1093 Full qualified queue name support"
Testsuite won't complete with this commit.
Reerting it for further evaluation.

This reverts commit a9a3c47808.
2017-04-12 16:53:40 -04:00
Martyn Taylor 930df5b663 ARTEMIS-1111 Avoid deadlock on AMQP delivery during close 2017-04-12 12:35:17 -04:00
Howard Gao a9a3c47808 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-12 09:59:28 +01:00
Clebert Suconic cc22a0286b ARTEMIS-1101 Fixing JMSFilter on AMQP 2017-04-11 16:07:33 -04:00
Timothy Bish d2731fa0e1 ARTEMIS-1110 Cleanup Transaction Coordinator buffer handling
Resuse a single small buffer for all txn commands (declare / dischare) to
avoid creating lots of small arrays and ByteBuffer wrappers for txn operations.
2017-04-11 11:33:58 -04:00
Timothy Bish 3b45261f19 ARTEMIS-1101 Read the correct values for timestamp and user-id
Fix the getUserID and getTimestamp methods in AMQPMessage to read and
return the correct values.  Adds some tests to cover these cases and
cleans up some others.
2017-04-07 16:12:58 -04:00
Clebert Suconic 01362bbb1d ARTEMIS-1100 Store Header on AMQP message 2017-04-07 09:11:11 -05:00
Timothy Bish 45c59f05dc ARTEMIS-1097 Respect the message priority value in the AMQP message
Ensure that the header value for priority is read and returned in a form
that is scaled such that it won't cause an IndexOutOfBoundsException
from the QueueImpl priority array.  Adds some additional testing for
message priority support.
2017-04-06 16:18:53 -04:00
Justin Bertram 073a280629 ARTEMIS-1092 Validated user + AMQP fix
When populate-validated-user = true AMQP messages can cause exceptions.
This feature isn't particularly applicable to AMQP so this commit
eliminates the exception and leaves the AMQP messages untouched
even if populate-validated-user = true. In other words,
populate-validated-user + AMQP is not supported.
2017-04-04 14:46:22 -05:00
Andy Taylor 5529bf150a ARTEMIS-1090 - Message not expired if absolute expiry time is 0 and ttl is set
https://issues.apache.org/jira/browse/ARTEMIS-1090
2017-04-03 14:28:02 +01:00
Clebert Suconic d779afe874 NO-JIRA: Fixing test hunging on OpenWire 2017-03-30 21:56:46 -04:00
Timothy Bish 62cb9b22de ARTEMIS-1086 Proper conversion of SimpleString to String
When adding boolean value keyed by SimpleString the key needs to be
converted to a String type to be valid AMQP.
2017-03-30 21:19:43 -04:00
Clebert Suconic 86779195fa NO-JIRA: Removing duplciate code 2017-03-30 11:15:09 -04:00
Clebert Suconic 9bef242b74 ARTEMIS-1056 Adjusting Acceptor values
I have been doing tests with quiver at large message sizes
the tests would work really slowly without these fixes
2017-03-30 09:54:26 +01:00
Martyn Taylor 955af96fe9 ARTEMIS-1082 Catch Create Queue race in OpenWire 2017-03-29 13:49:01 +01:00
Clebert Suconic 1f4473e8d7 ARTEMIS-1081 Implementing AMQP UndeliverableHere 2017-03-28 20:32:28 -05:00
Clebert Suconic 746220e11e ARTEMIS-1080 Implementing AMQP::reject 2017-03-28 20:32:28 -05:00
Clebert Suconic 13a272b37b ARTEMIS-1056 fixing tests
When I added flow control, some tests that were using reflection started to fail.
Also as a precaution I'm using <= on the flow control low credit check
2017-03-28 20:32:28 -05:00
Clebert Suconic 7f91d29564 ARTEMIS-1056 Improving Proton usage 2017-03-28 14:48:25 -04:00
Clebert Suconic b395504e15 ARTEMIS-1077 Fixing Pool usage on InVM and RemotingConnection 2017-03-28 09:19:57 -05:00
Clebert Suconic dce59d5436 ARTEMIS-1056 Better event processing 2017-03-27 22:01:36 -05:00
Clebert Suconic dc25ff0e42 ARTEMIS-1073 Adding configuration for Producer's credits on AMQP 2017-03-27 16:27:24 -04:00
Justin Bertram c792b8e274 ARTEMIS-1068 JMS + AMQP routing 2017-03-27 15:14:43 -04:00
Clebert Suconic af0be518e1 ARTEMIS-1069 Artemis unsafe usage on Eventls polling 2017-03-27 11:41:20 -04:00
Timothy Bish 40b9ac0a20 ARTEMIS-1069 Fix some thread unsafe usages of proton
Unsafe modification of proton resources outside the connection lock
could lead to corruption in the transport work list and other internal
state data.
2017-03-24 17:46:00 -04:00
Justin Bertram 427039ef38 ARTEMIS-1068 routingType + AMQP fixes 2017-03-24 15:15:10 -05:00
Martyn Taylor e33b7af5ac ARTEMIS-1061 Ack MQTT PubRel management messages 2017-03-22 23:26:32 -04:00
Clebert Suconic 0bfb39bfb5 ARTEMIS-1056 Performance improvements on AMQP 2017-03-22 09:55:02 -05:00
Francesco Nigro ed3de61587 ARTEMIS-1055 Broker generates warning when a client tries to connect it 2017-03-22 11:39:11 +00:00
Clebert Suconic 64b4553284 ARTEMIS-1052 Fixing MessageJournalTest::testStoreAMQP 2017-03-20 21:50:57 -04:00
Clebert Suconic 65ac7f700b ARTEMIS-1052 Proper Expiry over AMQP 2017-03-20 18:33:31 -04:00
Timothy Bish 29796151c3 ARTEMIS-59 Accept transacted message using AMQP TransactionState
When a message is sent to the broker with a TransactionState indicating
that the message should be included in a transaction the disposition from
the broker indicating acceptance of the message should be done using a
TransactionState value that contained the TX ID and the Accepted
disposition.
2017-03-20 12:42:56 -04:00
Martyn Taylor 7cf06cd285 ARTEMIS-1050 Register AMQP failure/close listeners 2017-03-19 14:15:30 +00:00
Clebert Suconic 4b50d6c431 ARTEMIS-1048 Fixing Unsigned types and Selectors 2017-03-17 18:05:21 -04:00
Clebert Suconic 1ef4dcf7d9 ARTEMIS-1046 Fixing TX eventually stalling with AMQP
I have also reviewed the model in which we used transactions
2017-03-17 16:50:56 -04:00
Clebert Suconic 291a4719b6 ARTEMIS-1045 Performance improvements on AMQP 2017-03-17 16:11:14 -04:00