Commit ac98241b authored by mohammad.salama's avatar mohammad.salama

GRPC and Distributed Search and Auto Recovery working good

parent 133d4005
......@@ -10,21 +10,26 @@
</component>
<component name="ChangeListManager">
<list default="true" id="b8bcd35c-99f3-44c8-a866-59f81c3c8bd0" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/src/main/java/GRPCConnection/GRPCClient/GRPCClient.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/WebSide/WebClient.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/WebSide/WebServer.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/GRPCConnection/GRPCServiceStart.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/application.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/logs/app.log" beforeDir="false" afterPath="$PROJECT_DIR$/logs/app.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/artifacts/Distributed_Search_jar/Distributed-Search.jar" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/GRPCConnection/GRPCClient/GRPCClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/GRPCConnection/GRPCClient/GRPCClient.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/GRPCConnection/GRPCServer/GRPCServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/GRPCConnection/GRPCServer/GRPCServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/GRPCConnection/Main.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/WebSide/WebClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/WebSide/WebClient.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/WebSide/WebServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/WebSide/WebServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Application.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Application.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Coordinator.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Coordinator.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/ServiceRegistry.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/ServiceRegistry.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/GRPCConnection/GRPCClient/GRPCClient.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/GRPCConnection/GRPCServer/GRPCServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/GRPCConnection/GRPCServer/GRPCServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/GRPCConnection/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/GRPCConnection/Main.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/GRPCConnection/GRPCClient/GRPCClient.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/GRPCConnection/GRPCClient/GRPCClient.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/GRPCConnection/GRPCServer/GRPCServer.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/GRPCConnection/GRPCServer/GRPCServer.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/GRPCConnection/Main.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Application.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Application.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Coordinator$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Coordinator$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Coordinator.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/Coordinator.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/ServiceRegistry$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/ServiceRegistry$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/ServiceRegistry.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/ServiceRegistry.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/AutoHealerAndClusterSearch/GRPCConnection/Main.class" beforeDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......@@ -66,7 +71,7 @@
&quot;SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
&quot;ToolWindowRun.ShowToolbar&quot;: &quot;false&quot;,
&quot;jdk.selected.JAVA_MODULE&quot;: &quot;17 (2)&quot;,
&quot;last_opened_file_path&quot;: &quot;D:/HIAST/FIY/FS/Distributed Systems/Lab/8/Distributed-Search/src/main/java&quot;,
&quot;last_opened_file_path&quot;: &quot;D:/HIAST/FIY/FS/Distributed Systems/Lab/4/HomeWork&quot;,
&quot;project.structure.last.edited&quot;: &quot;Artifacts&quot;,
&quot;project.structure.proportion&quot;: &quot;0.15&quot;,
&quot;project.structure.side.proportion&quot;: &quot;0.2&quot;,
......@@ -95,20 +100,7 @@
<command value="mvn clean install" />
</option>
</component>
<component name="RunManager" selected="Application.Node1">
<configuration name="Main" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="org.AutoHealerAndClusterSearch.GRPCConnection.Main" />
<module name="Distributed-Search" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="org.AutoHealerAndClusterSearch.GRPCConnection.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<component name="RunManager">
<configuration name="Node1" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application" />
<module name="Distributed-Search" />
......@@ -130,13 +122,6 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Node4" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application" />
<module name="Distributed-Search" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Distributed-Search.jar" type="JarApplication" temporary="true">
<option name="JAR_PATH" value="$PROJECT_DIR$/out/artifacts/Distributed_Search_jar/Distributed-Search.jar" />
<method v="2" />
......@@ -145,14 +130,11 @@
<item itemvalue="Application.Node1" />
<item itemvalue="Application.Node2" />
<item itemvalue="Application.Node3" />
<item itemvalue="Application.Node4" />
<item itemvalue="Application.Main" />
<item itemvalue="JAR Application.Distributed-Search.jar" />
</list>
<recent_temporary>
<list>
<item itemvalue="JAR Application.Distributed-Search.jar" />
<item itemvalue="Application.Main" />
</list>
</recent_temporary>
</component>
......@@ -181,4 +163,20 @@
</map>
</option>
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/GRPCConnection/GRPCServer/GRPCServer.java</url>
<line>41</line>
<option name="timeStamp" value="1" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/org/AutoHealerAndClusterSearch/AutoHealerAndClusterSearch/ServiceRegistry.java</url>
<line>122</line>
<option name="timeStamp" value="10" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project>
\ No newline at end of file
......@@ -155,3 +155,452 @@
2024-01-29 09:44:50,406 DEBUG org.AutoHealerAndClusterSearch.GRPCConnection.Main [main] Running with Spring Boot v2.6.8, Spring v5.3.20
2024-01-29 09:44:50,408 INFO org.AutoHealerAndClusterSearch.GRPCConnection.Main [main] No active profile set, falling back to 1 default profile: "default"
2024-01-29 09:44:52,777 INFO org.AutoHealerAndClusterSearch.GRPCConnection.Main [main] Started Main in 3.099 seconds (JVM running for 4.058)
2024-01-29 15:59:54,386 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 15:59:54,418 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000143
2024-01-29 15:59:54,424 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 15:59:54,426 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 15:59:54,429 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:00:05,484 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:00:05,501 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000144
2024-01-29 16:00:05,506 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:00:05,512 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:00:05,517 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 32
2024-01-29 16:00:16,377 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:00:16,398 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000145
2024-01-29 16:00:16,403 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:00:16,409 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:00:16,415 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 36
2024-01-29 16:00:26,556 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:00:26,591 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000146
2024-01-29 16:00:26,595 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:00:26,602 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:00:26,607 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 987
2024-01-29 16:01:05,765 ERROR io.grpc.internal.SerializingExecutor [grpc-default-executor-0] Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@33bff822
java.lang.NullPointerException: Cannot invoke "org.apache.zookeeper.ZooKeeper.getChildren(String, boolean)" because "org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.zooKeeper" is null
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.spreadQuery(Coordinator.java:236)
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.search(Coordinator.java:42)
at GRPCConnection.GRPCServer.GRPCServer.search(GRPCServer.java:48)
at org.AutoHealerAndClusterSearch.SearchServiceGrpc$MethodHandlers.invoke(SearchServiceGrpc.java:204)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:352)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-01-29 16:05:19,499 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:05:19,522 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000147
2024-01-29 16:05:19,526 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:05:19,528 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:05:19,531 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:05:22,711 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:05:22,729 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000148
2024-01-29 16:05:22,732 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:05:22,738 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:05:22,743 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 54
2024-01-29 16:05:49,755 ERROR io.grpc.internal.SerializingExecutor [grpc-default-executor-0] Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@33bff822
java.lang.NullPointerException: Cannot invoke "org.apache.zookeeper.ZooKeeper.getChildren(String, boolean)" because "org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.zooKeeper" is null
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.spreadQuery(Coordinator.java:236)
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.search(Coordinator.java:42)
at GRPCConnection.GRPCServer.GRPCServer.search(GRPCServer.java:48)
at org.AutoHealerAndClusterSearch.SearchServiceGrpc$MethodHandlers.invoke(SearchServiceGrpc.java:204)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:352)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-01-29 16:08:46,555 ERROR io.grpc.internal.SerializingExecutor [grpc-default-executor-0] Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@474f4fa2
java.lang.NullPointerException: Cannot invoke "org.apache.zookeeper.ZooKeeper.getChildren(String, boolean)" because "org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.zooKeeper" is null
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.spreadQuery(Coordinator.java:236)
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.search(Coordinator.java:42)
at GRPCConnection.GRPCServer.GRPCServer.search(GRPCServer.java:48)
at org.AutoHealerAndClusterSearch.SearchServiceGrpc$MethodHandlers.invoke(SearchServiceGrpc.java:204)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:352)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-01-29 16:14:57,661 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:14:57,679 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000149
2024-01-29 16:14:57,683 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:14:57,685 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:14:57,687 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:15:03,687 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:15:03,703 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000150
2024-01-29 16:15:03,707 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:15:03,713 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:15:03,721 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 123
2024-01-29 16:15:06,857 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:15:06,874 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000151
2024-01-29 16:15:06,878 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:15:06,885 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:15:06,892 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 874
2024-01-29 16:15:27,226 ERROR io.grpc.internal.SerializingExecutor [grpc-default-executor-0] Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@33bff822
java.lang.NullPointerException: Cannot invoke "org.apache.zookeeper.ZooKeeper.getChildren(String, boolean)" because "org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.zooKeeper" is null
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.spreadQuery(Coordinator.java:236)
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.search(Coordinator.java:42)
at GRPCConnection.GRPCServer.GRPCServer.search(GRPCServer.java:48)
at org.AutoHealerAndClusterSearch.SearchServiceGrpc$MethodHandlers.invoke(SearchServiceGrpc.java:204)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:352)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-01-29 16:18:06,324 ERROR io.grpc.internal.SerializingExecutor [grpc-default-executor-0] Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@16b54cfb
java.lang.NullPointerException: Cannot invoke "org.apache.zookeeper.ZooKeeper.getChildren(String, boolean)" because "org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.zooKeeper" is null
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.spreadQuery(Coordinator.java:236)
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.search(Coordinator.java:42)
at GRPCConnection.GRPCServer.GRPCServer.search(GRPCServer.java:48)
at org.AutoHealerAndClusterSearch.SearchServiceGrpc$MethodHandlers.invoke(SearchServiceGrpc.java:204)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:352)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-01-29 16:19:00,105 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:19:00,119 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000152
2024-01-29 16:19:00,121 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:19:00,124 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:19:00,127 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:19:02,927 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:19:02,942 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000153
2024-01-29 16:19:02,945 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:19:02,950 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:19:02,954 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 34
2024-01-29 16:19:46,181 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:19:46,215 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000154
2024-01-29 16:19:46,220 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:19:46,225 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:19:46,230 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:19:50,112 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:19:50,132 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000155
2024-01-29 16:19:50,135 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:19:50,145 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:19:50,151 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 34
2024-01-29 16:19:50,392 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main-EventThread] I am LEADER
2024-01-29 16:19:50,401 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: []
2024-01-29 16:19:50,404 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] Registered to be Coordinator and I am Master !
2024-01-29 16:20:32,438 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:22:31,067 ERROR io.grpc.internal.SerializingExecutor [grpc-default-executor-0] Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@6d5d9576
java.lang.NullPointerException: Cannot invoke "org.apache.zookeeper.ZooKeeper.getChildren(String, boolean)" because "org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.zooKeeper" is null
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.spreadQuery(Coordinator.java:236)
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.search(Coordinator.java:42)
at GRPCConnection.GRPCServer.GRPCServer.search(GRPCServer.java:48)
at org.AutoHealerAndClusterSearch.SearchServiceGrpc$MethodHandlers.invoke(SearchServiceGrpc.java:204)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:352)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-01-29 16:25:21,738 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:25:21,762 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000156
2024-01-29 16:25:21,766 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:25:21,768 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:25:21,771 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:25:26,469 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:25:26,495 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000157
2024-01-29 16:25:26,499 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:25:26,502 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:25:26,506 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:26:17,701 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:27:16,966 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:27:16,990 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000158
2024-01-29 16:27:16,994 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:27:16,997 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:27:17,000 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:27:46,795 ERROR io.grpc.internal.SerializingExecutor [grpc-default-executor-0] Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@69eb84cd
java.lang.NullPointerException: Cannot invoke "org.apache.zookeeper.ZooKeeper.getChildren(String, boolean)" because "org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.zooKeeper" is null
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.spreadQuery(Coordinator.java:242)
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.search(Coordinator.java:48)
at GRPCConnection.GRPCServer.GRPCServer.search(GRPCServer.java:48)
at org.AutoHealerAndClusterSearch.SearchServiceGrpc$MethodHandlers.invoke(SearchServiceGrpc.java:204)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:352)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-01-29 16:31:58,381 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:31:58,403 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000159
2024-01-29 16:31:58,408 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:31:58,410 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:31:58,413 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:32:03,088 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:32:03,108 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000160
2024-01-29 16:32:03,112 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:32:03,115 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:32:03,123 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 54
2024-01-29 16:32:04,354 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main-EventThread] I am LEADER
2024-01-29 16:32:04,362 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: []
2024-01-29 16:32:04,365 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] Registered to be Coordinator and I am Master !
2024-01-29 16:32:10,037 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:32:10,057 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000161
2024-01-29 16:32:10,062 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:32:10,067 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:32:10,075 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 78
2024-01-29 16:32:10,351 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main-EventThread] I am LEADER
2024-01-29 16:32:10,359 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: []
2024-01-29 16:32:10,363 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] Registered to be Coordinator and I am Master !
2024-01-29 16:32:28,751 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:35:26,347 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:35:26,378 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:36:35,737 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:36:35,757 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000162
2024-01-29 16:36:35,761 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:36:35,762 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:36:35,765 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:36:39,690 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:36:39,712 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000163
2024-01-29 16:36:39,716 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:37:35,661 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:37:55,150 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:38:13,933 ERROR org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.OnElectionAction [main] Could Not Register To Cluster
2024-01-29 16:38:39,767 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] Watching znode c_0000000162 in ELECTION
2024-01-29 16:38:51,295 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:38:51,330 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000164
2024-01-29 16:38:51,336 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:38:51,339 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:38:51,343 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:38:53,924 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:38:53,950 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000165
2024-01-29 16:38:53,954 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:39:01,778 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:39:10,773 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 16:40:06,612 ERROR org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.OnElectionAction [main] Could Not Register To Cluster
2024-01-29 16:40:06,626 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] Watching znode c_0000000164 in ELECTION
2024-01-29 16:43:56,422 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:43:56,442 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000166
2024-01-29 16:43:56,446 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 16:43:56,448 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 16:43:56,452 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 16:43:58,390 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 16:43:58,409 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000167
2024-01-29 16:43:58,412 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 16:43:58,417 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 16:43:58,422 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 12
2024-01-29 19:19:22,549 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:19:22,740 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000168
2024-01-29 19:19:22,763 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:19:22,778 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:19:22,795 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:19:26,261 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:19:26,303 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000169
2024-01-29 19:19:26,310 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:19:58,194 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 19:20:03,812 ERROR org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.OnElectionAction [main] Could Not Register To Cluster
2024-01-29 19:20:10,509 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] Watching znode c_0000000168 in ELECTION
2024-01-29 19:20:28,967 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:20:29,038 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000170
2024-01-29 19:20:29,053 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:20:29,072 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:20:29,089 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 56
2024-01-29 19:21:25,664 ERROR io.grpc.internal.SerializingExecutor [grpc-default-executor-0] Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@4a9fedc
java.lang.NullPointerException: Cannot invoke "java.util.List.isEmpty()" because "physicalZnodesAddresses" is null
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.spreadQuery(Coordinator.java:216)
at org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator.search(Coordinator.java:28)
at GRPCConnection.GRPCServer.GRPCServer.search(GRPCServer.java:42)
at org.AutoHealerAndClusterSearch.SearchServiceGrpc$MethodHandlers.invoke(SearchServiceGrpc.java:204)
at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:352)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-01-29 19:26:35,418 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:26:35,485 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000171
2024-01-29 19:26:35,491 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:26:35,495 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:26:35,500 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:26:36,343 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Starting Application using Java 17.0.5 on M-Salameh with PID 3704 (D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search\target\classes started by M_Salameh in D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search)
2024-01-29 19:26:36,344 DEBUG org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Running with Spring Boot v2.6.8, Spring v5.3.20
2024-01-29 19:26:36,344 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] No active profile set, falling back to 1 default profile: "default"
2024-01-29 19:26:38,862 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Started Application in 3.151 seconds (JVM running for 10.249)
2024-01-29 19:26:44,138 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:26:44,186 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000172
2024-01-29 19:26:44,195 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:26:44,211 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:26:44,225 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 685
2024-01-29 19:26:56,561 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator [grpc-default-executor-0] No Nodes Are Working , Search Cannot Be Done
2024-01-29 19:27:57,345 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator [grpc-default-executor-1] No Nodes Are Working , Search Cannot Be Done
2024-01-29 19:28:26,512 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:28:26,545 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000173
2024-01-29 19:28:26,551 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:28:26,554 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:28:26,558 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:28:27,612 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Starting Application using Java 17.0.5 on M-Salameh with PID 15004 (D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search\target\classes started by M_Salameh in D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search)
2024-01-29 19:28:27,613 DEBUG org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Running with Spring Boot v2.6.8, Spring v5.3.20
2024-01-29 19:28:27,614 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] No active profile set, falling back to 1 default profile: "default"
2024-01-29 19:28:30,218 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Started Application in 3.43 seconds (JVM running for 8.866)
2024-01-29 19:29:02,611 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:29:02,638 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000174
2024-01-29 19:29:02,644 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:29:02,647 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:29:02,651 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:29:03,484 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Starting Application using Java 17.0.5 on M-Salameh with PID 13764 (D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search\target\classes started by M_Salameh in D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search)
2024-01-29 19:29:03,485 DEBUG org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Running with Spring Boot v2.6.8, Spring v5.3.20
2024-01-29 19:29:03,485 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] No active profile set, falling back to 1 default profile: "default"
2024-01-29 19:29:05,628 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Started Application in 2.779 seconds (JVM running for 7.219)
2024-01-29 19:29:13,497 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:29:13,526 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000175
2024-01-29 19:29:13,531 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:29:13,537 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:29:13,544 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 68
2024-01-29 19:30:53,512 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:30:53,538 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000176
2024-01-29 19:30:53,543 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:30:53,546 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:30:53,550 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:30:54,999 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Starting Application using Java 17.0.5 on M-Salameh with PID 3900 (D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search\target\classes started by M_Salameh in D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search)
2024-01-29 19:30:55,001 DEBUG org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Running with Spring Boot v2.6.8, Spring v5.3.20
2024-01-29 19:30:55,003 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] No active profile set, falling back to 1 default profile: "default"
2024-01-29 19:30:57,548 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Started Application in 3.605 seconds (JVM running for 7.372)
2024-01-29 19:31:14,021 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:31:14,049 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000177
2024-01-29 19:31:14,055 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:31:14,061 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:31:14,069 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 784
2024-01-29 19:31:51,719 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator [grpc-default-executor-0] No Nodes Are Working , Search Cannot Be Done
2024-01-29 19:36:34,546 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:36:34,589 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000178
2024-01-29 19:36:34,596 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:36:34,602 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:36:34,608 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:36:40,498 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:36:40,523 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000179
2024-01-29 19:36:40,527 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:36:40,535 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:36:40,541 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 68
2024-01-29 19:42:35,464 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:42:35,493 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000180
2024-01-29 19:42:35,499 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:42:35,501 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:42:35,505 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:42:42,534 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:42:42,557 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000181
2024-01-29 19:42:42,562 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:42:42,565 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:42:42,569 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:43:49,721 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 19:44:19,493 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:44:19,539 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000182
2024-01-29 19:44:19,547 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:44:19,551 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:44:19,557 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:45:04,946 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Disconnected from Zookeeper
2024-01-29 19:45:21,593 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:45:21,656 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000183
2024-01-29 19:45:21,669 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:45:21,677 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:45:21,688 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:45:29,863 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:45:29,891 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000184
2024-01-29 19:45:29,897 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:45:29,906 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:45:29,913 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 7857
2024-01-29 19:47:50,911 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:47:50,935 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000185
2024-01-29 19:47:50,940 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:47:50,943 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:47:50,946 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:49:41,490 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:49:41,512 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000186
2024-01-29 19:49:41,516 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:49:41,522 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:49:41,529 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 998
2024-01-29 19:51:15,348 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:51:15,373 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000187
2024-01-29 19:51:15,377 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:51:15,380 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:51:15,384 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:51:17,714 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:51:17,741 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000188
2024-01-29 19:51:17,747 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:51:17,753 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:51:17,761 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 69
2024-01-29 19:53:47,617 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:53:47,645 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000189
2024-01-29 19:53:47,650 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:53:47,653 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:53:47,657 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:53:54,200 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:53:54,233 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000190
2024-01-29 19:53:54,238 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:53:54,247 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:53:54,255 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 7989
2024-01-29 19:53:54,266 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: [127.0.0.1:7989]
2024-01-29 19:54:38,650 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:54:38,687 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000191
2024-01-29 19:54:38,692 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:54:38,694 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:54:38,698 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:55:05,329 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:55:05,353 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000192
2024-01-29 19:55:05,358 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:55:05,364 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:55:05,373 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 94
2024-01-29 19:55:05,382 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: [127.0.0.1:94]
2024-01-29 19:56:50,269 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:56:50,293 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000193
2024-01-29 19:56:50,298 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:56:50,301 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:56:50,304 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:56:51,438 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Starting Application using Java 17.0.5 on M-Salameh with PID 11412 (D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search\target\classes started by M_Salameh in D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search)
2024-01-29 19:56:51,438 DEBUG org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Running with Spring Boot v2.6.8, Spring v5.3.20
2024-01-29 19:56:51,439 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] No active profile set, falling back to 1 default profile: "default"
2024-01-29 19:56:53,552 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Started Application in 2.958 seconds (JVM running for 7.473)
2024-01-29 19:56:56,220 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:56:56,307 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000194
2024-01-29 19:56:56,319 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:56:56,338 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:56:56,359 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 98
2024-01-29 19:56:56,381 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: [127.0.0.1:98]
2024-01-29 19:57:13,788 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Coordinator connected: /127.0.0.1
2024-01-29 19:58:15,039 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:58:15,052 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000195
2024-01-29 19:58:15,055 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am LEADER
2024-01-29 19:58:15,057 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] The cluster addresses are: []
2024-01-29 19:58:15,060 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to be Coordinator and I am Master !
2024-01-29 19:58:15,564 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Starting Application using Java 17.0.5 on M-Salameh with PID 2016 (D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search\target\classes started by M_Salameh in D:\HIAST\FIY\FS\Distributed Systems\Lab\8\Distributed-Search)
2024-01-29 19:58:15,564 DEBUG org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Running with Spring Boot v2.6.8, Spring v5.3.20
2024-01-29 19:58:15,565 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] No active profile set, falling back to 1 default profile: "default"
2024-01-29 19:58:16,724 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main] Started Application in 1.504 seconds (JVM running for 4.82)
2024-01-29 19:58:21,661 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:58:21,677 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000196
2024-01-29 19:58:21,680 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:58:21,685 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:58:21,692 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 99
2024-01-29 19:58:21,697 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: [127.0.0.1:99]
2024-01-29 19:58:28,607 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Application [main-EventThread] Successfully connected to Zookeeper
2024-01-29 19:58:28,621 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] My Node under Election is/election/c_0000000197
2024-01-29 19:58:28,624 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main] I am NOT LEADER
2024-01-29 19:58:28,629 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main] Registered to service registry
2024-01-29 19:58:28,634 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Server started on port 988
2024-01-29 19:58:28,639 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: [127.0.0.1:988, 127.0.0.1:99]
2024-01-29 19:58:40,789 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Coordinator connected: /127.0.0.1
2024-01-29 19:58:40,789 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Coordinator connected: /127.0.0.1
2024-01-29 19:58:52,728 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.LeaderElection [main-EventThread] I am LEADER
2024-01-29 19:58:52,744 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: [127.0.0.1:988]
2024-01-29 19:58:52,747 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] Registered to be Coordinator and I am Master !
2024-01-29 19:59:01,104 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.TransientWorker [main] Coordinator connected: /127.0.0.1
2024-01-29 19:59:14,721 INFO org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.ServiceRegistry [main-EventThread] The cluster addresses are: []
2024-01-29 19:59:16,911 WARN org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch.Coordinator [grpc-default-executor-0] No Nodes Are Working , Search Cannot Be Done
package GRPCConnection.GRPCClient;
import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
import org.AutoHealerAndClusterSearch.SearchReply;
......@@ -21,7 +22,7 @@ public class GRPCClient
forAddress("localhost" , 6565).
usePlaintext().build();
SearchServiceGrpc.SearchServiceBlockingStub stub = SearchServiceGrpc.newBlockingStub(channel);
SearchRequest request = SearchRequest.newBuilder().setQuery("Hello There !!").build();
SearchRequest request = SearchRequest.newBuilder().setQuery("There is a file to be read be full of kindness").build();
SearchReply reply = stub.search(request);
List<String> stringList = reply.getFilesList();
for (String s: stringList)
......
......@@ -6,13 +6,17 @@ import org.AutoHealerAndClusterSearch.SearchReply;
import org.AutoHealerAndClusterSearch.SearchRequest;
import org.AutoHealerAndClusterSearch.SearchServiceGrpc;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooKeeper;
import org.lognet.springboot.grpc.GRpcService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutionException;
/**
......@@ -20,36 +24,25 @@ import java.util.List;
* it has threads embedded , we must configure the Coordinator only yo
* handle requests sent from here , no need to act like a Server !!
* */
@GRpcService
public class GRPCServer extends SearchServiceGrpc.SearchServiceImplBase
{
private Coordinator coordinator;
/* public GRPCServer(Coordinator coordinator)
{
this.coordinator = coordinator;
}*/
//Logger logger = LoggerFactory.getLogger(GRPCServer.class);
@Override
public void search(SearchRequest request, StreamObserver<SearchReply> responseObserver)
{
//logger.info("Request Has Arrived , Query is :" + request.getQuery());
List<String> ans = new ArrayList<>();
String x = request.getQuery();
ans.add("Sorry Something Went Wrong " + x);
ans.add("replying to : " + x);
/*try
{
ans = coordinator.search(request.getQuery());
try {
ans = Coordinator.search(x);
} catch (IOException | InterruptedException | KeeperException | ExecutionException e) {
throw new RuntimeException(e);
}
catch (IOException | InterruptedException | KeeperException | ExecutionException e)
{
logger.error("Error In GRPC While Getting answers for Query");
//throw new RuntimeException(e);
}*/
SearchReply reply = SearchReply.newBuilder().addAllFiles(ans).build();
responseObserver.onNext(reply);
......
......@@ -3,11 +3,12 @@ package GRPCConnection;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Main
public class GRPCServiceStart
{
public static void main(String[] args)
public static void start()
{
SpringApplication.run(Main.class);
SpringApplication.run(GRPCServiceStart.class);
}
}
......@@ -2,5 +2,5 @@ package WebSide;
public class WebClient
{
}
}
\ No newline at end of file
package WebSide;
public class WebServer {
public class WebServer
{
private final String GRPC_SERVER = "localhost";
private final String Search_End_Point = "/search";
}
......@@ -15,7 +15,7 @@ public class Application implements Watcher
private static final String address = "192.168.184.10:2181";
private static final int SESSION_TIMEOUT = 3000; //dead client
private static final int DEFAULT_PORT = 54321;
//private static final int DEFAULT_PORT = 54321;
private ZooKeeper zooKeeper;
private final Logger logger = LoggerFactory.getLogger(Application.class);
......
......@@ -19,25 +19,12 @@ import java.util.stream.Stream;
public class Coordinator
{
private ZooKeeper zooKeeper;
private static final String PHYSICAL_ZNODES_PATH = "/physical_nodes";
private int COORDINATOR_PORT;
private static String FILES_DIRECTORY = System.getProperty("user.dir") + "/SearchFiles/";;
private static final Logger logger = LoggerFactory.getLogger(Coordinator.class);
private String FILES_DIRECTORY = "";
private final Logger logger = LoggerFactory.getLogger(Coordinator.class);
public Coordinator(ZooKeeper zooKeeper , String SOCKET)
{
this.zooKeeper = zooKeeper;
COORDINATOR_PORT = Integer.parseInt(SOCKET.split(":")[1]);
FILES_DIRECTORY = System.getProperty("user.dir") + "/SearchFiles/";
}
public List<String> search(String query) throws IOException, InterruptedException, KeeperException, ExecutionException {
public static List<String> search(String query) throws IOException, InterruptedException, KeeperException, ExecutionException {
List<SearchQueryResponse> responses = spreadQuery(query);
if (responses == null)
{
......@@ -57,9 +44,7 @@ public class Coordinator
}
private SearchQueryResponse sendRequestToNode(SearchQueryRequest searchQueryRequest, String ipAddress)
private static SearchQueryResponse sendRequestToNode(SearchQueryRequest searchQueryRequest, String ipAddress)
{
SearchQueryResponse searchQueryResponse = null;
String ip = ipAddress.split(":")[0];
......@@ -81,7 +66,7 @@ public class Coordinator
return searchQueryResponse;
}
private void printResponses(List<String> filesAnswer)
private static void printResponses(List<String> filesAnswer)
{
///GRPC Connection
if (filesAnswer.size() == 0)
......@@ -96,8 +81,7 @@ public class Coordinator
}
private void handleClient(String query)
private static void handleClient(String query)
{
try
{
......@@ -136,7 +120,7 @@ public class Coordinator
* Each slave will Send the set of words with their frequency percentage in each file
* and EACH SLAVE HAS A UNIQUE SET OF FILES !!
* */
private Map<String , Double> getFilesScore(List<SearchQueryResponse> respons , String query)
private static Map<String , Double> getFilesScore(List<SearchQueryResponse> respons , String query)
{
if (respons == null) return null;
if (query.isEmpty()) return null;
......@@ -158,7 +142,7 @@ public class Coordinator
return fileScore;
}
private List<String> getFilesInOrder(Map<String , Double> filesScore)
private static List<String> getFilesInOrder(Map<String , Double> filesScore)
{
List<String> files = new ArrayList<>();
if(filesScore == null)
......@@ -186,7 +170,7 @@ public class Coordinator
* Each slave will Send the set of words with their frequency percentage in each file
* and EACH SLAVE HAS A UNIQUE SET OF FILES !!
*/
private Map<String , Double> calculateIDF(List<SearchQueryResponse> respons , String query)
private static Map<String , Double> calculateIDF(List<SearchQueryResponse> respons , String query)
{
Map<String , Double> wordsIDF = new HashMap<>();
int totalNumberOfFiles = countFilesInDirectory();
......@@ -206,7 +190,7 @@ public class Coordinator
}
return wordsIDF;
}
private int countFilesInDirectory()
private static int countFilesInDirectory()
{
try (Stream<Path> files = Files.list(Paths.get(FILES_DIRECTORY)))
{
......@@ -225,45 +209,33 @@ public class Coordinator
* response is map here the keys are words
* and values are list of pair<fileName,Number Of Appearance of the word in it>
* */
public List<SearchQueryResponse> spreadQuery(String query) throws InterruptedException, KeeperException, IOException, ExecutionException
public static List<SearchQueryResponse> spreadQuery(String query) throws InterruptedException, KeeperException, IOException, ExecutionException
{
List<String> physicalZnodes = zooKeeper.getChildren(PHYSICAL_ZNODES_PATH, false);
List<String> physicalZnodesAddresses = ServiceRegistry.getAllServiceAddresses();
if (physicalZnodes.isEmpty())
if (physicalZnodesAddresses.isEmpty())
{
return null;
}
int totalFilesNumber = countFilesInDirectory();
//System.out.println("Files Number = " + totalFilesNumber);
int filesNumberforNode = (totalFilesNumber + physicalZnodes.size()-1)/physicalZnodes.size();
int filesNumberforNode = (totalFilesNumber + physicalZnodesAddresses.size()-1)/physicalZnodesAddresses.size();
int remaining = totalFilesNumber;
int index = 0;
int filesOffset=0;
ExecutorService executorService = Executors.newFixedThreadPool(physicalZnodes.size());
ExecutorService executorService = Executors.newFixedThreadPool(physicalZnodesAddresses.size());
List<Callable<SearchQueryResponse>> tasks = new ArrayList<>();
///distributing Files for NODES!!!
while (remaining > 0)
{
String physicalZnode = physicalZnodes.get(index);
Stat stat = zooKeeper.exists(PHYSICAL_ZNODES_PATH + "/" + physicalZnodes.get(index), false);
if (stat == null) {
logger.warn("Physical Node : " + physicalZnode + " is dowm!");
physicalZnodes.remove(index);
///nodes size ==0 ??
filesNumberforNode = (totalFilesNumber + physicalZnodes.size() - 1) / physicalZnodes.size();
continue;
}
String ipAddress = new String(
zooKeeper.getData(
PHYSICAL_ZNODES_PATH + "/" + physicalZnodes.get(index),
false, stat)
);
String ipAddress = physicalZnodesAddresses.get(index);
SearchQueryRequest searchQueryRequest = new SearchQueryRequest(query , filesNumberforNode , filesOffset);
tasks.add(() -> sendRequestToNode(searchQueryRequest, ipAddress));
index = (1 + index) % physicalZnodes.size();
index = (1 + index) % physicalZnodesAddresses.size();
filesOffset = (filesOffset + filesNumberforNode) % totalFilesNumber;
remaining -= filesNumberforNode;
}
......@@ -280,5 +252,5 @@ public class Coordinator
return respons;
}
}
package org.AutoHealerAndClusterSearch.AutoHealerAndClusterSearch;
import GRPCConnection.GRPCServiceStart;
import org.apache.zookeeper.*;
import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
......@@ -22,9 +23,8 @@ public class ServiceRegistry implements Watcher
private TransientWorker transientWorker = null;
private String currentZnode = null;
private List<String> allServiceAddresses = null;
private int numberOfInstances;
private static List<String> allServiceAddresses = null;
public ServiceRegistry(ZooKeeper zooKeeper)
{
this.zooKeeper = zooKeeper;
......@@ -66,15 +66,20 @@ public class ServiceRegistry implements Watcher
transientWorker = new TransientWorker(metadata);
transientWorker.start();
}
public void registerToCoordinator(String metadata) throws InterruptedException, KeeperException, IOException
{
this.currentZnode = zooKeeper.create(COORDINATOR_ZNODE_PATH + "/coordinator_", metadata.getBytes(),
ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
logger.info("Registered to be Coordinator and I am Master !");
coordinator = new Coordinator(this.zooKeeper , metadata);
//coordinator.start();
//GRPCServer server = new GRPCServer(coordinator);
GRPCServiceStart.start();
/*Thread thread = new Thread(()-> new Runnable() {
@Override
public void run() {
GRPCServiceStart.start();
}
});
thread.start();*/
}
public void registerForUpdates() {
try
......@@ -110,7 +115,7 @@ public class ServiceRegistry implements Watcher
private void updateAddresses() throws KeeperException, InterruptedException
{
List<String> workerZnodes = zooKeeper.getChildren(PHYSICAL_ZNODES_PATH, false);
List<String> workerZnodes = zooKeeper.getChildren(PHYSICAL_ZNODES_PATH, this);
List<String> addresses = new ArrayList<>(workerZnodes.size());
......@@ -131,6 +136,11 @@ public class ServiceRegistry implements Watcher
}
public static List<String> getAllServiceAddresses()
{
return allServiceAddresses;
}
@Override
public void process(WatchedEvent watchedEvent)
{
......@@ -153,91 +163,4 @@ public class ServiceRegistry implements Watcher
}
/*private void launchWorkersIfNecessary() throws KeeperException, InterruptedException, IOException
{
List<String> physicalZnodes = zooKeeper.getChildren(PHYSICAL_ZNODES_PATH, this);
List<String> workers = zooKeeper.getChildren(WORKERS_ZNODES_PATH, this);
for (String worker : workers)
{
Stat stat = zooKeeper.exists(WORKERS_ZNODES_PATH + "/" + worker, false);
if (stat == null) {
workers.remove(worker);
continue;
}
String node = new String(zooKeeper.getData(WORKERS_ZNODES_PATH + "/" + worker, false, stat));
if (!physicalZnodes.contains(node))
{
workers.remove(worker);
}
}
List<String> sortedWorkers = NodeSorting.sort(getOriginalNodes(workers), physicalZnodes);
while (workers.size() > numberOfInstances)
{
Stat stat = zooKeeper.exists(WORKERS_ZNODES_PATH + "/" + workers.get(0), false);
if (stat == null) {
workers.remove(0);
continue;
}
zooKeeper.delete(WORKERS_ZNODES_PATH + "/" + workers.get(0) , -1);
}
int neededInstances = numberOfInstances - workers.size();
if (neededInstances <= 0) return;
int index = 0;
int size = sortedWorkers.size();
while (neededInstances>0
&& size>0)
{
Stat stat = zooKeeper.exists(PHYSICAL_ZNODES_PATH + "/" + sortedWorkers.get(index), false);
if (stat == null)
{
sortedWorkers.remove(index);
size--;
continue;
}
startNewWorker(sortedWorkers.get(index));
neededInstances--;
index = (index + 1) % size;
}
}*/
/*private List<byte[]> getOriginalNodes(List<String> workers) throws InterruptedException, KeeperException {
List<byte[]> ans = new ArrayList<>();
for (String worker : workers)
{
Stat stat = zooKeeper.exists(WORKERS_ZNODES_PATH+"/"+worker ,false);
if (stat == null) continue;
ans.add(zooKeeper.getData(WORKERS_ZNODES_PATH+"/"+worker,false,stat ));
}
return ans;
}*/
/*private void startNewWorker(String physicalNode) throws IOException, InterruptedException, KeeperException
{
String remoteUser = new String(zooKeeper.getData(PHYSICAL_ZNODES_PATH+"/"+physicalNode , false, null));
String remoteJarFilePath = "/root/AutoHealer/Worker.jar"; //+ file.getName();
logger.info("Sending To : " + remoteUser);
String sshCommand = "ssh " + remoteUser + " \"java -jar " + remoteJarFilePath + " " +physicalNode+"\"";
System.out.println(sshCommand);
Runtime.getRuntime().exec(sshCommand);
//long pid=Runtime.getRuntime().exec(sshCommand).pid();
//System.out.println(pid);
}*/
}
grpc.server.port=5678
\ No newline at end of file
grpc.server.port=5678
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment