Skip to content

Commit ff60305

Browse files
authored
Merge pull request #286 from /issues/285/member-host-port
Deprecated memberHost/Port; added instead mappedHost/Port
2 parents 1adb6d6 + 4bd74b1 commit ff60305

File tree

4 files changed

+90
-20
lines changed

4 files changed

+90
-20
lines changed

cluster-api/src/main/java/io/scalecube/cluster/ClusterConfig.java

Lines changed: 82 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ public final class ClusterConfig implements Cloneable {
3636
private MetadataDecoder metadataDecoder = MetadataDecoder.INSTANCE;
3737

3838
private String memberAlias;
39-
private String memberHost;
40-
private Integer memberPort;
39+
private String containerHost;
40+
private Integer containerPort;
4141

4242
private TransportConfig transportConfig = TransportConfig.defaultConfig();
4343
private FailureDetectorConfig failureDetectorConfig = FailureDetectorConfig.defaultConfig();
@@ -152,28 +152,67 @@ public ClusterConfig metadataDecoder(MetadataDecoder metadataDecoder) {
152152
return c;
153153
}
154154

155+
/**
156+
* Deprecated since {@code 2.4.10} in favor of {@link #containerHost()}.
157+
*
158+
* @return member host
159+
*/
160+
@Deprecated
155161
public String memberHost() {
156-
return memberHost;
162+
return containerHost;
157163
}
158164

159165
/**
160-
* Sets a memberHost.
166+
* Deprecated since {@code 2.4.10} in favor of {@link #containerHost(String)}.
161167
*
162168
* @param memberHost member host
163169
* @return new {@code ClusterConfig} instance
164170
*/
171+
@Deprecated
165172
public ClusterConfig memberHost(String memberHost) {
166173
ClusterConfig c = clone();
167-
c.memberHost = memberHost;
174+
c.containerHost = memberHost;
175+
return c;
176+
}
177+
178+
/**
179+
* Returns mappedHost. {@code mappedHost} is a config property for container environments, it's
180+
* being set for advertising to scalecube cluster some connectable hostname which maps to
181+
* scalecube transport's hostname on which scalecube transport is listening.
182+
*
183+
* @return mapped host
184+
*/
185+
public String containerHost() {
186+
return containerHost;
187+
}
188+
189+
/**
190+
* Setter for mappedHost. {@code mappedHost} is a config property for container environments, it's
191+
* being set for advertising to scalecube cluster some connectable hostname which maps to
192+
* scalecube transport's hostname on which scalecube transport is listening.
193+
*
194+
* @param mappedHost mapped host
195+
* @return new {@code ClusterConfig} instance
196+
*/
197+
public ClusterConfig containerHost(String mappedHost) {
198+
ClusterConfig c = clone();
199+
c.containerHost = mappedHost;
168200
return c;
169201
}
170202

203+
/**
204+
* Returns memberAlias. {@code memberAlias} is a config property which facilitates {@link
205+
* io.scalecube.cluster.Member#toString()}.
206+
*
207+
* @return member alias.
208+
*/
171209
public String memberAlias() {
172210
return memberAlias;
173211
}
174212

175213
/**
176-
* Sets a memberAlias.
214+
* Setter for memberAlias. {@code memberAlias} is a config property which facilitates {@link
215+
* io.scalecube.cluster.Member#toString()}.
177216
*
178217
* @param memberAlias member alias
179218
* @return new {@code ClusterConfig} instance
@@ -184,19 +223,51 @@ public ClusterConfig memberAlias(String memberAlias) {
184223
return c;
185224
}
186225

226+
/**
227+
* Returns mappedPort. {@code mappedPort} is a config property for container environments, it's
228+
* being set for advertising to scalecube cluster a port which mapped to scalecube transport's
229+
* listening port.
230+
*
231+
* @return mapped port
232+
*/
233+
public Integer containerPort() {
234+
return containerPort;
235+
}
236+
237+
/**
238+
* Setter for mappedPort. {@code mappedPort} is a config property for container environments, it's
239+
* being set for advertising to scalecube cluster a port which mapped to scalecube transport's
240+
* listening port.
241+
*
242+
* @param mappedPort mapped port
243+
* @return new {@code ClusterConfig} instance
244+
*/
245+
public ClusterConfig containerPort(Integer mappedPort) {
246+
ClusterConfig c = clone();
247+
c.containerPort = mappedPort;
248+
return c;
249+
}
250+
251+
/**
252+
* Deprecated since {@code 2.4.10} in favor of {@link #containerPort()}.
253+
*
254+
* @return member port
255+
*/
256+
@Deprecated
187257
public Integer memberPort() {
188-
return memberPort;
258+
return containerPort;
189259
}
190260

191261
/**
192-
* Sets a memberPort.
262+
* Deprecated since {@code 2.4.10} in favor of {@link #containerPort(Integer)}.
193263
*
194264
* @param memberPort member port
195265
* @return new {@code ClusterConfig} instance
196266
*/
267+
@Deprecated
197268
public ClusterConfig memberPort(Integer memberPort) {
198269
ClusterConfig c = clone();
199-
c.memberPort = memberPort;
270+
c.containerPort = memberPort;
200271
return c;
201272
}
202273

@@ -286,8 +357,8 @@ public String toString() {
286357
.add("metadataEncoder=" + metadataEncoder)
287358
.add("metadataDecoder=" + metadataDecoder)
288359
.add("memberAlias='" + memberAlias + "'")
289-
.add("memberHost='" + memberHost + "'")
290-
.add("memberPort=" + memberPort)
360+
.add("containerHost='" + containerHost + "'")
361+
.add("containerPort=" + containerPort)
291362
.add("transportConfig=" + transportConfig)
292363
.add("failureDetectorConfig=" + failureDetectorConfig)
293364
.add("gossipConfig=" + gossipConfig)

cluster/src/main/java/io/scalecube/cluster/ClusterImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,11 +354,11 @@ private Flux<MembershipEvent> listenMembership() {
354354
* @return local cluster member with cluster address and cluster member id
355355
*/
356356
private Member createLocalMember(Address address) {
357-
int port = Optional.ofNullable(config.memberPort()).orElse(address.port());
357+
int port = Optional.ofNullable(config.containerPort()).orElse(address.port());
358358

359359
// calculate local member cluster address
360360
Address memberAddress =
361-
Optional.ofNullable(config.memberHost())
361+
Optional.ofNullable(config.containerHost())
362362
.map(host -> Address.create(host, port))
363363
.orElseGet(() -> Address.create(address.host(), port));
364364

cluster/src/test/java/io/scalecube/cluster/ClusterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ public void testJoinLocalhostIgnoredWithOverride() throws InterruptedException {
138138

139139
// Start seed node
140140
Cluster seedNode =
141-
new ClusterImpl(new ClusterConfig().memberHost("localhost").memberPort(7878))
141+
new ClusterImpl(new ClusterConfig().containerHost("localhost").containerPort(7878))
142142
.transport(opts -> opts.port(7878).connectTimeout(CONNECT_TIMEOUT))
143143
.membership(opts -> opts.seedMembers(addresses))
144144
.startAwait();

cluster/src/test/java/io/scalecube/cluster/membership/MembershipProtocolTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,6 @@ public void testLeaveClusterOnly() {
177177
assertTrue(cmAEvents.isEmpty());
178178
}
179179

180-
181180
@Test
182181
public void testLeaveClusterOnSuspectedNode() {
183182
final NetworkEmulatorTransport a = createTransport();
@@ -752,19 +751,19 @@ public void testOverrideMemberAddress() throws UnknownHostException {
752751
NetworkEmulatorTransport e = createTransport();
753752

754753
MembershipProtocolImpl cmA =
755-
createMembership(a, testConfig(Collections.emptyList()).memberHost(localAddress));
754+
createMembership(a, testConfig(Collections.emptyList()).containerHost(localAddress));
756755
MembershipProtocolImpl cmB =
757756
createMembership(
758-
b, testConfig(Collections.singletonList(a.address())).memberHost(localAddress));
757+
b, testConfig(Collections.singletonList(a.address())).containerHost(localAddress));
759758
MembershipProtocolImpl cmC =
760759
createMembership(
761-
c, testConfig(Collections.singletonList(a.address())).memberHost(localAddress));
760+
c, testConfig(Collections.singletonList(a.address())).containerHost(localAddress));
762761
MembershipProtocolImpl cmD =
763762
createMembership(
764-
d, testConfig(Collections.singletonList(b.address())).memberHost(localAddress));
763+
d, testConfig(Collections.singletonList(b.address())).containerHost(localAddress));
765764
MembershipProtocolImpl cmE =
766765
createMembership(
767-
e, testConfig(Collections.singletonList(b.address())).memberHost(localAddress));
766+
e, testConfig(Collections.singletonList(b.address())).containerHost(localAddress));
768767

769768
try {
770769
awaitSeconds(3);

0 commit comments

Comments
 (0)