Skip to content

Commit be79eb4

Browse files
sunset Astrolabe
1 parent 5f2c539 commit be79eb4

File tree

6 files changed

+2
-524
lines changed

6 files changed

+2
-524
lines changed

driver-sync/src/test/functional/com/mongodb/client/unified/Entities.java

Lines changed: 2 additions & 205 deletions
Original file line numberDiff line numberDiff line change
@@ -37,41 +37,19 @@
3737
import com.mongodb.client.vault.ClientEncryption;
3838
import com.mongodb.connection.ClusterConnectionMode;
3939
import com.mongodb.connection.ClusterDescription;
40-
import com.mongodb.connection.ConnectionId;
41-
import com.mongodb.connection.ServerId;
42-
import com.mongodb.event.CommandEvent;
43-
import com.mongodb.event.CommandFailedEvent;
44-
import com.mongodb.event.CommandListener;
45-
import com.mongodb.event.CommandStartedEvent;
46-
import com.mongodb.event.CommandSucceededEvent;
47-
import com.mongodb.event.ConnectionCheckOutFailedEvent;
48-
import com.mongodb.event.ConnectionCheckOutStartedEvent;
49-
import com.mongodb.event.ConnectionCheckedInEvent;
50-
import com.mongodb.event.ConnectionCheckedOutEvent;
51-
import com.mongodb.event.ConnectionClosedEvent;
52-
import com.mongodb.event.ConnectionCreatedEvent;
53-
import com.mongodb.event.ConnectionPoolClearedEvent;
54-
import com.mongodb.event.ConnectionPoolClosedEvent;
55-
import com.mongodb.event.ConnectionPoolCreatedEvent;
56-
import com.mongodb.event.ConnectionPoolListener;
57-
import com.mongodb.event.ConnectionPoolReadyEvent;
58-
import com.mongodb.event.ConnectionReadyEvent;
5940
import com.mongodb.event.TestServerMonitorListener;
6041
import com.mongodb.internal.connection.ServerMonitoringModeUtil;
6142
import com.mongodb.internal.connection.TestClusterListener;
6243
import com.mongodb.internal.connection.TestCommandListener;
6344
import com.mongodb.internal.connection.TestConnectionPoolListener;
6445
import com.mongodb.internal.connection.TestServerListener;
6546
import com.mongodb.internal.logging.LogMessage;
66-
import com.mongodb.lang.NonNull;
6747
import com.mongodb.lang.Nullable;
6848
import com.mongodb.logging.TestLoggingInterceptor;
6949
import org.bson.BsonArray;
7050
import org.bson.BsonBoolean;
7151
import org.bson.BsonDocument;
72-
import org.bson.BsonDouble;
7352
import org.bson.BsonInt32;
74-
import org.bson.BsonInt64;
7553
import org.bson.BsonString;
7654
import org.bson.BsonValue;
7755

@@ -97,22 +75,20 @@
9775
import static com.mongodb.assertions.Assertions.notNull;
9876
import static com.mongodb.client.Fixture.getMongoClientSettingsBuilder;
9977
import static com.mongodb.client.Fixture.getMultiMongosMongoClientSettingsBuilder;
100-
import static com.mongodb.client.unified.EventMatcher.getReasonString;
10178
import static com.mongodb.client.unified.UnifiedClientEncryptionHelper.createKmsProvidersMap;
10279
import static com.mongodb.client.unified.UnifiedCrudHelper.asReadConcern;
10380
import static com.mongodb.client.unified.UnifiedCrudHelper.asReadPreference;
10481
import static com.mongodb.client.unified.UnifiedCrudHelper.asWriteConcern;
10582
import static com.mongodb.internal.connection.AbstractConnectionPoolTest.waitForPoolAsyncWorkManagerStart;
10683
import static java.lang.System.getenv;
10784
import static java.util.Arrays.asList;
108-
import static java.util.Collections.synchronizedList;
10985
import static org.junit.Assume.assumeTrue;
11086

