Skip to content

Commit 2d0db20

Browse files
committed
Update context propagation in BatchCursorFlux
1 parent 57dbf6a commit 2d0db20

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/BatchCursorFlux.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818

1919
import org.reactivestreams.Publisher;
2020
import org.reactivestreams.Subscriber;
21-
import reactor.core.CoreSubscriber;
2221
import reactor.core.publisher.Flux;
2322
import reactor.core.publisher.FluxSink;
2423
import reactor.core.publisher.Mono;
25-
import reactor.util.context.Context;
2624

2725
import java.util.Objects;
2826
import java.util.concurrent.atomic.AtomicBoolean;
@@ -48,9 +46,9 @@ public void subscribe(final Subscriber<? super T> subscriber) {
4846
if (calculateDemand(demand) > 0 && inProgress.compareAndSet(false, true)) {
4947
if (batchCursor == null) {
5048
int batchSize = calculateBatchSize(sink.requestedFromDownstream());
51-
Context initialContext = subscriber instanceof CoreSubscriber<?>
52-
? ((CoreSubscriber<?>) subscriber).currentContext() : null;
53-
batchCursorPublisher.batchCursor(batchSize).subscribe(bc -> {
49+
batchCursorPublisher.batchCursor(batchSize)
50+
.contextWrite(sink.contextView())
51+
.subscribe(bc -> {
5452
batchCursor = bc;
5553
inProgress.set(false);
5654

@@ -60,7 +58,7 @@ public void subscribe(final Subscriber<? super T> subscriber) {
6058
} else {
6159
recurseCursor();
6260
}
63-
}, sink::error, null, initialContext);
61+
}, sink::error);
6462
} else {
6563
inProgress.set(false);
6664
recurseCursor();
@@ -86,6 +84,7 @@ private void recurseCursor(){
8684
} else {
8785
batchCursor.setBatchSize(calculateBatchSize(sink.requestedFromDownstream()));
8886
Mono.from(batchCursor.next(() -> sink.isCancelled()))
87+
.contextWrite(sink.contextView())
8988
.doOnCancel(this::closeCursor)
9089
.subscribe(results -> {
9190
if (!results.isEmpty()) {

0 commit comments

Comments
 (0)