File tree Expand file tree Collapse file tree 3 files changed +18
-2
lines changed
driver-async/src/main/com/mongodb/async/client
driver-core/src/main/com/mongodb
driver-sync/src/main/com/mongodb/client/internal Expand file tree Collapse file tree 3 files changed +18
-2
lines changed Original file line number Diff line number Diff line change 17
17
package com .mongodb .async .client ;
18
18
19
19
import com .mongodb .ClientSessionOptions ;
20
+ import com .mongodb .MongoClientException ;
20
21
import com .mongodb .MongoException ;
21
22
import com .mongodb .MongoInternalException ;
22
23
import com .mongodb .ReadConcern ;
23
24
import com .mongodb .TransactionOptions ;
25
+ import com .mongodb .WriteConcern ;
24
26
import com .mongodb .async .SingleResultCallback ;
25
27
import com .mongodb .internal .session .BaseClientSessionImpl ;
26
28
import com .mongodb .internal .session .ServerSessionPool ;
@@ -94,6 +96,13 @@ public void startTransaction(final TransactionOptions transactionOptions) {
94
96
}
95
97
getServerSession ().advanceTransactionNumber ();
96
98
this .transactionOptions = TransactionOptions .merge (transactionOptions , getOptions ().getDefaultTransactionOptions ());
99
+ WriteConcern writeConcern = this .transactionOptions .getWriteConcern ();
100
+ if (writeConcern == null ) {
101
+ throw new MongoInternalException ("Invariant violated. Transaction options write concern can not be null" );
102
+ }
103
+ if (!writeConcern .isAcknowledged ()) {
104
+ throw new MongoClientException ("Transactions do not support unacknowledged write concern" );
105
+ }
97
106
}
98
107
99
108
@ Override
Original file line number Diff line number Diff line change 19
19
import com .mongodb .annotations .Immutable ;
20
20
import com .mongodb .lang .Nullable ;
21
21
22
- import static com .mongodb .assertions .Assertions .isTrueArgument ;
23
22
import static com .mongodb .assertions .Assertions .notNull ;
24
23
25
24
/**
@@ -165,7 +164,6 @@ public Builder readConcern(@Nullable final ReadConcern readConcern) {
165
164
*/
166
165
public Builder writeConcern (@ Nullable final WriteConcern writeConcern ) {
167
166
this .writeConcern = writeConcern ;
168
- isTrueArgument ("acknowledged write concern" , writeConcern != null && writeConcern .isAcknowledged ());
169
167
return this ;
170
168
}
171
169
Original file line number Diff line number Diff line change 17
17
package com .mongodb .client .internal ;
18
18
19
19
import com .mongodb .ClientSessionOptions ;
20
+ import com .mongodb .MongoClientException ;
20
21
import com .mongodb .MongoException ;
21
22
import com .mongodb .MongoInternalException ;
22
23
import com .mongodb .ReadConcern ;
23
24
import com .mongodb .TransactionOptions ;
25
+ import com .mongodb .WriteConcern ;
24
26
import com .mongodb .client .ClientSession ;
25
27
import com .mongodb .internal .session .BaseClientSessionImpl ;
26
28
import com .mongodb .internal .session .ServerSessionPool ;
@@ -93,6 +95,13 @@ public void startTransaction(final TransactionOptions transactionOptions) {
93
95
}
94
96
getServerSession ().advanceTransactionNumber ();
95
97
this .transactionOptions = TransactionOptions .merge (transactionOptions , getOptions ().getDefaultTransactionOptions ());
98
+ WriteConcern writeConcern = this .transactionOptions .getWriteConcern ();
99
+ if (writeConcern == null ) {
100
+ throw new MongoInternalException ("Invariant violated. Transaction options write concern can not be null" );
101
+ }
102
+ if (!writeConcern .isAcknowledged ()) {
103
+ throw new MongoClientException ("Transactions do not support unacknowledged write concern" );
104
+ }
96
105
}
97
106
98
107
@ Override
You can’t perform that action at this time.
0 commit comments