You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2017/03/10 03:20:14 UTC
[1/6] activemq-artemis git commit: ARTEMIS-1029 Fixing Paging issues
Repository: activemq-artemis
Updated Branches:
refs/heads/master ed1d4c094 -> c1c0354d9
ARTEMIS-1029 Fixing Paging issues
- Browser out of order
- PageStore not being cleared
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/b73828a0
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/b73828a0
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/b73828a0
Branch: refs/heads/master
Commit: b73828a0f4be333a0b9a6552db3778f4224f0089
Parents: 761f422
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Mar 9 21:44:12 2017 -0500
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Mar 9 22:12:58 2017 -0500
----------------------------------------------------------------------
.../artemis/core/server/impl/ActiveMQServerImpl.java | 1 +
.../activemq/artemis/core/server/impl/QueueImpl.java | 12 ++++++++++--
.../tests/integration/client/TemporaryQueueTest.java | 3 ++-
3 files changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b73828a0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
index 2b5ecaf..c31a323 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
@@ -2420,6 +2420,7 @@ public class ActiveMQServerImpl implements ActiveMQServer {
long txID = storageManager.generateID();
storageManager.deleteAddressBinding(txID, addressInfo.getId());
storageManager.commitBindings(txID);
+ pagingManager.deletePageStore(address);
}
@Override
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b73828a0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
index 44c5ba4..e04cf47 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
@@ -49,6 +49,7 @@ import org.apache.activemq.artemis.api.core.management.CoreNotificationType;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.core.filter.Filter;
import org.apache.activemq.artemis.core.io.IOCallback;
+import org.apache.activemq.artemis.core.paging.cursor.PagePosition;
import org.apache.activemq.artemis.core.paging.cursor.PageSubscription;
import org.apache.activemq.artemis.core.paging.cursor.PagedReference;
import org.apache.activemq.artemis.core.persistence.QueueStatus;
@@ -2968,6 +2969,7 @@ public class QueueImpl implements Queue {
Iterator lastIterator = null;
MessageReference cachedNext = null;
+ HashSet<PagePosition> previouslyBrowsed = new HashSet();
private QueueBrowserIterator() {
messagesIterator = new SynchronizedIterator(messageReferences.iterator());
@@ -3003,15 +3005,21 @@ public class QueueImpl implements Queue {
while (true) {
if (messagesIterator != null && messagesIterator.hasNext()) {
MessageReference msg = messagesIterator.next();
+ if (msg.isPaged()) {
+ previouslyBrowsed.add(((PagedReference)msg).getPosition());
+ }
return msg;
} else {
break;
}
}
if (getPagingIterator() != null) {
- if (getPagingIterator().hasNext()) {
+ while (getPagingIterator().hasNext()) {
lastIterator = getPagingIterator();
- MessageReference ref = getPagingIterator().next();
+ PagedReference ref = getPagingIterator().next();
+ if (previouslyBrowsed.contains(ref.getPosition())) {
+ continue;
+ }
return ref;
}
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b73828a0/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/TemporaryQueueTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/TemporaryQueueTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/TemporaryQueueTest.java
index 5be1638..86b194e 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/TemporaryQueueTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/TemporaryQueueTest.java
@@ -135,12 +135,13 @@ public class TemporaryQueueTest extends SingleServerTestBase {
assertTrue(Arrays.asList(storeNames).contains(address));
consumer.close();
+
session.deleteQueue(queue);
+ session.close();
storeNames = server.getPagingManager().getStoreNames();
assertFalse(Arrays.asList(storeNames).contains(address));
- session.close();
}
@Test
[5/6] activemq-artemis git commit: ARTEMIS-1029 speeding up
JmsNettyNioStressTest
Posted by jb...@apache.org.
ARTEMIS-1029 speeding up JmsNettyNioStressTest
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/6a323eb8
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/6a323eb8
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/6a323eb8
Branch: refs/heads/master
Commit: 6a323eb832c48c9e958368851e7d3330ed3257d3
Parents: b73828a
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Mar 9 21:53:14 2017 -0500
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Mar 9 22:12:59 2017 -0500
----------------------------------------------------------------------
.../integration/client/JmsNettyNioStressTest.java | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/6a323eb8/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java
index ac1163d..081dc79 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/JmsNettyNioStressTest.java
@@ -41,6 +41,7 @@ import org.apache.activemq.artemis.api.core.RoutingType;
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
import org.apache.activemq.artemis.jms.client.ActiveMQDestination;
import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
+import org.apache.activemq.artemis.tests.util.Wait;
import org.junit.Assert;
import org.junit.Test;
@@ -111,9 +112,9 @@ public class JmsNettyNioStressTest extends ActiveMQTestBase {
final int numberOfMessages = 100;
// these must all be the same
- final int numProducers = 30;
- final int numConsumerProducers = 30;
- final int numConsumers = 30;
+ final int numProducers = 5;
+ final int numConsumerProducers = 5;
+ final int numConsumers = 5;
// each produce, consume+produce and consume increments this counter
final AtomicInteger totalCount = new AtomicInteger(0);
@@ -261,15 +262,8 @@ public class JmsNettyNioStressTest extends ActiveMQTestBase {
}.start();
}
- // check that the overall transaction count reaches the expected number,
- // which would indicate that the system didn't stall
- int timeoutCounter = 0;
- int maxSecondsToWait = 60;
- while (timeoutCounter < maxSecondsToWait && totalCount.get() < totalExpectedCount) {
- timeoutCounter++;
- Thread.sleep(1000);
- System.out.println("Not done yet.. " + (maxSecondsToWait - timeoutCounter) + "; " + totalCount.get());
- }
+ Wait.waitFor(() -> totalExpectedCount == totalCount.get(), 60000, 100);
+
System.out.println("Done.." + totalCount.get() + ", expected " + totalExpectedCount);
Assert.assertEquals("Possible deadlock", totalExpectedCount, totalCount.get());
System.out.println("After assert");
[3/6] activemq-artemis git commit: ARTEMIS-1029 Fixing Scaledown tests
Posted by jb...@apache.org.
ARTEMIS-1029 Fixing Scaledown tests
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/761f4227
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/761f4227
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/761f4227
Branch: refs/heads/master
Commit: 761f42277d33aeaf6505ccf00feaaa11fcfd3d0f
Parents: 5534d00
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Mar 9 21:42:54 2017 -0500
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Mar 9 22:12:58 2017 -0500
----------------------------------------------------------------------
.../artemis/core/server/cluster/ClusterController.java | 12 +++++++++---
.../artemis/core/server/cluster/ClusterManager.java | 4 +---
2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/761f4227/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java
index b47dca9..98b550e 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java
@@ -109,9 +109,15 @@ public class ClusterController implements ActiveMQComponent {
//latch so we know once we are connected
replicationClusterConnectedLatch = new CountDownLatch(1);
//and add the quorum manager as a topology listener
- defaultLocator.addClusterTopologyListener(quorumManager);
- //start the quorum manager
- quorumManager.start();
+ if (defaultLocator != null) {
+ defaultLocator.addClusterTopologyListener(quorumManager);
+ }
+
+ if (quorumManager != null) {
+ //start the quorum manager
+ quorumManager.start();
+ }
+
started = true;
//connect all the locators in a separate thread
for (ServerLocatorInternal serverLocatorInternal : locators.values()) {
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/761f4227/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterManager.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterManager.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterManager.java
index 7d0faba..d2219c2 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterManager.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterManager.java
@@ -247,9 +247,7 @@ public final class ClusterManager implements ActiveMQComponent {
/*
* only start if we are actually in a cluster
* */
- if (clusterConnections.size() > 0) {
- clusterController.start();
- }
+ clusterController.start();
}
@Override
[2/6] activemq-artemis git commit: ARTEMIS-1009 Fixing
ActiveMQServerControlTest
Posted by jb...@apache.org.
ARTEMIS-1009 Fixing ActiveMQServerControlTest
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/38305d27
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/38305d27
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/38305d27
Branch: refs/heads/master
Commit: 38305d275131ca12770edb9c1938d6c34ce03e80
Parents: ed1d4c0
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Mar 9 19:14:59 2017 -0500
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Mar 9 22:12:58 2017 -0500
----------------------------------------------------------------------
.../integration/management/ActiveMQServerControlTest.java | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/38305d27/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
index eb83031..7d84e1f 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
@@ -267,7 +267,6 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
ActiveMQServerControl serverControl = createManagementControl();
checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name, RoutingType.ANYCAST));
- serverControl.createAddress(address.toString(), "ANYCAST");
serverControl.createQueue(address.toString(), RoutingType.ANYCAST.toString(), name.toString(), null, durable, maxConsumers, purgeOnNoConsumers, autoCreateAddress);
checkResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name, RoutingType.ANYCAST));
@@ -404,11 +403,10 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
// management operations
Assert.assertFalse(ActiveMQServerControlTest.contains(address.toString(), serverControl.getAddressNames()));
- serverControl.createAddress(address.toString(), "ANYCAST");
- serverControl.createQueue(address.toString(), "ANYCAST", name.toString(), null, true, -1, false, false);
+ serverControl.createQueue(address.toString(), "ANYCAST", name.toString(), null, true, -1, false, true);
Assert.assertTrue(ActiveMQServerControlTest.contains(address.toString(), serverControl.getAddressNames()));
- serverControl.destroyQueue(name.toString());
+ serverControl.destroyQueue(name.toString(), true, true);
Assert.assertFalse(ActiveMQServerControlTest.contains(address.toString(), serverControl.getAddressNames()));
}
@@ -1427,7 +1425,7 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
SimpleString address = new SimpleString("testQueue");
HashMap<String, Object> params = new HashMap<>();
params.put(TransportConstants.SERVER_ID_PROP_NAME, "2");
- Configuration config = createDefaultInVMConfig(2).clearAcceptorConfigurations().addAcceptorConfiguration(new TransportConfiguration(InVMAcceptorFactory.class.getName(), params));
+ Configuration config = createDefaultInVMConfig(2).clearAcceptorConfigurations().addAcceptorConfiguration(new TransportConfiguration(InVMAcceptorFactory.class.getName(), params)).setSecurityEnabled(false);
ActiveMQServer server2 = addServer(ActiveMQServers.newActiveMQServer(config, null, true));
this.conf.clearConnectorConfigurations().addConnectorConfiguration("server2-connector", new TransportConfiguration(INVM_CONNECTOR_FACTORY, params));
[4/6] activemq-artemis git commit: ARTEMIS-1029 Fixing PagingOrderTest
Posted by jb...@apache.org.
ARTEMIS-1029 Fixing PagingOrderTest
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/5534d00f
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/5534d00f
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/5534d00f
Branch: refs/heads/master
Commit: 5534d00fab5f33d7bfac4e0ac09b215d5ac8810f
Parents: 38305d2
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Mar 9 21:41:59 2017 -0500
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Mar 9 22:12:58 2017 -0500
----------------------------------------------------------------------
.../artemis/tests/integration/paging/PagingOrderTest.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/5534d00f/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java
index a0fe205..bffcd91 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/PagingOrderTest.java
@@ -186,9 +186,9 @@ public class PagingOrderTest extends ActiveMQTestBase {
ClientSession session = sf.createSession(false, false, false);
server.addAddressInfo(new AddressInfo(ADDRESS, RoutingType.ANYCAST));
- Queue q1 = server.createQueue(ADDRESS, RoutingType.ANYCAST, ADDRESS, null, true, false);
+ Queue q1 = server.createQueue(ADDRESS, RoutingType.MULTICAST, ADDRESS, null, true, false);
- Queue q2 = server.createQueue(ADDRESS, RoutingType.ANYCAST, new SimpleString("inactive"), null, true, false);
+ Queue q2 = server.createQueue(ADDRESS, RoutingType.MULTICAST, new SimpleString("inactive"), null, true, false);
ClientProducer producer = session.createProducer(PagingTest.ADDRESS);
@@ -316,9 +316,9 @@ public class PagingOrderTest extends ActiveMQTestBase {
ClientSession session = sf.createSession(false, false, false);
server.addAddressInfo(new AddressInfo(ADDRESS, RoutingType.ANYCAST));
- Queue q1 = server.createQueue(ADDRESS, RoutingType.ANYCAST, ADDRESS, null, true, false);
+ Queue q1 = server.createQueue(ADDRESS, RoutingType.MULTICAST, ADDRESS, null, true, false);
- Queue q2 = server.createQueue(ADDRESS, RoutingType.ANYCAST, new SimpleString("inactive"), null, true, false);
+ Queue q2 = server.createQueue(ADDRESS, RoutingType.MULTICAST, new SimpleString("inactive"), null, true, false);
ClientProducer producer = session.createProducer(PagingTest.ADDRESS);
[6/6] activemq-artemis git commit: This closes #1082
Posted by jb...@apache.org.
This closes #1082
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/c1c0354d
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/c1c0354d
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/c1c0354d
Branch: refs/heads/master
Commit: c1c0354d9204021efe9050092593df7966878041
Parents: ed1d4c0 6a323eb
Author: Justin Bertram <jb...@apache.org>
Authored: Thu Mar 9 21:19:38 2017 -0600
Committer: Justin Bertram <jb...@apache.org>
Committed: Thu Mar 9 21:19:38 2017 -0600
----------------------------------------------------------------------
.../core/server/cluster/ClusterController.java | 12 +++++++++---
.../core/server/cluster/ClusterManager.java | 4 +---
.../core/server/impl/ActiveMQServerImpl.java | 1 +
.../artemis/core/server/impl/QueueImpl.java | 12 ++++++++++--
.../integration/client/JmsNettyNioStressTest.java | 18 ++++++------------
.../integration/client/TemporaryQueueTest.java | 3 ++-
.../management/ActiveMQServerControlTest.java | 8 +++-----
.../tests/integration/paging/PagingOrderTest.java | 8 ++++----
8 files changed, 36 insertions(+), 30 deletions(-)
----------------------------------------------------------------------