diff options
author | 2016-05-20 14:35:37 +0000 | |
---|---|---|
committer | 2016-05-20 14:42:56 +0000 | |
commit | c1b417549cf4ba719662f7562e99e807c606eae7 (patch) | |
tree | 727a67d211ecc9a5e053b4b6f921681d9107c23f /src/main/java/com/google/devtools/build/lib | |
parent | 90d30e575bea52c4e5eb8db9c9b7e67c6673315d (diff) |
Remote worker to listen to a specific port for Hazelcast
This change allows starting remote worker with an embedded hazelcast server that listens to
a specific port. This allows test to run reliably.
Fixes #1271.
--
Change-Id: I0bb36af5837f83cad3d76b8acb50f89cd599ee87
Reviewed-on: https://bazel-review.googlesource.com/c/3650/
MOS_MIGRATED_REVID=122829898
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/remote/HazelcastCacheFactory.java | 10 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/remote/HazelcastCacheFactory.java b/src/main/java/com/google/devtools/build/lib/remote/HazelcastCacheFactory.java index f4e34867e1..af7da29be6 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/HazelcastCacheFactory.java +++ b/src/main/java/com/google/devtools/build/lib/remote/HazelcastCacheFactory.java @@ -17,6 +17,7 @@ package com.google.devtools.build.lib.remote; import com.hazelcast.client.HazelcastClient; import com.hazelcast.client.config.ClientConfig; import com.hazelcast.client.config.ClientNetworkConfig; +import com.hazelcast.config.Config; import com.hazelcast.core.Hazelcast; import com.hazelcast.core.HazelcastInstance; @@ -38,6 +39,15 @@ public final class HazelcastCacheFactory { ClientNetworkConfig net = config.getNetworkConfig(); net.addAddress(options.hazelcastNode.split(",")); instance = HazelcastClient.newHazelcastClient(config); + } else if (options.hazelcastStandaloneListenPort != 0) { + Config config = new Config(); + config + .getNetworkConfig() + .setPort(options.hazelcastStandaloneListenPort) + .getJoin() + .getMulticastConfig() + .setEnabled(false); + instance = Hazelcast.newHazelcastInstance(config); } else { // Otherwise create a default instance. This is going to look at // -Dhazelcast.config=some-hazelcast.xml for configuration. diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java index 5ca8abf3c3..4116a931b0 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java +++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java @@ -30,6 +30,16 @@ public final class RemoteOptions extends OptionsBase { public String hazelcastNode; @Option( + name = "hazelcast_standalone_listen_port", + defaultValue = "0", + category = "build_worker", + help = + "Runs an embedded hazelcast server that listens to this port. The server does not join" + + " any cluster. This is useful for testing." + ) + public int hazelcastStandaloneListenPort; + + @Option( name = "remote_worker", defaultValue = "null", category = "remote", |