Commit Graph

5783 Commits

Author SHA1 Message Date
Clebert Suconic b7acf3a3f2 This closes #2244 2018-08-13 11:58:10 -04:00
Matthias Berndt 754671bddb NO-JIRA fix typo 2018-08-13 11:58:10 -04:00
Timothy Bish 005745e7a3 This closes #2245 2018-08-13 10:52:14 -04:00
Robbie Gemmell e1ba608d64 ARTEMIS-2027: handle aborted AMQP deliveries 2018-08-13 14:01:01 +01:00
Michael Andre Pearce 6f0988dc55 This closes #2243 2018-08-13 08:37:56 +01:00
Michael André Pearce 24a28da09f ARTEMIS-2022 - Enhancements
Fix checkstyle
Avoid duplicated logic
Ability to filter and group
Instantiate SimpleString property key once
Get property value via getObjectProprty to ensure all special mapped properties such as in AMQPMessage would return
Avoid a custom string to represent null, instead rely on Java's representation "null" by using Objects.toString to get the string value of the property value used to group by.
2018-08-13 08:37:56 +01:00
Arthur Fritz Santiago 349477ed31 [ARTEMIS-2022] Ajust checkstyle 2018-08-13 08:37:56 +01:00
Arthur Fritz Santiago e15917129f [ARTEMIS-2022] Create count messages 'group by' this property filter 2018-08-13 08:37:56 +01:00
Clebert Suconic 2ec8927ae7 This closes #2240 2018-08-12 16:34:01 -04:00
Martyn Taylor d6d73c7f23 ARTEMIS-2025 Ensure correct calculation of message body size 2018-08-12 16:33:49 -04:00
andytaylor 3ac7b9aef6 This closes #2235 Make JDBC OpenFile Thread Safe 2018-08-10 13:35:23 +01:00
Martyn Taylor af90bc5f43 Make OpenFile Thread Safe 2018-08-10 13:35:23 +01:00
Clebert Suconic f346347b01 This closes #2231 2018-08-09 19:42:28 -04:00
Michael André Pearce 19e1bbeb49 ARTEMIS-2019 - Seperate ServerPlugin Interfaces
Seperate plugin interface by area, all extending a base interface. 
Update code to check and call only plugins implementing specific interfaces.
Existing interface extends all the new interfaces for back compatibility or those who want simplicity and don't care about perf.
2018-08-09 19:42:28 -04:00
Clebert Suconic bf073f19ac This closes #2213 2018-08-09 19:40:31 -04:00
Justin Bertram 53f8bc3daf ARTEMIS-2010 actively detect unauthenticated LDAP Bind requests 2018-08-09 19:40:30 -04:00
Clebert Suconic b2663b84b6 This closes #2219 2018-08-09 19:38:37 -04:00
Howard Gao e15f3901e4 ARTEMIS-2013 Can't create durable subscriber to a composite topic
An OpenWire client can use a compound destination name of the form
"a,b,c..." and consume from, or subscribe to, multiple destinations.
Such a compound destination only works for topics when the subscriber
is non-durable. Attempting to create a durable subscription on a
compound address will end up with an error.

The cause is when creating durable subs to multiple topics/addresses
the broker uses the same name to create internal queues, which
causes duplicate name conflict.
2018-08-09 19:38:36 -04:00
Clebert Suconic d503bbb1ba This closes #2228 2018-08-09 19:36:23 -04:00
Justin Bertram 2d7c5322a7 ARTEMIS-2017 Eliminate LRUCache from SelectorParser
The LRUCache is not thread-safe and it's usage in SelectorParser could
cause growth beyond its configured max size. Instead of modifying the
LRUCache to be thread-safe or synchronizing access to it in
SelectorParser it should just be removed since it's not on a hot path.
2018-08-09 19:36:22 -04:00
Clebert Suconic 01800233c3 This closes #2233 2018-08-09 19:35:27 -04:00
Justin Bertram 1171f01b30 ARTEMIS-2020 Use prefixes when useJNDI=false in RA 2018-08-09 19:35:27 -04:00
Clebert Suconic 6bdfcd04f5 ARTEMIS-2021 setting flag before shutdown 2018-08-09 19:16:23 -04:00
Clebert Suconic 9c905a2b58 This closes #2234 2018-08-09 19:10:24 -04:00
Clebert Suconic 26208b76c7 ARTEMIS-2021 NetworkHealthCheck should only restart servers after net outages 2018-08-09 19:08:02 -04:00
Martyn Taylor d2063131f4 This closes #2232 2018-08-09 17:03:00 +01:00
Michael André Pearce 5d8079845e ARTEMIS-1482 Enhance test to ensure len check is done before byte[] init
Set the int to Integer.MAX_VALUE thus if the len check is not done before byte[] initialization the test would blow with an OOM.
2018-08-09 15:54:54 +01:00
Michael Andre Pearce c8fc7c64f3 This closes #2229 2018-08-09 13:37:56 +01:00
Christopher L. Shannon (cshannon) e915545278 ARTEMIS-2018 - Add bridge events to plugin API
Add callbacks to handle bridge events including beforeDeliverBridge,
afterDeliverBridge and afterAcknowledgeBridge
2018-08-09 13:37:56 +01:00
Clebert Suconic 24c13fa4e0 This closes #2221 2018-08-08 14:27:42 -04:00
Robbie Gemmell b0c65ba2dd ARTEMIS-1978: update to proton-j 0.27.3 to resolve sequencing issues
Adds test exposing broker behaviour from issues stemming from PROTON-1892 and PROTON-1901
2018-08-08 14:27:42 -04:00
Clebert Suconic 6534b6c0bb This closes #2223 2018-08-08 14:25:28 -04:00
Francesco Nigro 64cf5357e1 ARTEMIS-2015 PriorityLinkedListImpl::isEmpty is not thread-safe
PriorityLinkedListImpl::size access is changed to be safely
observable by a thread different from the one allowed to write
the list.
2018-08-08 14:25:28 -04:00
Clebert Suconic 70f5512622 This closes #2227 2018-08-08 14:23:54 -04:00
Martyn Taylor 985d1e1fcb ARTEMIS-1482 Add back check for SimpleString 2018-08-08 14:23:53 -04:00
Michael Andre Pearce 3d2eadfb8a This closes #2203 2018-08-08 17:37:58 +01:00
Francesco Nigro 8dd0e9472f ARTEMIS-1999 Broker uses 100% core's CPU time if msg grouping is used
The deliver loop won't give up trying to deliver messages when
back-pressure kicks in (credits and/or TCP) if msg grouping is used and
there are many consumers registered: this change will allow the loop
to exit by instructing the logic that the group consumer is the only
consumer to check.
2018-08-08 17:37:58 +01:00
Clebert Suconic 99469b1cff This closes #2224 2018-08-08 11:35:14 -04:00
Jiri Danek 8274703153 NO-JIRA improve assertions in QueueControlTest
This commit replaces assert{True,Equals} with more specific assertion methods.
2018-08-08 11:35:14 -04:00
Jiri Danek 05816fefab NO-JIRA fix unused parameter `durable` in AmqpClientTestSupport#sendMessages 2018-08-08 11:35:14 -04:00
Clebert Suconic 7480452bdd This closes #2226 2018-08-08 11:33:31 -04:00
Jiri Danek c1a191c547 ARTEMIS-2016 fix flaky test QueueControlTest#testRemoveAllWithPagingMode
Parameters going into Wait.waitFor were originally wrong, because
`durationMillis: 3, sleepMillis: 100` means you would test the condition
only once. This commit is changing the durationMillis from 3ms to 3s,
swapping the two numbers (duration 100ms, sleep 3ms) would also be reasonable, I think.

