Program: 33944
Project: 33944
Buggy source:
@Test(groups={"String_Node_Str"},dependsOnGroups={"String_Node_Str"}) public void bulkTest() throws Exception {
  final int DOCUMENTS_LOADED=5;
  final String uniqueIdPrefix="String_Node_Str";
{
    for (int i=0; i < DOCUMENTS_LOADED; i++) {
      String uniqueId=uniqueIdPrefix + i;
      LMDoc.Builder indexedDocBuilder=LMDoc.newBuilder();
      indexedDocBuilder.setIndexName(MY_TEST_INDEX);
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addFieldValue("String_Node_Str").build());
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addFieldValue("String_Node_Str").build());
      LMDoc indexedDoc=indexedDocBuilder.build();
      boolean compressed=(i % 2 == 0);
      Store s=new Store(uniqueId).setResultDocument("String_Node_Str",compressed).addIndexedDocument(indexedDoc);
      lumongoWorkPool.execute(s);
    }
    for (int i=0; i < DOCUMENTS_LOADED; i++) {
      String uniqueId=uniqueIdPrefix + i;
      LMDoc.Builder indexedDocBuilder=LMDoc.newBuilder();
      indexedDocBuilder.setIndexName(MY_TEST_INDEX);
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addFieldValue("String_Node_Str").build());
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addFieldValue("String_Node_Str").build());
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addIntValue(i).build());
      LMDoc indexedDoc=indexedDocBuilder.build();
      boolean compressed=(i % 2 == 0);
      Store s=new Store(uniqueId).setResultDocument("String_Node_Str",compressed).addIndexedDocument(indexedDoc);
      lumongoWorkPool.execute(s);
    }
  }
{
    QueryResult qr=null;
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",10));
    Assert.assertEquals(qr.getTotalHits(),1,"String_Node_Str");
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",10));
    Assert.assertEquals(qr.getTotalHits(),3,"String_Node_Str");
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",10));
    Assert.assertEquals(qr.getTotalHits(),1,"String_Node_Str");
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",300));
    Assert.assertEquals(qr.getTotalHits(),DOCUMENTS_LOADED,"String_Node_Str" + DOCUMENTS_LOADED);
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",100));
    Assert.assertEquals(qr.getTotalHits(),DOCUMENTS_LOADED,"String_Node_Str" + DOCUMENTS_LOADED);
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",20));
    Assert.assertEquals(qr.getTotalHits(),DOCUMENTS_LOADED,"String_Node_Str" + DOCUMENTS_LOADED);
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",20));
    Assert.assertEquals(qr.getTotalHits(),DOCUMENTS_LOADED,"String_Node_Str" + DOCUMENTS_LOADED);
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",10));
    Assert.assertEquals(qr.getTotalHits(),0,"String_Node_Str");
  }
{
    for (int i=0; i < DOCUMENTS_LOADED; i++) {
      String uniqueId=uniqueIdPrefix + i;
      FetchResult response=lumongoWorkPool.execute(new FetchDocument(uniqueId));
      Assert.assertTrue(response.hasResultDocument(),"String_Node_Str" + uniqueId + "String_Node_Str");
      String recordText=response.getDocumentAsUtf8();
      Assert.assertTrue(recordText.equals("String_Node_Str" + i + "String_Node_Str"),"String_Node_Str" + uniqueId + "String_Node_Str");
    }
  }
}

Fixed version (ground truth):
@Test(groups={"String_Node_Str"},dependsOnGroups={"String_Node_Str"}) public void bulkTest() throws Exception {
  final int DOCUMENTS_LOADED=5;
  final String uniqueIdPrefix="String_Node_Str";
{
    for (int i=0; i < DOCUMENTS_LOADED; i++) {
      String uniqueId=uniqueIdPrefix + i;
      LMDoc.Builder indexedDocBuilder=LMDoc.newBuilder();
      indexedDocBuilder.setIndexName(MY_TEST_INDEX);
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addFieldValue("String_Node_Str").build());
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addFieldValue("String_Node_Str").build());
      LMDoc indexedDoc=indexedDocBuilder.build();
      boolean compressed=(i % 2 == 0);
      Store s=new Store(uniqueId).setResultDocument("String_Node_Str",compressed);
      s.addIndexedDocument(indexedDoc);
      lumongoWorkPool.execute(s);
    }
    for (int i=0; i < DOCUMENTS_LOADED; i++) {
      String uniqueId=uniqueIdPrefix + i;
      LMDoc.Builder indexedDocBuilder=LMDoc.newBuilder();
      indexedDocBuilder.setIndexName(MY_TEST_INDEX);
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addFieldValue("String_Node_Str").build());
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addFieldValue("String_Node_Str").build());
      indexedDocBuilder.addIndexedField(LMField.newBuilder().setFieldName("String_Node_Str").addIntValue(i).build());
      LMDoc indexedDoc=indexedDocBuilder.build();
      boolean compressed=(i % 2 == 0);
      Store s=new Store(uniqueId).setResultDocument("String_Node_Str" + i + "String_Node_Str",compressed);
      s.addIndexedDocument(indexedDoc);
      lumongoWorkPool.execute(s);
    }
  }
{
    QueryResult qr=null;
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",10));
    Assert.assertEquals(qr.getTotalHits(),1,"String_Node_Str");
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",10));
    Assert.assertEquals(qr.getTotalHits(),3,"String_Node_Str");
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",10));
    Assert.assertEquals(qr.getTotalHits(),1,"String_Node_Str");
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",300));
    Assert.assertEquals(qr.getTotalHits(),DOCUMENTS_LOADED,"String_Node_Str" + DOCUMENTS_LOADED);
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",100));
    Assert.assertEquals(qr.getTotalHits(),DOCUMENTS_LOADED,"String_Node_Str" + DOCUMENTS_LOADED);
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",20));
    Assert.assertEquals(qr.getTotalHits(),DOCUMENTS_LOADED,"String_Node_Str" + DOCUMENTS_LOADED);
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",20));
    Assert.assertEquals(qr.getTotalHits(),DOCUMENTS_LOADED,"String_Node_Str" + DOCUMENTS_LOADED);
    qr=lumongoWorkPool.execute(new Query(MY_TEST_INDEX,"String_Node_Str",10));
    Assert.assertEquals(qr.getTotalHits(),0,"String_Node_Str");
  }
{
    for (int i=0; i < DOCUMENTS_LOADED; i++) {
      String uniqueId=uniqueIdPrefix + i;
      FetchResult response=lumongoWorkPool.execute(new FetchDocument(uniqueId));
      Assert.assertTrue(response.hasResultDocument(),"String_Node_Str" + uniqueId + "String_Node_Str");
      String recordText=response.getDocumentAsUtf8();
      System.out.println("String_Node_Str" + recordText + "String_Node_Str");
      Assert.assertTrue(recordText.equals("String_Node_Str" + i + "String_Node_Str"),"String_Node_Str" + uniqueId + "String_Node_Str");
    }
  }
}