Skip to content

Move legacy write operations into driver-legacy #1030

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Nov 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ import com.mongodb.internal.connection.ServerHelper
import com.mongodb.internal.connection.SplittablePayload
import com.mongodb.internal.operation.AsyncReadOperation
import com.mongodb.internal.operation.AsyncWriteOperation
import com.mongodb.internal.operation.InsertOperation
import com.mongodb.internal.operation.MixedBulkWriteOperation
import com.mongodb.internal.operation.ReadOperation
import com.mongodb.internal.operation.WriteOperation
import com.mongodb.internal.session.SessionContext
Expand Down Expand Up @@ -108,12 +108,13 @@ class OperationFunctionalSpecification extends Specification {
}

void acknowledgeWrite(final SingleConnectionBinding binding) {
new InsertOperation(getNamespace(), true, ACKNOWLEDGED, false, [new InsertRequest(new BsonDocument())]).execute(binding)
new MixedBulkWriteOperation(getNamespace(), [new InsertRequest(new BsonDocument())], true, ACKNOWLEDGED, false).execute(binding)
binding.release()
}

void acknowledgeWrite(final AsyncSingleConnectionBinding binding) {
executeAsync(new InsertOperation(getNamespace(), true, ACKNOWLEDGED, false, [new InsertRequest(new BsonDocument())]), binding)
executeAsync(new MixedBulkWriteOperation(getNamespace(), [new InsertRequest(new BsonDocument())], true, ACKNOWLEDGED, false),
binding)
binding.release()
}

Expand All @@ -129,6 +130,10 @@ class OperationFunctionalSpecification extends Specification {
new CollectionHelper<Worker>(new WorkerCodec(), getNamespace())
}

def execute(operation) {
execute(operation, false)
}

def execute(operation, boolean async) {
def executor = async ? ClusterFixture.&executeAsync : ClusterFixture.&executeSync
executor(operation)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
import com.mongodb.internal.operation.DropCollectionOperation;
import com.mongodb.internal.operation.DropDatabaseOperation;
import com.mongodb.internal.operation.FindOperation;
import com.mongodb.internal.operation.InsertOperation;
import com.mongodb.internal.operation.ListIndexesOperation;
import com.mongodb.internal.operation.MixedBulkWriteOperation;
import org.bson.BsonArray;
Expand Down Expand Up @@ -191,7 +190,7 @@ public void insertDocuments(final List<BsonDocument> documents, final WriteConce
for (BsonDocument document : documents) {
insertRequests.add(new InsertRequest(document));
}
new InsertOperation(namespace, true, writeConcern, false, insertRequests).execute(binding);
new MixedBulkWriteOperation(namespace, insertRequests, true, writeConcern, false).execute(binding);
}

public void insertDocuments(final Document... documents) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@

package com.mongodb.internal.operation

import com.mongodb.MongoBulkWriteException
import com.mongodb.MongoWriteConcernException
import com.mongodb.OperationFunctionalSpecification
import com.mongodb.WriteConcern
import com.mongodb.WriteConcernException
import com.mongodb.client.model.ValidationAction
import com.mongodb.client.model.ValidationLevel
import org.bson.BsonDocument
Expand Down Expand Up @@ -241,8 +241,8 @@ class CreateCollectionOperationSpecification extends OperationFunctionalSpecific
getCollectionHelper().insertDocuments(BsonDocument.parse('{ level: 8}'))

then:
WriteConcernException writeConcernException = thrown()
writeConcernException.getErrorCode() == 121
MongoBulkWriteException writeConcernException = thrown()
writeConcernException.getWriteErrors().get(0).getCode() == 121

where:
async << [true, false]
Expand Down
Loading