Next, Wait.assertEquals is here being used, instead of Assert.assertTrue.

I saw the test fail only once, and never was able to reproduce it again,
but I think this commit does improve the test and so it is worthwhile.

    java.lang.AssertionError
		at org.apache.activemq.artemis.tests.integration.management.QueueControlTest.assertMetrics(QueueControlTest.java:2651)
	    at org.apache.activemq.artemis.tests.integration.management.QueueControlTest.assertMessageMetrics(QueueControlTest.java:2615)
    	at org.apache.activemq.artemis.tests.integration.management.QueueControlTest.testRemoveAllWithPagingMode(QueueControlTest.java:1554)
2018-08-08 11:33:31 -04:00
Clebert Suconic 9109fc1604 This closes #2225 2018-08-08 11:31:24 -04:00
Jiri Danek fed0426ff3 NO-JIRA fix flaky tests QueueControlTest#testResetMessagesExpired
The occasional assertion error is prevented by using Wait.assertEquals
where Assert.assertEquals was used previously.

    java.lang.AssertionError:
    Expected :1
    Actual   :0
    [...]
    	at org.junit.Assert.assertEquals(Assert.java:542)
	    at org.apache.activemq.artemis.tests.integration.management.QueueControlTest.testResetMessagesExpired(QueueControlTest.java:2370)
2018-08-08 11:31:23 -04:00
Jiri Danek c6521e0700 NO-JIRA fix flaky tests QueueControlTest#testChangeMessagePriority{,WithInvalidValue}
The occasional assertion error is prevented by using Wait.assertEquals
where Assert.assertEquals was used previously.
2018-08-08 11:31:23 -04:00
Jiri Danek 23a30b6158 NO-JIRA fix flaky test QueueControlTest#testResetMessagesAdded
The occasional assertion error is prevented by using Wait.assertEquals
where Assert.assertEquals was used previously.

I did not observe the timing issue on all asserts (only on the first
two), but there is no harm in replacing them all.

    java.lang.AssertionError:
    Expected :2
    Actual   :1
2018-08-08 11:31:23 -04:00
Jiri Danek fbb622ae69 NO-JIRA fix flaky test QueueControlTest#testListMessagesWithNullFilter
The below error is prevented by using Wait.assertEquals
where Assert.assertEquals was used previously.

    java.lang.AssertionError:
    Expected :2
    Actual   :1
        [...]
    	at org.junit.Assert.assertEquals(Assert.java:542)
    	at org.apache.activemq.artemis.tests.integration.management.QueueControlTest.testListMessagesWithNullFilter(QueueControlTest.java:804)
2018-08-08 11:31:23 -04:00
Jiri Danek 5c2f79ed45 NO-JIRA fix flaky test QueueControlTest#testListMessagesWithEmptyFilter
The below error is prevented by using Wait.assertEquals
where Assert.assertEquals was used previously.

    java.lang.AssertionError:
    Expected :2
    Actual   :1
        [...]
        at org.apache.activemq.artemis.tests.integration.management.QueueControlTest.testListMessagesWithEmptyFilter(QueueControlTest.java:827)
2018-08-08 11:31:23 -04:00
Justin Bertram 1b15f95554 ARTEMIS-2014 fix directory name in test 2018-08-08 09:55:40 -05:00
Clebert Suconic 44d4fea65c This closes #2222 2018-08-07 12:26:13 -04:00