Skip to content

Commit 77b30ed

Browse files
committed
assign server ID shortly before end
Reduces repeated assignment
1 parent 960723e commit 77b30ed

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/libmongoc/src/mongoc/mongoc-bulkwrite.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1281,8 +1281,6 @@ mongoc_bulkwrite_execute (mongoc_bulkwrite_t *self, const mongoc_bulkwriteopts_t
12811281
_bulkwriteexception_set_error_reply (ret.exc, &reply);
12821282
bson_destroy (&reply);
12831283
goto fail;
1284-
} else {
1285-
ret.res->serverid = ss->sd->id;
12861284
}
12871285
}
12881286

@@ -1513,7 +1511,6 @@ mongoc_bulkwrite_execute (mongoc_bulkwrite_t *self, const mongoc_bulkwriteopts_t
15131511

15141512
if (ss) {
15151513
parts.assembled.server_stream = ss;
1516-
ret.res->serverid = ss->sd->id;
15171514
} else {
15181515
_bulkwriteexception_set_error (ret.exc, &error);
15191516
goto batch_fail;
@@ -1530,7 +1527,6 @@ mongoc_bulkwrite_execute (mongoc_bulkwrite_t *self, const mongoc_bulkwriteopts_t
15301527
mongoc_server_stream_cleanup (ss);
15311528
ss = new_ss;
15321529
parts.assembled.server_stream = ss;
1533-
ret.res->serverid = new_ss->sd->id;
15341530
}
15351531

15361532
// Check for a command ('ok': 0) error.
@@ -1812,6 +1808,10 @@ mongoc_bulkwrite_execute (mongoc_bulkwrite_t *self, const mongoc_bulkwriteopts_t
18121808
mongoc_cmd_parts_cleanup (&parts);
18131809
}
18141810
bson_destroy (&cmd);
1811+
if (ret.res && ss) {
1812+
// Set the returned server ID to the most recently selected server.
1813+
ret.res->serverid = ss->sd->id;
1814+
}
18151815
mongoc_server_stream_cleanup (ss);
18161816
if (!ret.exc->has_any_error) {
18171817
mongoc_bulkwriteexception_destroy (ret.exc);

0 commit comments

Comments
 (0)