-
Notifications
You must be signed in to change notification settings - Fork 925
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARTEMIS-5002 AMQP producer not unblock if the disk space is freed #5160
base: main
Are you sure you want to change the base?
Conversation
8f09f76
to
fec502a
Compare
fec502a
to
15135f0
Compare
@clebertsuconic can you take a look of this PR see if the fix makes sense? Thanks! |
...tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AMQPBlockingTest.java
Outdated
Show resolved
Hide resolved
...tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AMQPBlockingTest.java
Outdated
Show resolved
Hide resolved
...tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AMQPBlockingTest.java
Outdated
Show resolved
Hide resolved
...tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AMQPBlockingTest.java
Outdated
Show resolved
Hide resolved
...tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AMQPBlockingTest.java
Outdated
Show resolved
Hide resolved
...tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AMQPBlockingTest.java
Outdated
Show resolved
Hide resolved
...tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AMQPBlockingTest.java
Outdated
Show resolved
Hide resolved
15135f0
to
4dd3911
Compare
@clebertsuconic @gemmellr I've updated the PR. Thanks! |
...st/java/org/apache/activemq/artemis/tests/integration/amqp/GlobalDiskFullFailPolicyTest.java
Outdated
Show resolved
Hide resolved
...st/java/org/apache/activemq/artemis/tests/integration/amqp/GlobalDiskFullFailPolicyTest.java
Outdated
Show resolved
Hide resolved
...st/java/org/apache/activemq/artemis/tests/integration/amqp/GlobalDiskFullFailPolicyTest.java
Outdated
Show resolved
Hide resolved
...st/java/org/apache/activemq/artemis/tests/integration/amqp/GlobalDiskFullFailPolicyTest.java
Outdated
Show resolved
Hide resolved
...st/java/org/apache/activemq/artemis/tests/integration/amqp/GlobalDiskFullFailPolicyTest.java
Outdated
Show resolved
Hide resolved
@@ -1096,6 +1096,7 @@ public boolean checkMemory(boolean runOnFailure, Runnable runWhenAvailableParame | |||
if (isFull()) { | |||
if (runOnFailure && runWhenAvailable != null) { | |||
addToBlockList(runWhenAvailable, blockedCallback); | |||
pagingManager.addBlockedStore(this); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The use of this same call lower down the class is gated by `if (usingGlobalMaxSize || pagingManager.isDiskFull()) {``, does this need to be?
It is also surrounded by various other double-checks around racing being not-full again, it seems hard to reconcile that path needing it but this one not.
I cant quite wrap my head around this so think @clebertsuconic might need to chip in here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
me neither. Need @clebertsuconic's expertise. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR updated. The code path is really processing many conditions, not sure what's impact of that.
aa007e1
to
414b1b9
Compare
...sts/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/GlobalDiskFullTest.java
Outdated
Show resolved
Hide resolved
...sts/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/GlobalDiskFullTest.java
Outdated
Show resolved
Hide resolved
414b1b9
to
0862587
Compare
94fa2a3
to
ac182a7
Compare
ac182a7
to
1428fc6
Compare
(test adapted from the one on the Jira)