Fix race condition in WriteResultPublisher
Closes gh-24989
This commit is contained in:
parent
e17736dd0a
commit
c35b3e5c82
|
|
@ -175,6 +175,9 @@ class WriteResultPublisher implements Publisher<Void> {
|
||||||
@Override
|
@Override
|
||||||
void publishComplete(WriteResultPublisher publisher) {
|
void publishComplete(WriteResultPublisher publisher) {
|
||||||
publisher.completedBeforeSubscribed = true;
|
publisher.completedBeforeSubscribed = true;
|
||||||
|
if(State.SUBSCRIBED.equals(publisher.state.get())) {
|
||||||
|
publisher.state.get().publishComplete(publisher);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
void publishError(WriteResultPublisher publisher, Throwable ex) {
|
void publishError(WriteResultPublisher publisher, Throwable ex) {
|
||||||
|
|
@ -190,6 +193,9 @@ class WriteResultPublisher implements Publisher<Void> {
|
||||||
@Override
|
@Override
|
||||||
void publishComplete(WriteResultPublisher publisher) {
|
void publishComplete(WriteResultPublisher publisher) {
|
||||||
publisher.completedBeforeSubscribed = true;
|
publisher.completedBeforeSubscribed = true;
|
||||||
|
if(State.SUBSCRIBED.equals(publisher.state.get())) {
|
||||||
|
publisher.state.get().publishComplete(publisher);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
void publishError(WriteResultPublisher publisher, Throwable ex) {
|
void publishError(WriteResultPublisher publisher, Throwable ex) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue