Skip to content

Commit

Permalink
[pinpoint-apm#8911] Change the temp directory of mongod
Browse files Browse the repository at this point in the history
  • Loading branch information
emeroad committed Jun 7, 2022
1 parent c29df86 commit 7a322c3
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 13 deletions.
2 changes: 1 addition & 1 deletion agent-testweb/mongodb-plugin-testweb/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<version>3.4.3</version>
<version>${embed.mongo}</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
Expand Down
2 changes: 1 addition & 1 deletion agent-testweb/mongodb-reactive-plugin-testweb/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<version>3.4.3</version>
<version>${embed.mongo}</version>
</dependency>

<dependency>
Expand Down
2 changes: 1 addition & 1 deletion plugins-it/mongodb-it/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<version>3.4.6</version>
<version>${embed.mongo}</version>
<scope>test</scope>
</dependency>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,33 @@

package com.navercorp.pinpoint.plugin.mongodb;

import com.mongodb.WriteConcern;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult;
import com.navercorp.pinpoint.bootstrap.plugin.test.ExpectedAnnotation;
import com.navercorp.pinpoint.bootstrap.plugin.test.PluginTestVerifier;
import com.navercorp.pinpoint.bootstrap.plugin.test.PluginTestVerifierHolder;
import com.navercorp.pinpoint.common.util.StringStringValue;
import com.navercorp.pinpoint.plugin.mongo.MongoConstants;
import com.navercorp.pinpoint.plugin.mongo.MongoUtil;
import com.navercorp.pinpoint.plugin.mongo.NormalizedBson;

import com.mongodb.WriteConcern;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult;
import de.flapdoodle.embed.mongo.MongodExecutable;
import de.flapdoodle.embed.mongo.MongodProcess;
import de.flapdoodle.embed.mongo.MongodStarter;
import de.flapdoodle.embed.mongo.config.Defaults;
import de.flapdoodle.embed.mongo.config.MongodConfig;
import de.flapdoodle.embed.mongo.config.Net;
import de.flapdoodle.embed.mongo.distribution.Version;
import de.flapdoodle.embed.mongo.packageresolver.Command;
import de.flapdoodle.embed.process.config.RuntimeConfig;
import de.flapdoodle.embed.process.extract.DirectoryAndExecutableNaming;
import de.flapdoodle.embed.process.extract.ImmutableDirectoryAndExecutableNaming;
import de.flapdoodle.embed.process.extract.UUIDTempNaming;
import de.flapdoodle.embed.process.io.directories.FixedPath;
import de.flapdoodle.embed.process.runtime.Network;
import de.flapdoodle.embed.process.store.ImmutableExtractedArtifactStore;
import org.bson.BsonArray;
import org.bson.BsonBinary;
import org.bson.BsonBinarySubType;
Expand Down Expand Up @@ -65,6 +72,9 @@
import org.junit.Test;

import java.lang.reflect.Method;
import java.net.URISyntaxException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Date;

Expand Down Expand Up @@ -95,12 +105,12 @@ abstract void insertComplex(PluginTestVerifier verifier,
String collectionInfo, String collectionOption);

public void startDB() throws Exception {
MongodStarter starter = MongodStarter.getDefaultInstance();
MongodConfig mongodConfig = MongodConfig.builder()
.version(Version.Main.PRODUCTION)
MongodStarter starter = newMongodStarter();

MongodConfig mongodConfig = MongodConfig.builder()
.version(Version.Main.V4_4)
.net(new Net(MongoDBITConstants.BIND_ADDRESS, MongoDBITConstants.PORT, Network.localhostIsIPv6()))
.build();

MongodExecutable mongodExecutable = starter.prepare(mongodConfig);
// replaced via awaitCompleted()
// //give time for previous DB close to finish and port to be released"
Expand All @@ -110,6 +120,29 @@ public void startDB() throws Exception {
setClient();
}

private String getTempPath() throws URISyntaxException {
Path target = Paths.get(MongoDBITBase.class.getClassLoader().getResource("/").toURI()).getParent();
Path mongoServerPath = target.resolve("mongod_mock");
return mongoServerPath.toString();
}

private MongodStarter newMongodStarter() throws URISyntaxException {
Command command = Command.MongoD;

ImmutableDirectoryAndExecutableNaming temp = DirectoryAndExecutableNaming.builder()
.directory(new FixedPath(getTempPath()))
.executableNaming(new UUIDTempNaming())
.build();
ImmutableExtractedArtifactStore artifactStore = Defaults.extractedArtifactStoreFor(command)
.withTemp(temp);

RuntimeConfig runtimeConfig = Defaults.runtimeConfigFor(command)
.artifactStore(artifactStore)
.build();
return MongodStarter.getInstance(runtimeConfig);

}

public void stopDB(MongoCollection<Document> collection) throws Exception {
try {
collection.drop();
Expand Down
2 changes: 2 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,8 @@
<curator.framework.version>4.2.1</curator.framework.version>
<curator.test.version>2.13.0</curator.test.version>

<embed.mongo>3.4.6</embed.mongo>

<testcontainers.version>1.16.2</testcontainers.version>

<!-- maven-plugin -->
Expand Down

0 comments on commit 7a322c3

Please sign in to comment.