Skip to content

Commit d442bb4

Browse files
committed
Fixed a backwards compatibility bug with request preferences.
This fixes elastic#875 and relates elastic#868
1 parent 2040cde commit d442bb4

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

mr/src/main/java/org/elasticsearch/hadoop/rest/SearchRequestBuilder.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,22 +185,28 @@ private String assemble() {
185185
uriParams.put("_source", StringUtils.concatenateAndUriEncode(StringUtils.tokenize(fields), StringUtils.DEFAULT_DELIMITER));
186186
}
187187

188+
// set shard preference
188189
StringBuilder pref = new StringBuilder();
189190
if (StringUtils.hasText(shard)) {
190191
pref.append("_shards:");
191192
pref.append(shard);
192193
}
193194
if (local) {
194195
if (pref.length() > 0) {
195-
pref.append("|");
196+
if (version.onOrAfter(EsMajorVersion.V_5_X)) {
197+
pref.append("|");
198+
} else {
199+
pref.append(";");
200+
}
196201
}
197202
pref.append("_local");
198203
}
199204

200205
if (pref.length() > 0) {
201-
uriParams.put("preference", pref.toString());
206+
uriParams.put("preference", StringUtils.encodeQuery(pref.toString()));
202207
}
203208

209+
// Request routing
204210
if (routing != null) {
205211
uriParams.put("routing", StringUtils.encodeQuery(routing));
206212
}

0 commit comments

Comments
 (0)