You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by clebertsuconic <gi...@git.apache.org> on 2017/07/19 23:21:46 UTC
[GitHub] activemq-artemis pull request #1410: ARTEMIS-1300 Deadlock when Core direct ...
GitHub user clebertsuconic opened a pull request:
https://github.com/apache/activemq-artemis/pull/1410
ARTEMIS-1300 Deadlock when Core direct deliverying and AMQP receive
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/clebertsuconic/activemq-artemis ARTEMIS-1300
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/1410.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1410
----
commit f9f9dc0810af865f45a2b85f64603430aeb109fc
Author: Clebert Suconic <cl...@apache.org>
Date: 2017-07-19T23:20:46Z
ARTEMIS-1300 Deadlock when Core direct deliverying and AMQP receive
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis pull request #1410: ARTEMIS-1300 Deadlock when Core direct ...
Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1410#discussion_r128418363
--- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/Consumer.java ---
@@ -19,9 +19,18 @@
import java.util.List;
import org.apache.activemq.artemis.core.filter.Filter;
+import org.apache.activemq.artemis.spi.core.protocol.SessionCallback;
public interface Consumer {
+ /** i
--- End diff --
thanks!
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis issue #1410: ARTEMIS-1300 Deadlock when Core direct deliver...
Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:
https://github.com/apache/activemq-artemis/pull/1410
done ^^ amended...
This PR is very safe to merge. no test regressions on the whole testsuite.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis issue #1410: ARTEMIS-1300 Deadlock when Core direct deliver...
Posted by michaelandrepearce <gi...@git.apache.org>.
Github user michaelandrepearce commented on the issue:
https://github.com/apache/activemq-artemis/pull/1410
Just update, We haven't run full tests, but managed to test this with original scenario test that this was causing lock up on, for this case it seems like it no longer locks up.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis pull request #1410: ARTEMIS-1300 Deadlock when Core direct ...
Posted by michaelandrepearce <gi...@git.apache.org>.
Github user michaelandrepearce commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1410#discussion_r128417008
--- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/Consumer.java ---
@@ -19,9 +19,18 @@
import java.util.List;
import org.apache.activemq.artemis.core.filter.Filter;
+import org.apache.activemq.artemis.spi.core.protocol.SessionCallback;
public interface Consumer {
+ /** i
--- End diff --
typo i assume
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis pull request #1410: ARTEMIS-1300 Deadlock when Core direct ...
Posted by michaelandrepearce <gi...@git.apache.org>.
Github user michaelandrepearce commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1410#discussion_r128416905
--- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java ---
@@ -828,6 +834,11 @@ public void removeConsumer(final Consumer consumer) {
}
}
+ if (consumerList.isEmpty()) {
+ // reset when all consumers are removed
+ supportsDirectDeliver = true;
--- End diff --
should maybe iterate the consumers list and set to true if all consumers support direct? e.g. was 3 consumers, 2 core and 1 amqp, then the amqp one removes, leaving 2 core would you want it to go back to direct.
e.g. (pseudo)
```
boolean supportsDirectDeliver = true;
for (consumer : consumerList) {
if (!consumer.supportsDirectDelivery()){
supportsDirectDeliver = false;
}
}
this.supportsDirectDeliver = supportsDirectDeliver;
```
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis pull request #1410: ARTEMIS-1300 Deadlock when Core direct ...
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/activemq-artemis/pull/1410
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---