diff --git a/dhfs-parent/dhfs-fs/src/main/resources/application.properties b/dhfs-parent/dhfs-fs/src/main/resources/application.properties index f3000b63..e09ec987 100644 --- a/dhfs-parent/dhfs-fs/src/main/resources/application.properties +++ b/dhfs-parent/dhfs-fs/src/main/resources/application.properties @@ -1,7 +1,5 @@ quarkus.grpc.server.use-separate-server=false -dhfs.objects.peerdiscovery.port=42069 dhfs.objects.peerdiscovery.interval=4s -dhfs.objects.peerdiscovery.broadcast=true dhfs.objects.sync.timeout=30 dhfs.objects.sync.ping.timeout=5 dhfs.objects.invalidation.threads=16 diff --git a/dhfs-parent/dhfs-fuse/src/main/resources/application.properties b/dhfs-parent/dhfs-fuse/src/main/resources/application.properties index 9336d477..f5d79725 100644 --- a/dhfs-parent/dhfs-fuse/src/main/resources/application.properties +++ b/dhfs-parent/dhfs-fuse/src/main/resources/application.properties @@ -1,7 +1,5 @@ quarkus.grpc.server.use-separate-server=false -dhfs.objects.peerdiscovery.port=42069 dhfs.objects.peerdiscovery.interval=4s -dhfs.objects.peerdiscovery.broadcast=true dhfs.objects.sync.timeout=30 dhfs.objects.sync.ping.timeout=5 dhfs.objects.invalidation.threads=16 diff --git a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryBroadcaster.java b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryBroadcaster.java index 683b7582..73f56154 100644 --- a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryBroadcaster.java +++ b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryBroadcaster.java @@ -23,6 +23,8 @@ import java.net.*; public class LocalPeerDiscoveryBroadcaster { @Inject PersistentPeerDataService persistentPeerDataService; + @Inject + LocalPeerDiscoveryConfig localPeerDiscoveryConfig; @ConfigProperty(name = "quarkus.http.port") int ourPort; @@ -30,17 +32,11 @@ public class LocalPeerDiscoveryBroadcaster { @ConfigProperty(name = "quarkus.http.ssl-port") int ourSecurePort; - @ConfigProperty(name = "dhfs.objects.peerdiscovery.port") - int broadcastPort; - - @ConfigProperty(name = "dhfs.objects.peerdiscovery.broadcast") - boolean enabled; - private DatagramSocket _socket; @Startup void init() throws SocketException { - if (!enabled) { + if (!localPeerDiscoveryConfig.broadcast()) { return; } _socket = new DatagramSocket(); @@ -48,7 +44,7 @@ public class LocalPeerDiscoveryBroadcaster { } void shutdown(@Observes @Priority(10) ShutdownEvent event) { - if (!enabled) { + if (!localPeerDiscoveryConfig.broadcast()) { return; } _socket.close(); @@ -56,7 +52,7 @@ public class LocalPeerDiscoveryBroadcaster { @Scheduled(every = "${dhfs.objects.peerdiscovery.interval}", concurrentExecution = Scheduled.ConcurrentExecution.SKIP, skipExecutionIf = Scheduled.ApplicationNotRunning.class) public void broadcast() throws Exception { - if (!enabled) { + if (!localPeerDiscoveryConfig.broadcast()) { return; } var sendData = PeerDiscoveryInfo.newBuilder() @@ -69,7 +65,7 @@ public class LocalPeerDiscoveryBroadcaster { DatagramPacket sendPacket = new DatagramPacket(sendBytes, sendBytes.length, - InetAddress.getByName("255.255.255.255"), broadcastPort); + InetAddress.getByName("255.255.255.255"), localPeerDiscoveryConfig.port()); _socket.send(sendPacket); @@ -92,15 +88,13 @@ public class LocalPeerDiscoveryBroadcaster { } try { - sendPacket = new DatagramPacket(sendBytes, sendBytes.length, broadcast, broadcastPort); + sendPacket = new DatagramPacket(sendBytes, sendBytes.length, broadcast, localPeerDiscoveryConfig.port()); _socket.send(sendPacket); Log.tracev("Broadcast sent to: {0}, at: {1}", broadcast.getHostAddress(), networkInterface.getDisplayName()); } catch (Exception ignored) { continue; } -// Log.trace(getClass().getName() + "Broadcast sent to: " + broadcast.getHostAddress() -// + ", at: " + networkInterface.getDisplayName()); } } } diff --git a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryClient.java b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryClient.java index 0076d1c4..51f2a37a 100644 --- a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryClient.java +++ b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryClient.java @@ -14,7 +14,6 @@ import jakarta.annotation.Priority; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Observes; import jakarta.inject.Inject; -import org.eclipse.microprofile.config.inject.ConfigProperty; import java.net.*; import java.nio.ByteBuffer; @@ -28,17 +27,19 @@ import java.nio.ByteBuffer; public class LocalPeerDiscoveryClient { @Inject PeerDiscoveryDirectory peerDiscoveryDirectory; - @ConfigProperty(name = "dhfs.objects.peerdiscovery.broadcast") - boolean enabled; + @Inject + LocalPeerDiscoveryConfig localPeerDiscoveryConfig; + ; + private Thread _clientThread; private DatagramSocket _socket; @Startup void init() throws SocketException, UnknownHostException { - if (!enabled) { + if (!localPeerDiscoveryConfig.broadcast()) { return; } - _socket = new DatagramSocket(42069, InetAddress.getByName("0.0.0.0")); + _socket = new DatagramSocket(localPeerDiscoveryConfig.port(), InetAddress.getByName("0.0.0.0")); _socket.setBroadcast(true); _clientThread = new Thread(this::client); @@ -47,7 +48,7 @@ public class LocalPeerDiscoveryClient { } void shutdown(@Observes @Priority(10) ShutdownEvent event) throws InterruptedException { - if (!enabled) { + if (!localPeerDiscoveryConfig.broadcast()) { return; } _socket.close(); diff --git a/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryConfig.java b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryConfig.java new file mode 100644 index 00000000..90e7a6b3 --- /dev/null +++ b/dhfs-parent/sync-base/src/main/java/com/usatiuk/dhfs/peerdiscovery/local/LocalPeerDiscoveryConfig.java @@ -0,0 +1,16 @@ +package com.usatiuk.dhfs.peerdiscovery.local; + + +import io.smallrye.config.ConfigMapping; +import io.smallrye.config.WithDefault; + +@ConfigMapping(prefix = "dhfs.objects.peerdiscovery") +public interface LocalPeerDiscoveryConfig { + @WithDefault("42168") + int port(); + + @WithDefault("true") + boolean broadcast(); + + String interval(); +} diff --git a/dhfs-parent/sync-base/src/main/resources/application.properties b/dhfs-parent/sync-base/src/main/resources/application.properties index f3000b63..e09ec987 100644 --- a/dhfs-parent/sync-base/src/main/resources/application.properties +++ b/dhfs-parent/sync-base/src/main/resources/application.properties @@ -1,7 +1,5 @@ quarkus.grpc.server.use-separate-server=false -dhfs.objects.peerdiscovery.port=42069 dhfs.objects.peerdiscovery.interval=4s -dhfs.objects.peerdiscovery.broadcast=true dhfs.objects.sync.timeout=30 dhfs.objects.sync.ping.timeout=5 dhfs.objects.invalidation.threads=16 diff --git a/run-wrapper/run b/run-wrapper/run index aab6b250..d7ca4741 100755 --- a/run-wrapper/run +++ b/run-wrapper/run @@ -37,8 +37,8 @@ fi "$JAVA_EXEC" \ -Xmx512M \ --enable-preview \ - -Ddhfs.objects.writeback.limit=134217728 \ - -Ddhfs.objects.lru.limit=134217728 \ + -Ddhfs.objects.writeback.limit=16777216 \ + -Ddhfs.objects.lru.limit=67108864 \ --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 \ diff --git a/run-wrapper/run.ps1 b/run-wrapper/run.ps1 index 9d9bfc3e..09b3bf52 100644 --- a/run-wrapper/run.ps1 +++ b/run-wrapper/run.ps1 @@ -24,8 +24,8 @@ Write-Host "Extra options: $($ExtraOptsParsed -join ' ')" $JAVA_OPTS = @( "-Xmx512M" "--enable-preview" - "-Ddhfs.objects.writeback.limit=134217728" - "-Ddhfs.objects.lru.limit=134217728" + "-Ddhfs.objects.writeback.limit=16777216" + "-Ddhfs.objects.lru.limit=67108864" "--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"