mirror of
https://github.com/usatiuk/dhfs.git
synced 2025-10-28 20:47:49 +01:00
Compare commits
2 Commits
2434b0464f
...
60ffc12c61
| Author | SHA1 | Date | |
|---|---|---|---|
| 60ffc12c61 | |||
| e3e62467e4 |
@@ -2,7 +2,7 @@
|
|||||||
<configuration default="false" name="Main 2" type="QsApplicationConfigurationType" factoryName="QuarkusApplication">
|
<configuration default="false" name="Main 2" type="QsApplicationConfigurationType" factoryName="QuarkusApplication">
|
||||||
<option name="MAIN_CLASS_NAME" value="com.usatiuk.dhfsfuse.Main" />
|
<option name="MAIN_CLASS_NAME" value="com.usatiuk.dhfsfuse.Main" />
|
||||||
<module name="dhfs-fuse" />
|
<module name="dhfs-fuse" />
|
||||||
<option name="VM_PARAMETERS" value="-XX:+UnlockDiagnosticVMOptions -XX:+UseParallelGC -XX:+DebugNonSafepoints --enable-preview --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-exports java.base/jdk.internal.access=ALL-UNNAMED -ea -Xmx512M -Ddhfs.webui.root=$ProjectFileDir$/../webui/dist -Ddhfs.fuse.root=${HOME}/dhfs_test/2/fuse -Ddhfs.objects.persistence.files.root=${HOME}/dhfs_test/2/data -Ddhfs.objects.persistence.stuff.root=${HOME}/dhfs_test/2/data/stuff -Ddhfs.objects.peerdiscovery.broadcast=false -Dquarkus.http.port=9020 -Dquarkus.http.ssl-port=9021 -Ddhfs.peerdiscovery.preset-uuid=22000000-0000-0000-0000-000000000000 -Ddhfs.peerdiscovery.static-peers=11000000-0000-0000-0000-000000000000:127.0.0.1:9010:9011" />
|
<option name="VM_PARAMETERS" value="-XX:+UnlockDiagnosticVMOptions -XX:+UseParallelGC -XX:+DebugNonSafepoints --enable-preview --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-exports java.base/jdk.internal.access=ALL-UNNAMED -ea -Xmx512M -Ddhfs.webui.root=$ProjectFileDir$/../webui/dist -Ddhfs.fuse.root=${HOME}/dhfs_test/2/fuse -Ddhfs.objects.persistence.root=${HOME}/dhfs_test/2/data -Ddhfs.objects.peerdiscovery.broadcast=false -Dquarkus.http.port=9020 -Dquarkus.http.ssl-port=9021 -Ddhfs.peerdiscovery.preset-uuid=22000000-0000-0000-0000-000000000000 -Ddhfs.peerdiscovery.static-peers=11000000-0000-0000-0000-000000000000:127.0.0.1:9010:9011" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="com.usatiuk.dhfs.remoteobj.*" />
|
<option name="PATTERN" value="com.usatiuk.dhfs.remoteobj.*" />
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<configuration default="false" name="Main" type="QsApplicationConfigurationType" factoryName="QuarkusApplication" nameIsGenerated="true">
|
<configuration default="false" name="Main" type="QsApplicationConfigurationType" factoryName="QuarkusApplication" nameIsGenerated="true">
|
||||||
<option name="MAIN_CLASS_NAME" value="com.usatiuk.dhfsfuse.Main" />
|
<option name="MAIN_CLASS_NAME" value="com.usatiuk.dhfsfuse.Main" />
|
||||||
<module name="dhfs-fuse" />
|
<module name="dhfs-fuse" />
|
||||||
<option name="VM_PARAMETERS" value="-XX:+UnlockDiagnosticVMOptions -XX:+UseZGC -XX:+ZGenerational --enable-preview -XX:+DebugNonSafepoints --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-exports java.base/jdk.internal.access=ALL-UNNAMED -ea -Xmx1G -Ddhfs.webui.root=$ProjectFileDir$/../webui/dist -Ddhfs.fuse.root=${HOME}/dhfs_test/1/fuse -Ddhfs.objects.persistence.files.root=${HOME}/dhfs_test/1/data -Ddhfs.objects.persistence.stuff.root=${HOME}/dhfs_test/1/data/stuff -Ddhfs.objects.peerdiscovery.broadcast=true -Dquarkus.http.port=9010 -Dquarkus.http.ssl-port=9011 -Ddhfs.peerdiscovery.preset-uuid=11000000-0000-0000-0000-000000000000 -Ddhfs.peerdiscovery.static-peers=22000000-0000-0000-0000-000000000000:127.0.0.1:9020:9021 -Dquarkus.http.host=0.0.0.0" />
|
<option name="VM_PARAMETERS" value="-XX:+UnlockDiagnosticVMOptions -XX:+UseZGC -XX:+ZGenerational --enable-preview -XX:+DebugNonSafepoints --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-exports java.base/jdk.internal.access=ALL-UNNAMED -ea -Xmx1G -Ddhfs.webui.root=$ProjectFileDir$/../webui/dist -Ddhfs.fuse.root=${HOME}/dhfs_test/1/fuse -Ddhfs.objects.persistence.root=${HOME}/dhfs_test/1/data -Ddhfs.objects.peerdiscovery.broadcast=true -Dquarkus.http.port=9010 -Dquarkus.http.ssl-port=9011 -Ddhfs.peerdiscovery.preset-uuid=11000000-0000-0000-0000-000000000000 -Ddhfs.peerdiscovery.static-peers=22000000-0000-0000-0000-000000000000:127.0.0.1:9020:9021 -Dquarkus.http.host=0.0.0.0" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="com.usatiuk.dhfs.remoteobj.*" />
|
<option name="PATTERN" value="com.usatiuk.dhfs.remoteobj.*" />
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
version: "3.2"
|
|
||||||
|
|
||||||
services:
|
|
||||||
dhfs1:
|
|
||||||
build: .
|
|
||||||
privileged: true
|
|
||||||
devices:
|
|
||||||
- /dev/fuse
|
|
||||||
volumes:
|
|
||||||
- $HOME/dhfs/dhfs1:/dhfs_root
|
|
||||||
- $HOME/dhfs/dhfs1_f:/dhfs_root/fuse:rshared
|
|
||||||
- ./target/quarkus-app:/app
|
|
||||||
command: "java --add-exports java.base/sun.nio.ch=ALL-UNNAMED
|
|
||||||
-Ddhfs.objects.persistence.files.root=/dhfs_root/p
|
|
||||||
-Ddhfs.objects.root=/dhfs_root/d
|
|
||||||
-Ddhfs.fuse.root=/dhfs_root/fuse -Dquarkus.http.host=0.0.0.0
|
|
||||||
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
|
|
||||||
-jar /app/quarkus-run.jar"
|
|
||||||
ports:
|
|
||||||
- 8080:8080
|
|
||||||
- 8081:8443
|
|
||||||
- 5005:5005
|
|
||||||
dhfs2:
|
|
||||||
build: .
|
|
||||||
privileged: true
|
|
||||||
devices:
|
|
||||||
- /dev/fuse
|
|
||||||
volumes:
|
|
||||||
- $HOME/dhfs/dhfs2:/dhfs_root
|
|
||||||
- $HOME/dhfs/dhfs2_f:/dhfs_root/fuse:rshared
|
|
||||||
- ./target/quarkus-app:/app
|
|
||||||
command: "java --add-exports java.base/sun.nio.ch=ALL-UNNAMED
|
|
||||||
--add-exports java.base/jdk.internal.access=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio=ALL-UNNAMED
|
|
||||||
-Ddhfs.objects.persistence.files.root=/dhfs_root/p
|
|
||||||
-Ddhfs.objects.root=/dhfs_root/d
|
|
||||||
-Ddhfs.fuse.root=/dhfs_root/fuse -Dquarkus.http.host=0.0.0.0
|
|
||||||
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5010
|
|
||||||
-jar /app/quarkus-run.jar"
|
|
||||||
ports:
|
|
||||||
- 8090:8080
|
|
||||||
- 8091:8443
|
|
||||||
- 5010:5010
|
|
||||||
@@ -21,7 +21,7 @@ abstract public class TempDataProfile implements QuarkusTestProfile {
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
var ret = new HashMap<String, String>();
|
var ret = new HashMap<String, String>();
|
||||||
ret.put("dhfs.objects.persistence.files.root", tempDirWithPrefix.resolve("dhfs_root_test").toString());
|
ret.put("dhfs.objects.persistence.root", tempDirWithPrefix.resolve("dhfs_root_test").toString());
|
||||||
ret.put("dhfs.fuse.root", tempDirWithPrefix.resolve("dhfs_fuse_root_test").toString());
|
ret.put("dhfs.fuse.root", tempDirWithPrefix.resolve("dhfs_fuse_root_test").toString());
|
||||||
getConfigOverrides(ret);
|
getConfigOverrides(ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import java.util.Objects;
|
|||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class TestDataCleaner {
|
public class TestDataCleaner {
|
||||||
@ConfigProperty(name = "dhfs.objects.persistence.files.root")
|
@ConfigProperty(name = "dhfs.objects.persistence.root")
|
||||||
String tempDirectory;
|
String tempDirectory;
|
||||||
|
|
||||||
void init(@Observes @Priority(1) StartupEvent event) throws IOException {
|
void init(@Observes @Priority(1) StartupEvent event) throws IOException {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
dhfs.objects.persistence.files.root=${HOME}/dhfs_data/dhfs_root_test
|
dhfs.objects.persistence.root=${HOME}/dhfs_data/dhfs_root_test
|
||||||
dhfs.objects.root=${HOME}/dhfs_data/dhfs_root_d_test
|
|
||||||
dhfs.fuse.root=${HOME}/dhfs_data/dhfs_fuse_root_test
|
dhfs.fuse.root=${HOME}/dhfs_data/dhfs_fuse_root_test
|
||||||
dhfs.objects.ref_verification=true
|
dhfs.objects.ref_verification=true
|
||||||
dhfs.objects.deletion.delay=0
|
dhfs.objects.deletion.delay=0
|
||||||
|
|||||||
@@ -11,8 +11,7 @@ services:
|
|||||||
- $HOME/dhfs/dhfs1_f:/dhfs_root/fuse:rshared
|
- $HOME/dhfs/dhfs1_f:/dhfs_root/fuse:rshared
|
||||||
- ./target/quarkus-app:/app
|
- ./target/quarkus-app:/app
|
||||||
command: "java --add-exports java.base/sun.nio.ch=ALL-UNNAMED
|
command: "java --add-exports java.base/sun.nio.ch=ALL-UNNAMED
|
||||||
-Ddhfs.objects.persistence.files.root=/dhfs_root/p
|
-Ddhfs.objects.persistence.root=/dhfs_root/p
|
||||||
-Ddhfs.objects.root=/dhfs_root/d
|
|
||||||
-Ddhfs.fuse.root=/dhfs_root/fuse -Dquarkus.http.host=0.0.0.0
|
-Ddhfs.fuse.root=/dhfs_root/fuse -Dquarkus.http.host=0.0.0.0
|
||||||
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
|
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
|
||||||
-jar /app/quarkus-run.jar"
|
-jar /app/quarkus-run.jar"
|
||||||
@@ -32,8 +31,7 @@ services:
|
|||||||
command: "java --add-exports java.base/sun.nio.ch=ALL-UNNAMED
|
command: "java --add-exports java.base/sun.nio.ch=ALL-UNNAMED
|
||||||
--add-exports java.base/jdk.internal.access=ALL-UNNAMED
|
--add-exports java.base/jdk.internal.access=ALL-UNNAMED
|
||||||
--add-opens=java.base/java.nio=ALL-UNNAMED
|
--add-opens=java.base/java.nio=ALL-UNNAMED
|
||||||
-Ddhfs.objects.persistence.files.root=/dhfs_root/p
|
-Ddhfs.objects.persistence.root=/dhfs_root/p
|
||||||
-Ddhfs.objects.root=/dhfs_root/d
|
|
||||||
-Ddhfs.fuse.root=/dhfs_root/fuse -Dquarkus.http.host=0.0.0.0
|
-Ddhfs.fuse.root=/dhfs_root/fuse -Dquarkus.http.host=0.0.0.0
|
||||||
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5010
|
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5010
|
||||||
-jar /app/quarkus-run.jar"
|
-jar /app/quarkus-run.jar"
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ abstract public class TempDataProfile implements QuarkusTestProfile {
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
var ret = new HashMap<String, String>();
|
var ret = new HashMap<String, String>();
|
||||||
ret.put("dhfs.objects.persistence.files.root", tempDirWithPrefix.resolve("dhfs_root_test").toString());
|
ret.put("dhfs.objects.persistence.root", tempDirWithPrefix.resolve("dhfs_root_test").toString());
|
||||||
ret.put("dhfs.fuse.root", tempDirWithPrefix.resolve("dhfs_fuse_root_test").toString());
|
ret.put("dhfs.fuse.root", tempDirWithPrefix.resolve("dhfs_fuse_root_test").toString());
|
||||||
getConfigOverrides(ret);
|
getConfigOverrides(ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import java.util.Objects;
|
|||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class TestDataCleaner {
|
public class TestDataCleaner {
|
||||||
@ConfigProperty(name = "dhfs.objects.persistence.files.root")
|
@ConfigProperty(name = "dhfs.objects.persistence.root")
|
||||||
String tempDirectory;
|
String tempDirectory;
|
||||||
|
|
||||||
void init(@Observes @Priority(1) StartupEvent event) throws IOException {
|
void init(@Observes @Priority(1) StartupEvent event) throws IOException {
|
||||||
|
|||||||
@@ -56,8 +56,8 @@ public class DhfsFuseIT {
|
|||||||
waitingConsumer2.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
waitingConsumer2.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
||||||
waitingConsumer1.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
waitingConsumer1.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
||||||
|
|
||||||
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
|
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
||||||
|
|||||||
@@ -72,9 +72,9 @@ public class DhfsFusex3IT {
|
|||||||
waitingConsumer2.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
waitingConsumer2.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
||||||
waitingConsumer1.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
waitingConsumer1.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
||||||
|
|
||||||
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
c3uuid = container3.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c3uuid = container3.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
|
|
||||||
Log.info(container1.getContainerId() + "=" + c1uuid + " = 1");
|
Log.info(container1.getContainerId() + "=" + c1uuid + " = 1");
|
||||||
Log.info(container2.getContainerId() + "=" + c2uuid + " = 2");
|
Log.info(container2.getContainerId() + "=" + c2uuid + " = 2");
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ public class DhfsImage implements Future<String> {
|
|||||||
"-Dquarkus.log.category.\"com.usatiuk.objects.transaction\".level=INFO",
|
"-Dquarkus.log.category.\"com.usatiuk.objects.transaction\".level=INFO",
|
||||||
"-Ddhfs.objects.periodic-push-op-interval=5s",
|
"-Ddhfs.objects.periodic-push-op-interval=5s",
|
||||||
"-Ddhfs.fuse.root=/dhfs_test/fuse",
|
"-Ddhfs.fuse.root=/dhfs_test/fuse",
|
||||||
"-Ddhfs.objects.persistence.files.root=/dhfs_test/data",
|
"-Ddhfs.objects.persistence.root=/dhfs_test/data",
|
||||||
"-Ddhfs.objects.persistence.stuff.root=/dhfs_test/data/stuff",
|
"-Ddhfs.objects.persistence.stuff.root=/dhfs_test/data/stuff",
|
||||||
"-jar", "/app/quarkus-run.jar")
|
"-jar", "/app/quarkus-run.jar")
|
||||||
.run("mkdir /dhfs_test && chmod 777 /dhfs_test")
|
.run("mkdir /dhfs_test && chmod 777 /dhfs_test")
|
||||||
|
|||||||
@@ -72,8 +72,8 @@ public class KillIT {
|
|||||||
waitingConsumer2.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
waitingConsumer2.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
||||||
waitingConsumer1.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
waitingConsumer1.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
||||||
|
|
||||||
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
|
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import java.util.stream.Stream;
|
|||||||
|
|
||||||
import static org.awaitility.Awaitility.await;
|
import static org.awaitility.Awaitility.await;
|
||||||
|
|
||||||
|
@Disabled
|
||||||
public class LazyFsIT {
|
public class LazyFsIT {
|
||||||
GenericContainer<?> container1;
|
GenericContainer<?> container1;
|
||||||
GenericContainer<?> container2;
|
GenericContainer<?> container2;
|
||||||
@@ -82,8 +83,8 @@ public class LazyFsIT {
|
|||||||
waitingConsumer2.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
waitingConsumer2.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
||||||
waitingConsumer1.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
waitingConsumer1.waitUntil(frame -> frame.getUtf8String().contains("Listening"), 60, TimeUnit.SECONDS);
|
||||||
|
|
||||||
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
|
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
||||||
|
|||||||
@@ -66,8 +66,8 @@ public class ResyncIT {
|
|||||||
@Test
|
@Test
|
||||||
void readWriteFileTest() throws IOException, InterruptedException, TimeoutException {
|
void readWriteFileTest() throws IOException, InterruptedException, TimeoutException {
|
||||||
await().atMost(45, TimeUnit.SECONDS).until(() -> 0 == container1.execInContainer("/bin/sh", "-c", "echo tesempty > /dhfs_test/fuse/testf1").getExitCode());
|
await().atMost(45, TimeUnit.SECONDS).until(() -> 0 == container1.execInContainer("/bin/sh", "-c", "echo tesempty > /dhfs_test/fuse/testf1").getExitCode());
|
||||||
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
|
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
||||||
@@ -106,8 +106,8 @@ public class ResyncIT {
|
|||||||
foundWc = container2.execInContainer("/bin/sh", "-c", "find /dhfs_test/fuse -type f | wc -l");
|
foundWc = container2.execInContainer("/bin/sh", "-c", "find /dhfs_test/fuse -type f | wc -l");
|
||||||
Assertions.assertEquals(200, Integer.valueOf(foundWc.getStdout().strip()));
|
Assertions.assertEquals(200, Integer.valueOf(foundWc.getStdout().strip()));
|
||||||
|
|
||||||
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
|
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
||||||
@@ -146,8 +146,8 @@ public class ResyncIT {
|
|||||||
await().atMost(45, TimeUnit.SECONDS).until(() -> 0 == container1.execInContainer("/bin/sh", "-c", "mv /dhfs_test/fuse/testd1 /dhfs_test/fuse/testd2").getExitCode());
|
await().atMost(45, TimeUnit.SECONDS).until(() -> 0 == container1.execInContainer("/bin/sh", "-c", "mv /dhfs_test/fuse/testd1 /dhfs_test/fuse/testd2").getExitCode());
|
||||||
await().atMost(45, TimeUnit.SECONDS).until(() -> 0 == container1.execInContainer("/bin/sh", "-c", "echo tesempty2 > /dhfs_test/fuse/testd2/testf2").getExitCode());
|
await().atMost(45, TimeUnit.SECONDS).until(() -> 0 == container1.execInContainer("/bin/sh", "-c", "echo tesempty2 > /dhfs_test/fuse/testd2/testf2").getExitCode());
|
||||||
|
|
||||||
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c1uuid = container1.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/stuff/self_uuid").getStdout();
|
c2uuid = container2.execInContainer("/bin/sh", "-c", "cat /dhfs_test/data/self_uuid").getStdout();
|
||||||
|
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c1uuid));
|
||||||
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
Assertions.assertDoesNotThrow(() -> UUID.fromString(c2uuid));
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
dhfs.objects.persistence.files.root=${HOME}/dhfs_data/dhfs_root_test
|
dhfs.objects.persistence.root=${HOME}/dhfs_data/dhfs_root_test
|
||||||
dhfs.objects.root=${HOME}/dhfs_data/dhfs_root_d_test
|
|
||||||
dhfs.fuse.root=${HOME}/dhfs_data/dhfs_fuse_root_test
|
dhfs.fuse.root=${HOME}/dhfs_data/dhfs_fuse_root_test
|
||||||
dhfs.objects.ref_verification=true
|
dhfs.objects.ref_verification=true
|
||||||
dhfs.objects.deletion.delay=0
|
dhfs.objects.deletion.delay=0
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public class LmdbObjectPersistentStore implements ObjectPersistentStore {
|
|||||||
private Dbi<ByteBuffer> _db;
|
private Dbi<ByteBuffer> _db;
|
||||||
private boolean _ready = false;
|
private boolean _ready = false;
|
||||||
|
|
||||||
public LmdbObjectPersistentStore(@ConfigProperty(name = "dhfs.objects.persistence.files.root") String root) {
|
public LmdbObjectPersistentStore(@ConfigProperty(name = "dhfs.objects.persistence.root") String root) {
|
||||||
_root = Path.of(root).resolve("objects");
|
_root = Path.of(root).resolve("objects");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ dhfs.objects.writeback.limit=16777216
|
|||||||
dhfs.objects.lru.limit=67108864
|
dhfs.objects.lru.limit=67108864
|
||||||
dhfs.objects.lru.print-stats=false
|
dhfs.objects.lru.print-stats=false
|
||||||
dhfs.objects.lock_timeout_secs=15
|
dhfs.objects.lock_timeout_secs=15
|
||||||
dhfs.objects.persistence.files.root=${HOME}/dhfs_default/data/objs
|
dhfs.objects.persistence.root=${HOME}/dhfs_default/data/objs
|
||||||
dhfs.objects.persistence.snapshot-extra-checks=false
|
dhfs.objects.persistence.snapshot-extra-checks=false
|
||||||
dhfs.objects.last-seen.update=60
|
dhfs.objects.last-seen.update=60
|
||||||
dhfs.objects.last-seen.timeout=43200
|
dhfs.objects.last-seen.timeout=43200
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class TempDataProfile implements QuarkusTestProfile {
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
var ret = new HashMap<String, String>();
|
var ret = new HashMap<String, String>();
|
||||||
ret.put("dhfs.objects.persistence.files.root", tempDirWithPrefix.resolve("dhfs_root_test").toString());
|
ret.put("dhfs.objects.persistence.root", tempDirWithPrefix.resolve("dhfs_root_test").toString());
|
||||||
ret.put("dhfs.fuse.root", tempDirWithPrefix.resolve("dhfs_fuse_root_test").toString());
|
ret.put("dhfs.fuse.root", tempDirWithPrefix.resolve("dhfs_fuse_root_test").toString());
|
||||||
ret.put("dhfs.objects.persistence", "lmdb");
|
ret.put("dhfs.objects.persistence", "lmdb");
|
||||||
getConfigOverrides(ret);
|
getConfigOverrides(ret);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import java.util.Objects;
|
|||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class TestDataCleaner {
|
public class TestDataCleaner {
|
||||||
@ConfigProperty(name = "dhfs.objects.persistence.files.root")
|
@ConfigProperty(name = "dhfs.objects.persistence.root")
|
||||||
String tempDirectory;
|
String tempDirectory;
|
||||||
|
|
||||||
void init(@Observes @Priority(1) StartupEvent event) throws IOException {
|
void init(@Observes @Priority(1) StartupEvent event) throws IOException {
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
version: "3.2"
|
|
||||||
|
|
||||||
services:
|
|
||||||
dhfs1:
|
|
||||||
build: .
|
|
||||||
privileged: true
|
|
||||||
devices:
|
|
||||||
- /dev/fuse
|
|
||||||
volumes:
|
|
||||||
- $HOME/dhfs/dhfs1:/dhfs_root
|
|
||||||
- $HOME/dhfs/dhfs1_f:/dhfs_root/fuse:rshared
|
|
||||||
- ./target/quarkus-app:/app
|
|
||||||
command: "java --add-exports java.base/sun.nio.ch=ALL-UNNAMED
|
|
||||||
-Ddhfs.objects.persistence.files.root=/dhfs_root/p
|
|
||||||
-Ddhfs.objects.root=/dhfs_root/d
|
|
||||||
-Ddhfs.fuse.root=/dhfs_root/fuse -Dquarkus.http.host=0.0.0.0
|
|
||||||
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
|
|
||||||
-jar /app/quarkus-run.jar"
|
|
||||||
ports:
|
|
||||||
- 8080:8080
|
|
||||||
- 8081:8443
|
|
||||||
- 5005:5005
|
|
||||||
dhfs2:
|
|
||||||
build: .
|
|
||||||
privileged: true
|
|
||||||
devices:
|
|
||||||
- /dev/fuse
|
|
||||||
volumes:
|
|
||||||
- $HOME/dhfs/dhfs2:/dhfs_root
|
|
||||||
- $HOME/dhfs/dhfs2_f:/dhfs_root/fuse:rshared
|
|
||||||
- ./target/quarkus-app:/app
|
|
||||||
command: "java --add-exports java.base/sun.nio.ch=ALL-UNNAMED
|
|
||||||
--add-exports java.base/jdk.internal.access=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio=ALL-UNNAMED
|
|
||||||
-Ddhfs.objects.persistence.files.root=/dhfs_root/p
|
|
||||||
-Ddhfs.objects.root=/dhfs_root/d
|
|
||||||
-Ddhfs.fuse.root=/dhfs_root/fuse -Dquarkus.http.host=0.0.0.0
|
|
||||||
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5010
|
|
||||||
-jar /app/quarkus-run.jar"
|
|
||||||
ports:
|
|
||||||
- 8090:8080
|
|
||||||
- 8091:8443
|
|
||||||
- 5010:5010
|
|
||||||
@@ -19,7 +19,7 @@ import java.nio.file.Paths;
|
|||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class ShutdownChecker {
|
public class ShutdownChecker {
|
||||||
private static final String dataFileName = "running";
|
private static final String dataFileName = "running";
|
||||||
@ConfigProperty(name = "dhfs.objects.persistence.files.root")
|
@ConfigProperty(name = "dhfs.objects.persistence.root")
|
||||||
String dataRoot;
|
String dataRoot;
|
||||||
boolean _cleanShutdown = true;
|
boolean _cleanShutdown = true;
|
||||||
boolean _initialized = false;
|
boolean _initialized = false;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class DeferredInvalidationQueueService implements PeerConnectedEventListe
|
|||||||
ReachablePeerManager reachablePeerManager;
|
ReachablePeerManager reachablePeerManager;
|
||||||
@Inject
|
@Inject
|
||||||
InvalidationQueueService invalidationQueueService;
|
InvalidationQueueService invalidationQueueService;
|
||||||
@ConfigProperty(name = "dhfs.objects.persistence.files.root")
|
@ConfigProperty(name = "dhfs.objects.persistence.root")
|
||||||
String dataRoot;
|
String dataRoot;
|
||||||
private DeferredInvalidationQueueData _persistentData = new DeferredInvalidationQueueData();
|
private DeferredInvalidationQueueData _persistentData = new DeferredInvalidationQueueData();
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class PersistentPeerDataService {
|
|||||||
|
|
||||||
@ConfigProperty(name = "dhfs.peerdiscovery.preset-uuid")
|
@ConfigProperty(name = "dhfs.peerdiscovery.preset-uuid")
|
||||||
Optional<String> presetUuid;
|
Optional<String> presetUuid;
|
||||||
@ConfigProperty(name = "dhfs.objects.persistence.stuff.root")
|
@ConfigProperty(name = "dhfs.objects.persistence.root")
|
||||||
String stuffRoot;
|
String stuffRoot;
|
||||||
|
|
||||||
private PeerId _selfUuid;
|
private PeerId _selfUuid;
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ dhfs.objects.reconnect_interval=5s
|
|||||||
dhfs.objects.write_log=false
|
dhfs.objects.write_log=false
|
||||||
dhfs.objects.periodic-push-op-interval=5m
|
dhfs.objects.periodic-push-op-interval=5m
|
||||||
dhfs.fuse.root=${HOME}/dhfs_default/fuse
|
dhfs.fuse.root=${HOME}/dhfs_default/fuse
|
||||||
dhfs.objects.persistence.stuff.root=${HOME}/dhfs_default/data/stuff
|
|
||||||
dhfs.fuse.debug=false
|
dhfs.fuse.debug=false
|
||||||
dhfs.fuse.enabled=true
|
dhfs.fuse.enabled=true
|
||||||
dhfs.files.allow_recursive_delete=false
|
dhfs.files.allow_recursive_delete=false
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ abstract public class TempDataProfile implements QuarkusTestProfile {
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
var ret = new HashMap<String, String>();
|
var ret = new HashMap<String, String>();
|
||||||
ret.put("dhfs.objects.persistence.files.root", tempDirWithPrefix.resolve("dhfs_root_test").toString());
|
ret.put("dhfs.objects.persistence.root", tempDirWithPrefix.resolve("dhfs_root_test").toString());
|
||||||
ret.put("dhfs.fuse.root", tempDirWithPrefix.resolve("dhfs_fuse_root_test").toString());
|
ret.put("dhfs.fuse.root", tempDirWithPrefix.resolve("dhfs_fuse_root_test").toString());
|
||||||
getConfigOverrides(ret);
|
getConfigOverrides(ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import java.util.Objects;
|
|||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class TestDataCleaner {
|
public class TestDataCleaner {
|
||||||
@ConfigProperty(name = "dhfs.objects.persistence.files.root")
|
@ConfigProperty(name = "dhfs.objects.persistence.root")
|
||||||
String tempDirectory;
|
String tempDirectory;
|
||||||
|
|
||||||
void init(@Observes @Priority(1) StartupEvent event) throws IOException {
|
void init(@Observes @Priority(1) StartupEvent event) throws IOException {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
dhfs.objects.persistence.files.root=${HOME}/dhfs_data/dhfs_root_test
|
dhfs.objects.persistence.root=${HOME}/dhfs_data/dhfs_root_test
|
||||||
dhfs.objects.root=${HOME}/dhfs_data/dhfs_root_d_test
|
|
||||||
dhfs.fuse.root=${HOME}/dhfs_data/dhfs_fuse_root_test
|
dhfs.fuse.root=${HOME}/dhfs_data/dhfs_fuse_root_test
|
||||||
dhfs.objects.ref_verification=true
|
dhfs.objects.ref_verification=true
|
||||||
dhfs.objects.deletion.delay=0
|
dhfs.objects.deletion.delay=0
|
||||||
|
|||||||
@@ -42,8 +42,7 @@ fi
|
|||||||
--add-exports java.base/sun.nio.ch=ALL-UNNAMED \
|
--add-exports java.base/sun.nio.ch=ALL-UNNAMED \
|
||||||
--add-exports java.base/jdk.internal.access=ALL-UNNAMED \
|
--add-exports java.base/jdk.internal.access=ALL-UNNAMED \
|
||||||
--add-opens=java.base/java.nio=ALL-UNNAMED \
|
--add-opens=java.base/java.nio=ALL-UNNAMED \
|
||||||
-Ddhfs.objects.persistence.files.root="$SCRIPT_DIR"/../data/objects \
|
-Ddhfs.objects.persistence.root="$SCRIPT_DIR"/../data \
|
||||||
-Ddhfs.objects.persistence.stuff.root="$SCRIPT_DIR"/../data/stuff \
|
|
||||||
-Ddhfs.fuse.root="$SCRIPT_DIR"/../fuse \
|
-Ddhfs.fuse.root="$SCRIPT_DIR"/../fuse \
|
||||||
-Dquarkus.http.host=0.0.0.0 \
|
-Dquarkus.http.host=0.0.0.0 \
|
||||||
-Dquarkus.log.category.\"com.usatiuk\".level=INFO \
|
-Dquarkus.log.category.\"com.usatiuk\".level=INFO \
|
||||||
|
|||||||
Reference in New Issue
Block a user