-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Flaky test - FluxBlackboxProcessorVerification #3742
Comments
May I handle this issue? |
Be my guest @injae-kim :) |
Thank you! I'll investigate the cause of failed test and create fix PR soon :) |
@Override @Test
public void required_spec312_cancelMustMakeThePublisherToEventuallyStopSignaling() throws Throwable {
// the publisher is able to signal more elements than the subscriber will be requesting in total
final int publisherElements = 20;
final int demand1 = 10;
final int demand2 = 5;
final int totalDemand = demand1 + demand2;
activePublisherTest(publisherElements, false, new PublisherTestRun<T>() {
@Override @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
public void run(Publisher<T> pub) throws Throwable {
final ManualSubscriber<T> sub = env.newManualSubscriber(pub);
sub.request(demand1);
sub.request(demand2);
sub.nextElement();
sub.cancel();
...
// if the Publisher tries to emit more elements than was requested (and/or ignores cancellation) this will throw
assertTrue(onNextsSignalled <= totalDemand,
String.format("Publisher signalled [%d] elements, which is more than the signalled demand: %d",
onNextsSignalled, totalDemand)); I checked that Lines 45 to 48 in e6d6aeb
(I'm not sure) but on our So I think publisher can produce total So I suggest to fix our |
It looks like it's not the test configuration that is broken but some operator along doesn't honour the demand. If the TCK's Subscriber demands 15 items, any configuration that we come up with should not deliver more items. So it seems that at least one operator along the way is broken with that regard. Instead of changing the pipeline to avoid this problematic outcome, perhaps it's best identifying which operator delivers more than was demanded. Some race occurs which doesn't properly synchronise delivery with demand. |
I agree! good point. I think I found some clue on above investigation, so I'll check it more and share the root cause to you soon. Thank you for your guide! |
The following test failed during CI in 3.4.x
Your Environment
java -version
): Java_Temurin-Hotspot_jdk/8.0.402-6/x64uname -a
): Ubuntu 20.04.6The text was updated successfully, but these errors were encountered: