Skip to content

wip #1003 Add fuseable/conditional xxxDoOnEach#1157

Merged
simonbasle merged 3 commits intomasterfrom
1003-doOnEachFuseable
Apr 12, 2018
Merged

wip #1003 Add fuseable/conditional xxxDoOnEach#1157
simonbasle merged 3 commits intomasterfrom
1003-doOnEachFuseable

Conversation

@simonbasle
Copy link
Copy Markdown
Contributor

still needs to make all test non-fuseable and add fuseable + conditional
tests.

@simonbasle simonbasle self-assigned this Apr 5, 2018
@simonbasle simonbasle added wip type/enhancement A general enhancement labels Apr 5, 2018
@simonbasle simonbasle added this to the 3.2.0.RELEASE milestone Apr 5, 2018
@codecov-io
Copy link
Copy Markdown

codecov-io commented Apr 5, 2018

Codecov Report

Merging #1157 into master will increase coverage by 0.07%.
The diff coverage is 89.55%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master    #1157      +/-   ##
============================================
+ Coverage     83.63%   83.71%   +0.07%     
- Complexity     3667     3681      +14     
============================================
  Files           340      342       +2     
  Lines         27959    28022      +63     
  Branches       5220     5234      +14     
============================================
+ Hits          23384    23459      +75     
+ Misses         3006     3002       -4     
+ Partials       1569     1561       -8
Impacted Files Coverage Δ Complexity Δ
...ore/src/main/java/reactor/core/publisher/Flux.java 99.6% <100%> (ø) 504 <2> (+1) ⬆️
...main/java/reactor/core/publisher/MonoDoOnEach.java 100% <100%> (ø) 2 <1> (ø) ⬇️
...a/reactor/core/publisher/MonoDoOnEachFuseable.java 100% <100%> (ø) 2 <2> (?)
...ore/src/main/java/reactor/core/publisher/Mono.java 94.93% <100%> (+0.02%) 245 <0> (+1) ⬆️
...a/reactor/core/publisher/FluxDoOnEachFuseable.java 100% <100%> (ø) 2 <2> (?)
...main/java/reactor/core/publisher/FluxDoOnEach.java 82.6% <86.53%> (-0.73%) 6 <5> (+4)
...a/reactor/core/publisher/FluxSubscribeOnValue.java 74.75% <0%> (ø) 4% <0%> (ø) ⬇️
... and 11 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1e3ebff...653bf8d. Read the comment docs.

@@ -0,0 +1,62 @@
/*
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double copyright issue

if (Operators.validate(this.s, s)) {
this.s = s;
if (s instanceof Fuseable.QueueSubscription) {
@SuppressWarnings("unchecked") final Fuseable.QueueSubscription<T> qs = (Fuseable.QueueSubscription<T>) s;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can use Operators.as(Subscription) : QueueSubscription


@Override
public void clear() {
if (qs != null) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unecessary check

static class DoOnEachFuseableSubscriber<T> extends DoOnEachSubscriber<T>
implements Fuseable, Fuseable.QueueSubscription<T> {

private boolean syncFused;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

scope visibility

Copy link
Copy Markdown
Contributor

@smaldini smaldini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor changes, I like the factorization even if slightly more overhead.

done = true; //TODO verify if done should be set
}
catch (Throwable e) {
done = false;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done should be true in any case I think.

still needs to make all test non-fuseable and add fuseable + conditional
tests.
still needs coverage of tryOnNext though :(
@simonbasle simonbasle force-pushed the 1003-doOnEachFuseable branch from a5a3e28 to 653bf8d Compare April 9, 2018 17:56
@simonbasle simonbasle removed the wip label Apr 12, 2018
@simonbasle simonbasle merged commit 3c8008e into master Apr 12, 2018
@simonbasle simonbasle deleted the 1003-doOnEachFuseable branch April 12, 2018 13:04
@simonbasle simonbasle modified the milestones: 3.2.0.RELEASE, 3.2.0.M2 May 17, 2018
chemicL added a commit that referenced this pull request Jan 21, 2026
- Remove DataFlowIssue suppressions related to NullAway issue #1157
- Update NullAway from 0.12.15 to 0.13.0
- Update ErrorProne from 2.42.0 to 2.46.0 (version used by NullAway 0.13.0)
- Fix AtomicReferenceFieldUpdater nullability annotations in DelegateServiceScheduler
- Remove unnecessary null check in LambdaMonoSubscriber (NullAway now handles this correctly)

NullAway 0.13.0 resolves the issue with AtomicReferenceFieldUpdater and @nullable
type parameters, allowing removal of 137 DataFlowIssue suppressions across 70 files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type/enhancement A general enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants