Skip to content

Commit 158fc42

Browse files
committed
fix #759 - check for null uris on bulk read methods
(cherry picked from commit 9376094)
1 parent 00f9de2 commit 158fc42

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/main/java/com/marklogic/client/impl/OkHttpServices.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,9 @@ private OkHttpResultIterator getBulkDocumentsImpl(RequestLogger reqlog,
844844
addCategoryParams(categories, params, withContent);
845845
if (format != null) params.add("format", format.toString().toLowerCase());
846846
for (String uri: uris) {
847-
params.add("uri", uri);
847+
if ( uri != null && uri.length() > 0 ) {
848+
params.add("uri", uri);
849+
}
848850
}
849851
OkHttpResultIterator iterator = getIteratedResourceImpl(DefaultOkHttpResultIterator.class,
850852
reqlog, path, transaction, params, MIMETYPE_MULTIPART_MIXED);

src/test/java/com/marklogic/client/test/BulkReadWriteTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,17 @@ public static Country getCountry(String isoCode, Map<String, Country> countries)
682682
return countries.get(isoCode);
683683
}
684684

685+
@Test
686+
// https://github.com/marklogic/java-client-api/issues/759
687+
public void test_issue_759() throws Exception {
688+
String[] uris = new String[150];
689+
for ( int i=0; i < 102; i++ ) {
690+
String mapDocId = "/" + Integer.toString(i);
691+
uris[i] = mapDocId;
692+
}
693+
Common.client.newDocumentManager().read(uris);
694+
}
695+
685696
public static City newCity(String line, Map<String, Country> countries) {
686697
String[] fields = line.split(" ");
687698
try {

0 commit comments

Comments
 (0)