[GitHub] [activemq] jbonofre merged pull request #387: [AMQ-7249] Upgrade to Jetty 9.4.19.v20190610
jbonofre merged pull request #387: [AMQ-7249] Upgrade to Jetty 9.4.19.v20190610 URL: https://github.com/apache/activemq/pull/387 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] jbertram commented on issue #2802: ARTEMIS-2457 implement ring queue
jbertram commented on issue #2802: ARTEMIS-2457 implement ring queue URL: https://github.com/apache/activemq-artemis/pull/2802#issuecomment-524401193 @michaelandrepearce, I've moved the ring semantics into `QueueImpl`. @wy96f, I'm still looking at the issue you identified. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] michaelandrepearce edited a comment on issue #2793: ARTEMIS-2452 group-name ignored in shared store colocated setup
michaelandrepearce edited a comment on issue #2793: ARTEMIS-2452 group-name ignored in shared store colocated setup URL: https://github.com/apache/activemq-artemis/pull/2793#issuecomment-524365392 @clebertsuconic its not ready for merge anyhow. Waiting on @franz1981 atm This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] michaelandrepearce commented on issue #2793: ARTEMIS-2452 group-name ignored in shared store colocated setup
michaelandrepearce commented on issue #2793: ARTEMIS-2452 group-name ignored in shared store colocated setup URL: https://github.com/apache/activemq-artemis/pull/2793#issuecomment-524365392 @clebertsuconic its not ready for merge anhow This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] wy96f commented on a change in pull request #2802: ARTEMIS-2457 implement ring queue
wy96f commented on a change in pull request #2802: ARTEMIS-2457 implement ring queue URL: https://github.com/apache/activemq-artemis/pull/2802#discussion_r317112694 ## File path: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/RingQueue.java ## @@ -0,0 +1,166 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.server.impl; + +import java.util.concurrent.ScheduledExecutorService; + +import org.apache.activemq.artemis.api.core.RoutingType; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.filter.Filter; +import org.apache.activemq.artemis.core.paging.cursor.PageSubscription; +import org.apache.activemq.artemis.core.persistence.StorageManager; +import org.apache.activemq.artemis.core.postoffice.PostOffice; +import org.apache.activemq.artemis.core.server.ActiveMQServer; +import org.apache.activemq.artemis.core.server.ActiveMQServerLogger; +import org.apache.activemq.artemis.core.server.MessageReference; +import org.apache.activemq.artemis.core.server.QueueFactory; +import org.apache.activemq.artemis.core.settings.HierarchicalRepository; +import org.apache.activemq.artemis.core.settings.impl.AddressSettings; +import org.apache.activemq.artemis.utils.actors.ArtemisExecutor; +import org.jboss.logging.Logger; + +public class RingQueue extends QueueImpl { + + private static final Logger logger = Logger.getLogger(RingQueue.class); + private volatile long ringSize; + + public RingQueue(final long persistenceID, +final SimpleString address, +final SimpleString name, +final Filter filter, +final PageSubscription pageSubscription, +final SimpleString user, +final boolean durable, +final boolean temporary, +final boolean autoCreated, +final RoutingType routingType, +final Integer maxConsumers, +final Boolean exclusive, +final Boolean groupRebalance, +final Integer groupBuckets, +final SimpleString groupFirstKey, +final Integer consumersBeforeDispatch, +final Long delayBeforeDispatch, +final Boolean purgeOnNoConsumers, +final Long ringSize, +final Boolean nonDestructive, +final Boolean autoDelete, +final Long autoDeleteDelay, +final Long autoDeleteMessageCount, +final boolean configurationManaged, +final ScheduledExecutorService scheduledExecutor, +final PostOffice postOffice, +final StorageManager storageManager, +final HierarchicalRepository addressSettingsRepository, +final ArtemisExecutor executor, +final ActiveMQServer server, +final QueueFactory factory) { + super(persistenceID, address, name, filter, pageSubscription, user, durable, temporary, autoCreated, routingType, maxConsumers, exclusive, groupRebalance, groupBuckets, groupFirstKey, nonDestructive, consumersBeforeDispatch, delayBeforeDispatch, purgeOnNoConsumers, autoDelete, autoDeleteDelay, autoDeleteMessageCount, configurationManaged, scheduledExecutor, postOffice, storageManager, addressSettingsRepository, executor, server, factory); + this.ringSize = ringSize; + } + + @Override + public synchronized void addTail(final MessageReference ref, final boolean direct) { + enforceRing(); + + super.addTail(ref, direct); + } + + @Override + public synchronized void addHead(final MessageReference ref, boolean scheduling) { + enforceRing(ref, scheduling); + + if (!ref.isAlreadyAcked()) { + super.addHead(ref, scheduling); + } + } + + @Override + public boolean allowsReferenceCallback() { + return false; + } + + private void enforceRing() { + enforceRing(null, false); + } + + private void
[GitHub] [activemq-artemis] wy96f commented on a change in pull request #2802: ARTEMIS-2457 implement ring queue
wy96f commented on a change in pull request #2802: ARTEMIS-2457 implement ring queue URL: https://github.com/apache/activemq-artemis/pull/2802#discussion_r317120705 ## File path: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/RingQueue.java ## @@ -0,0 +1,166 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.server.impl; + +import java.util.concurrent.ScheduledExecutorService; + +import org.apache.activemq.artemis.api.core.RoutingType; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.filter.Filter; +import org.apache.activemq.artemis.core.paging.cursor.PageSubscription; +import org.apache.activemq.artemis.core.persistence.StorageManager; +import org.apache.activemq.artemis.core.postoffice.PostOffice; +import org.apache.activemq.artemis.core.server.ActiveMQServer; +import org.apache.activemq.artemis.core.server.ActiveMQServerLogger; +import org.apache.activemq.artemis.core.server.MessageReference; +import org.apache.activemq.artemis.core.server.QueueFactory; +import org.apache.activemq.artemis.core.settings.HierarchicalRepository; +import org.apache.activemq.artemis.core.settings.impl.AddressSettings; +import org.apache.activemq.artemis.utils.actors.ArtemisExecutor; +import org.jboss.logging.Logger; + +public class RingQueue extends QueueImpl { + + private static final Logger logger = Logger.getLogger(RingQueue.class); + private volatile long ringSize; + + public RingQueue(final long persistenceID, +final SimpleString address, +final SimpleString name, +final Filter filter, +final PageSubscription pageSubscription, +final SimpleString user, +final boolean durable, +final boolean temporary, +final boolean autoCreated, +final RoutingType routingType, +final Integer maxConsumers, +final Boolean exclusive, +final Boolean groupRebalance, +final Integer groupBuckets, +final SimpleString groupFirstKey, +final Integer consumersBeforeDispatch, +final Long delayBeforeDispatch, +final Boolean purgeOnNoConsumers, +final Long ringSize, +final Boolean nonDestructive, +final Boolean autoDelete, +final Long autoDeleteDelay, +final Long autoDeleteMessageCount, +final boolean configurationManaged, +final ScheduledExecutorService scheduledExecutor, +final PostOffice postOffice, +final StorageManager storageManager, +final HierarchicalRepository addressSettingsRepository, +final ArtemisExecutor executor, +final ActiveMQServer server, +final QueueFactory factory) { + super(persistenceID, address, name, filter, pageSubscription, user, durable, temporary, autoCreated, routingType, maxConsumers, exclusive, groupRebalance, groupBuckets, groupFirstKey, nonDestructive, consumersBeforeDispatch, delayBeforeDispatch, purgeOnNoConsumers, autoDelete, autoDeleteDelay, autoDeleteMessageCount, configurationManaged, scheduledExecutor, postOffice, storageManager, addressSettingsRepository, executor, server, factory); + this.ringSize = ringSize; + } + + @Override + public synchronized void addTail(final MessageReference ref, final boolean direct) { + enforceRing(); + + super.addTail(ref, direct); + } + + @Override + public synchronized void addHead(final MessageReference ref, boolean scheduling) { + enforceRing(ref, scheduling); + + if (!ref.isAlreadyAcked()) { + super.addHead(ref, scheduling); + } + } + + @Override + public boolean allowsReferenceCallback() { + return false; + } + + private void enforceRing() { + enforceRing(null, false); + } + + private void
[GitHub] [activemq-artemis] michaelandrepearce commented on issue #2802: ARTEMIS-2457 implement ring queue
michaelandrepearce commented on issue #2802: ARTEMIS-2457 implement ring queue URL: https://github.com/apache/activemq-artemis/pull/2802#issuecomment-524217658 Ill try make something this weekend to show what im meaning This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] michaelandrepearce edited a comment on issue #2802: ARTEMIS-2457 implement ring queue
michaelandrepearce edited a comment on issue #2802: ARTEMIS-2457 implement ring queue URL: https://github.com/apache/activemq-artemis/pull/2802#issuecomment-524213706 Is there added ability to update the size? I really would like this sorted before merge as it stands with it not being implemented inside the main queueimpl i beleive it makes it very hard to implement. Thus my original feedback / query to why have it as independent type, instead of implementing within queueimpl. Also doing it there makes it possible to deactivate also. As then one would simply update size to -1 The mors im testing this out and playing and seeing how to extend and maintain as such im a little -1 having brand new queue type. This really should just be a queue level setting. If the need or want to keep logic clean this can still be done by making new abstractions within queueimpl. E.g. like priority consumers or message group extensions. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] michaelandrepearce edited a comment on issue #2802: ARTEMIS-2457 implement ring queue
michaelandrepearce edited a comment on issue #2802: ARTEMIS-2457 implement ring queue URL: https://github.com/apache/activemq-artemis/pull/2802#issuecomment-524213706 Is there added ability to update the size? I really would like this sorted before merge as it stands with it not being implemented inside the main queueimpl i beleive it makes it very hard to implement. Thus my original feedback / query to why have it as independent type, instead of implementing within queueimpl. Also doing it there makes it possible to deactivate also. As then one would simply update size to -1 As such im a little -1 having brand new queue type. This really should just be a queue level setting. If the need or want to keep logic clean this can still be done by making new abstractions within queueimpl. E.g. like priority consumers or message group extensions. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] michaelandrepearce edited a comment on issue #2802: ARTEMIS-2457 implement ring queue
michaelandrepearce edited a comment on issue #2802: ARTEMIS-2457 implement ring queue URL: https://github.com/apache/activemq-artemis/pull/2802#issuecomment-524213706 Is there added ability to update the size? I really would like this sorted before merge as it stands with it not being implemented inside the main queueimpl i beleive it makes it very hard to implement. Thus my original feedback / query to why have it as independent type, instead of implementing within queueimpl. Also doing it there makes it possible to deactivate also. As then one would simply update size to -1 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] michaelandrepearce commented on issue #2802: ARTEMIS-2457 implement ring queue
michaelandrepearce commented on issue #2802: ARTEMIS-2457 implement ring queue URL: https://github.com/apache/activemq-artemis/pull/2802#issuecomment-524213706 Is there added ability to update the size? I really would like this sorted before merge as it stands with it not being implemented inside the main queueimpl i beleive it makes it very hard to implement. Thus my original feedback / query to why have it as independent type, instead of implementing within queueimpl. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services