Skip to content

Commit cd8f98b

Browse files
committed
JAVA-1160: ClusterDescription.getAny now returns any ok server, not just primaries and secondaries. A new method, getAnyPrimaryOrSecondary, has been added for server selectors that will only talk to primaries or secondaries.
1 parent 6f88802 commit cd8f98b

File tree

6 files changed

+165
-92
lines changed

6 files changed

+165
-92
lines changed

src/main/com/mongodb/ClusterDescription.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,22 @@ public boolean apply(final ServerDescription serverDescription) {
139139
}
140140

141141
public List<ServerDescription> getAny() {
142+
return getServersByPredicate(new Predicate() {
143+
public boolean apply(final ServerDescription serverDescription) {
144+
return serverDescription.isOk();
145+
}
146+
});
147+
}
148+
149+
public List<ServerDescription> getAnyPrimaryOrSecondary() {
142150
return getServersByPredicate(new Predicate() {
143151
public boolean apply(final ServerDescription serverDescription) {
144152
return serverDescription.isPrimary() || serverDescription.isSecondary();
145153
}
146154
});
147155
}
148156

149-
public List<ServerDescription> getAny(final Tags tags) {
157+
public List<ServerDescription> getAnyPrimaryOrSecondary(final Tags tags) {
150158
return getServersByPredicate(new Predicate() {
151159
public boolean apply(final ServerDescription serverDescription) {
152160
return (serverDescription.isPrimary() || serverDescription.isSecondary()) && serverDescription.hasTags(tags);

src/main/com/mongodb/ReplicaSetStatus.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class ReplicaSetStatus {
3232
}
3333

3434
public String getName() {
35-
final List<ServerDescription> any = clusterDescription.getAny();
35+
final List<ServerDescription> any = clusterDescription.getAnyPrimaryOrSecondary();
3636
return any.isEmpty() ? null : any.get(0).getSetName();
3737
}
3838

src/main/com/mongodb/TaggableReadPreference.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,12 +198,12 @@ public String getName() {
198198

199199
@Override
200200
List<ServerDescription> getServers(final ClusterDescription clusterDescription) {
201-
return clusterDescription.getAny();
201+
return clusterDescription.getAnyPrimaryOrSecondary();
202202
}
203203

204204
@Override
205205
List<ServerDescription> getServersForTags(final ClusterDescription clusterDescription, final Tags tags) {
206-
return clusterDescription.getAny(tags);
206+
return clusterDescription.getAnyPrimaryOrSecondary(tags);
207207
}
208208
}
209209

0 commit comments

Comments
 (0)