11187
public final class Entities {
11288
private static final Set<String> SUPPORTED_CLIENT_ENTITY_OPTIONS = new HashSet<>(
11389
asList(
114-
"id", "uriOptions", "serverApi", "useMultipleMongoses", "storeEventsAsEntities",
115-
"observeEvents", "observeLogMessages", "observeSensitiveCommands", "ignoreCommandMonitoringEvents"));
90+
"id", "uriOptions", "serverApi", "useMultipleMongoses", "observeEvents",
91+
"observeLogMessages", "observeSensitiveCommands", "ignoreCommandMonitoringEvents"));
11692
private final Set<String> entityNames = new HashSet<>();
11793
private final Map<String, ExecutorService> threads = new HashMap<>();
11894
private final Map<String, ArrayList<Future<?>>> tasks = new HashMap<>();
@@ -433,35 +409,6 @@ private void initClient(final BsonDocument entity, final String id,
433409
putEntity(id + "-connection-pool-listener", testConnectionPoolListener, clientConnectionPoolListeners);
434410
}
435411

436-
if (entity.containsKey("storeEventsAsEntities")) {
437-
BsonArray storeEventsAsEntitiesArray = entity.getArray("storeEventsAsEntities");
438-
for (BsonValue eventValue : storeEventsAsEntitiesArray) {
439-
BsonDocument eventDocument = eventValue.asDocument();
440-
String key = eventDocument.getString("id").getValue();
441-
BsonArray eventList = eventDocument.getArray("events");
442-
List<BsonDocument> eventDocumentList = synchronizedList(new ArrayList<>());
443-
putEntity(key, eventDocumentList, eventsMap);
444-
445-
if (eventList.stream()
446-
.map(value -> value.asString().getValue())
447-
.anyMatch(value -> value.startsWith("Command"))) {
448-
clientSettingsBuilder.addCommandListener(new EntityCommandListener(eventList.stream()
449-
.map(value -> value.asString().getValue())
450-
.collect(Collectors.toSet()),
451-
eventDocumentList));
452-
}
453-
if (eventList.stream()
454-
.map(value -> value.asString().getValue())
455-
.anyMatch(value -> value.startsWith("Pool") || value.startsWith("Connection"))) {
456-
clientSettingsBuilder.
457-
applyToConnectionPoolSettings(builder ->
458-
builder.addConnectionPoolListener(new EntityConnectionPoolListener(eventList.stream()
459-
.map(value -> value.asString().getValue())
460-
.collect(Collectors.toSet()),
461-
eventDocumentList)));
462-
}
463-
}
464-
}
465412
clientSettingsBuilder.applyToServerSettings(builder -> {
466413
builder.heartbeatFrequency(50, TimeUnit.MILLISECONDS);
467414
builder.minHeartbeatFrequency(50, TimeUnit.MILLISECONDS);
@@ -795,154 +742,4 @@ public void close() {
795742
clientLoggingInterceptors.values().forEach(TestLoggingInterceptor::close);
796743
threads.values().forEach(ExecutorService::shutdownNow);
797744
}
798-
799-
private static class EntityCommandListener implements CommandListener {
800-
private final List<BsonDocument> eventDocumentList;
801-
private final Set<String> enabledEvents;
802-
803-
EntityCommandListener(final Set<String> enabledEvents, final List<BsonDocument> eventDocumentList) {
804-
this.eventDocumentList = eventDocumentList;
805-
this.enabledEvents = enabledEvents;
806-
}
807-
808-
@Override
809-
public void commandStarted(final CommandStartedEvent event) {
810-
if (enabledEvents.contains("CommandStartedEvent")) {
811-
eventDocumentList.add(createEventDocument(event, "CommandStartedEvent")
812-
.append("databaseName", new BsonString(event.getDatabaseName())));
813-
}
814-
}
815-
816-
@Override
817-
public void commandSucceeded(final CommandSucceededEvent event) {
818-
if (enabledEvents.contains("CommandSucceededEvent")) {
819-
eventDocumentList.add(createEventDocument(event, "CommandSucceededEvent")
820-
.append("duration", new BsonInt64(event.getElapsedTime(TimeUnit.MILLISECONDS))));
821-
}
822-
}
823-
824-
@Override
825-
public void commandFailed(final CommandFailedEvent event) {
826-
if (enabledEvents.contains("CommandFailedEvent")) {
827-
eventDocumentList.add(createEventDocument(event, "CommandFailedEvent")
828-
.append("duration",
829-
new BsonDouble(event.getElapsedTime(TimeUnit.NANOSECONDS) / 1_000_000_000.0))
830-
.append("failure", new BsonString(event.getThrowable().toString())));
831-
}
832-
}
833-
834-
private BsonDocument createEventDocument(final CommandEvent event, final String name) {
835-
return new BsonDocument()
836-
.append("name", new BsonString(name))
837-
.append("observedAt", new BsonDouble(System.currentTimeMillis() / 1000.0))
838-
.append("commandName", new BsonString(event.getCommandName()))
839-
.append("requestId", new BsonInt32(event.getRequestId()));
840-
}
841-
}
842-
843-
private static class EntityConnectionPoolListener implements ConnectionPoolListener {
844-
private final List<BsonDocument> eventDocumentList;
845-
private final Set<String> enabledEvents;
846-
847-
EntityConnectionPoolListener(final Set<String> enabledEvents, final List<BsonDocument> eventDocumentList) {
848-
this.eventDocumentList = eventDocumentList;
849-
this.enabledEvents = enabledEvents;
850-
}
851-
852-
@Override
853-
public void connectionPoolCreated(final ConnectionPoolCreatedEvent event) {
854-
if (enabledEvents.contains("PoolCreatedEvent")) {
855-
eventDocumentList.add(createEventDocument("PoolCreatedEvent", event.getServerId()));
856-
}
857-
}
858-
859-
@Override
860-
public void connectionPoolCleared(final ConnectionPoolClearedEvent event) {
861-
if (enabledEvents.contains("PoolClearedEvent")) {
862-
eventDocumentList.add(createEventDocument("PoolClearedEvent", event.getServerId()));
863-
}
864-
}
865-
866-
@Override
867-
public void connectionPoolReady(final ConnectionPoolReadyEvent event) {
868-
if (enabledEvents.contains("PoolReadyEvent")) {
869-
eventDocumentList.add(createEventDocument("PoolReadyEvent", event.getServerId()));
870-
}
871-
}
872-
873-
@Override
874-
public void connectionPoolClosed(final ConnectionPoolClosedEvent event) {
875-
if (enabledEvents.contains("PoolClosedEvent")) {
876-
eventDocumentList.add(createEventDocument("PoolClosedEvent", event.getServerId()));
877-
}
878-
}
879-
880-
@Override
881-
public void connectionCheckOutStarted(final ConnectionCheckOutStartedEvent event) {
882-
if (enabledEvents.contains("ConnectionCheckOutStartedEvent")) {
883-
eventDocumentList.add(createEventDocument("ConnectionCheckOutStartedEvent", event.getServerId()));
884-
}
885-
}
886-
887-
@Override
888-
public void connectionCheckedOut(final ConnectionCheckedOutEvent event) {
889-
if (enabledEvents.contains("ConnectionCheckedOutEvent")) {
890-
eventDocumentList.add(createEventDocument("ConnectionCheckedOutEvent", event.getConnectionId()));
891-
}
892-
}
893-
894-
@Override
895-
public void connectionCheckOutFailed(final ConnectionCheckOutFailedEvent event) {
896-
if (enabledEvents.contains("ConnectionCheckOutFailedEvent")) {
897-
eventDocumentList.add(createEventDocument("ConnectionCheckOutFailedEvent", event.getServerId())
898-
.append("reason", new BsonString(getReasonString(event.getReason()))));
899-
}
900-
}
901-
902-
@Override
903-
public void connectionCheckedIn(final ConnectionCheckedInEvent event) {
904-
if (enabledEvents.contains("ConnectionCheckedInEvent")) {
905-
eventDocumentList.add(createEventDocument("ConnectionCheckedInEvent", event.getConnectionId()));
906-
}
907-
}
908-
909-
@Override
910-
public void connectionCreated(final ConnectionCreatedEvent event) {
911-
if (enabledEvents.contains("ConnectionCreatedEvent")) {
912-
eventDocumentList.add(createEventDocument("ConnectionCreatedEvent", event.getConnectionId()));
913-
}
914-
}
915-
916-
@Override
917-
public void connectionReady(final ConnectionReadyEvent event) {
918-
if (enabledEvents.contains("ConnectionReadyEvent")) {
919-
eventDocumentList.add(createEventDocument("ConnectionReadyEvent", event.getConnectionId()));
920-
}
921-
}
922-
923-
@Override
924-
public void connectionClosed(final ConnectionClosedEvent event) {
925-
if (enabledEvents.contains("ConnectionClosedEvent")) {
926-
eventDocumentList.add(createEventDocument("ConnectionClosedEvent", event.getConnectionId())
927-
.append("reason", new BsonString(getReasonString(event.getReason()))));
928-
}
929-
}
930-
931-
private BsonDocument createEventDocument(final String name, final ConnectionId connectionId) {
932-
return createEventDocument(name, connectionId.getServerId())
933-
.append("connectionId", new BsonString(Long.toString(connectionId.getLocalValue())));
934-
}
935-
936-
private BsonDocument createEventDocument(final String name, final ServerId serverId) {
937-
return new BsonDocument()
938-
.append("name", new BsonString(name))
939-
.append("observedAt", new BsonDouble(System.currentTimeMillis() / 1000.0))
940-
.append("address", new BsonString(getAddressAsString(serverId)));
941-
}
942-
943-
@NonNull
944-
private String getAddressAsString(final ServerId serverId) {
945-
return serverId.getAddress().getHost() + ":" + serverId.getAddress().getPort();
946-
}
947-
}
948745
}

driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTest.java

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
import org.bson.BsonArray;
4848
import org.bson.BsonBoolean;
4949
import org.bson.BsonDocument;
50-
import org.bson.BsonDouble;
5150
import org.bson.BsonInt32;
5251
import org.bson.BsonString;
5352
import org.bson.BsonValue;
@@ -699,8 +698,6 @@ private OperationResult executeOperation(final UnifiedTestContext context, final
699698
return gridFSHelper.executeUpload(operation);
700699
case "runCommand":
701700
return crudHelper.executeRunCommand(operation);
702-
case "loop":
703-
return loop(context, operation);
704701
case "createDataKey":
705702
return clientEncryptionHelper.executeCreateDataKey(operation);
706703
case "addKeyAltName":
@@ -731,71 +728,6 @@ private OperationResult executeOperation(final UnifiedTestContext context, final
731728
}
732729
}
733730

734-
private OperationResult loop(final UnifiedTestContext context, final BsonDocument operation) {
735-
BsonDocument arguments = operation.getDocument("arguments");
736-
737-
int numIterations = 0;
738-
int numSuccessfulOperations = 0;
739-
boolean storeFailures = arguments.containsKey("storeFailuresAsEntity");
740-
boolean storeErrors = arguments.containsKey("storeErrorsAsEntity");
741-
BsonArray failureDescriptionDocuments = new BsonArray();
742-
BsonArray errorDescriptionDocuments = new BsonArray();
743-
744-
while (!terminateLoop()) {
745-
BsonArray array = arguments.getArray("operations");
746-
for (int i = 0; i < array.size(); i++) {
747-
BsonValue cur = array.get(i);
748-
try {
749-
assertOperation(context, cur.asDocument().clone(), i);
750-
numSuccessfulOperations++;
751-
} catch (AssertionError e) {
752-
if (storeFailures) {
753-
failureDescriptionDocuments.add(createDocumentFromException(e));
754-
} else if (storeErrors) {
755-
errorDescriptionDocuments.add(createDocumentFromException(e));
756-
} else {
757-
throw e;
758-
}
759-
break;
760-
} catch (Exception e) {
761-
if (storeErrors) {
762-
errorDescriptionDocuments.add(createDocumentFromException(e));
763-
} else if (storeFailures) {
764-
failureDescriptionDocuments.add(createDocumentFromException(e));
765-
} else {
766-
throw e;
767-
}
768-
break;
769-
}
770-
}
771-
numIterations++;
772-
}
773-
774-
if (arguments.containsKey("storeSuccessesAsEntity")) {
775-
entities.addSuccessCount(arguments.getString("storeSuccessesAsEntity").getValue(), numSuccessfulOperations);
776-
}
777-
if (arguments.containsKey("storeIterationsAsEntity")) {
778-
entities.addIterationCount(arguments.getString("storeIterationsAsEntity").getValue(), numIterations);
779-
}
780-
if (storeFailures) {
781-
entities.addFailureDocuments(arguments.getString("storeFailuresAsEntity").getValue(), failureDescriptionDocuments);
782-
}
783-
if (storeErrors) {
784-
entities.addErrorDocuments(arguments.getString("storeErrorsAsEntity").getValue(), errorDescriptionDocuments);
785-
}
786-
787-
return OperationResult.NONE;
788-
}
789-
790-
private BsonDocument createDocumentFromException(final Throwable throwable) {
791-
return new BsonDocument("error", new BsonString(throwable.toString()))
792-
.append("time", new BsonDouble(System.currentTimeMillis() / 1000.0));
793-
}
794-
795-
protected boolean terminateLoop() {
796-
return true;
797-
}
798-
799731
private OperationResult executeCreateEntities(final BsonDocument operation) {
800732
entities.init(operation.getDocument("arguments").getArray("entities"),
801733
startingClusterTime,

0 commit comments

Comments
 (0)