Program: 25388
Project: 25388
Buggy source:
@Test public void testExecuteAsync() throws InterruptedException, IOException {
  final WebTarget target=target().path("String_Node_Str");
  final FormDataMultiPart mp=new FormDataMultiPart();
  mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("String_Node_Str").build(),grillSessionId,MediaType.APPLICATION_XML_TYPE));
  mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("String_Node_Str").build(),"String_Node_Str" + testTable));
  mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("String_Node_Str").build(),"String_Node_Str"));
  mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("String_Node_Str").fileName("String_Node_Str").build(),new GrillConf(),MediaType.APPLICATION_XML_TYPE));
  final QueryHandle handle=target.request().post(Entity.entity(mp,MediaType.MULTIPART_FORM_DATA_TYPE),QueryHandle.class);
  Assert.assertNotNull(handle);
  GrillQuery ctx=target.path(handle.toString()).queryParam("String_Node_Str",grillSessionId).request().get(GrillQuery.class);
  Assert.assertEquals(ctx.getStatus().getStatus(),QueryStatus.Status.QUEUED);
  QueryStatus stat=ctx.getStatus();
  while (!stat.isFinished()) {
    ctx=target.path(handle.toString()).queryParam("String_Node_Str",grillSessionId).request().get(GrillQuery.class);
    stat=ctx.getStatus();
    Thread.sleep(1000);
  }
  Assert.assertEquals(ctx.getStatus().getStatus(),QueryStatus.Status.SUCCESSFUL);
  validatePersistedResult(handle);
  final QueryHandle handle2=target.request().post(Entity.entity(mp,MediaType.MULTIPART_FORM_DATA_TYPE),QueryHandle.class);
  Assert.assertNotNull(handle2);
  APIResult result=target.path(handle2.toString()).queryParam("String_Node_Str",grillSessionId).request().delete(APIResult.class);
  Assert.assertEquals(result.getStatus(),APIResult.Status.SUCCEEDED);
  while (true) {
    Thread.sleep(1000);
    GrillQuery ctx2=target.path(handle2.toString()).queryParam("String_Node_Str",grillSessionId).request().get(GrillQuery.class);
    if (QueryEnded.END_STATES.contains(ctx2.getStatus().getStatus())) {
      Assert.assertTrue(ctx2.getStatus().getStatus() == QueryStatus.Status.CANCELED || ctx2.getStatus().getStatus() == QueryStatus.Status.SUCCESSFUL,"String_Node_Str");
      break;
    }
 else {
      System.out.println(handle2 + "String_Node_Str" + ctx2.getStatus().getStatus());
    }
  }
}

Fixed version (ground truth):
@Test public void testExecuteAsync() throws InterruptedException, IOException {
  final WebTarget target=target().path("String_Node_Str");
  final FormDataMultiPart mp=new FormDataMultiPart();
  mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("String_Node_Str").build(),grillSessionId,MediaType.APPLICATION_XML_TYPE));
  mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("String_Node_Str").build(),"String_Node_Str" + testTable));
  mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("String_Node_Str").build(),"String_Node_Str"));
  mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("String_Node_Str").fileName("String_Node_Str").build(),new GrillConf(),MediaType.APPLICATION_XML_TYPE));
  final QueryHandle handle=target.request().post(Entity.entity(mp,MediaType.MULTIPART_FORM_DATA_TYPE),QueryHandle.class);
  Assert.assertNotNull(handle);
  GrillQuery ctx=target.path(handle.toString()).queryParam("String_Node_Str",grillSessionId).request().get(GrillQuery.class);
  Assert.assertTrue(ctx.getStatus().getStatus().equals(Status.QUEUED) || ctx.getStatus().getStatus().equals(Status.LAUNCHED) || ctx.getStatus().getStatus().equals(Status.RUNNING));
  QueryStatus stat=ctx.getStatus();
  while (!stat.isFinished()) {
    ctx=target.path(handle.toString()).queryParam("String_Node_Str",grillSessionId).request().get(GrillQuery.class);
    stat=ctx.getStatus();
    Thread.sleep(1000);
  }
  Assert.assertEquals(ctx.getStatus().getStatus(),QueryStatus.Status.SUCCESSFUL);
  validatePersistedResult(handle);
  final QueryHandle handle2=target.request().post(Entity.entity(mp,MediaType.MULTIPART_FORM_DATA_TYPE),QueryHandle.class);
  Assert.assertNotNull(handle2);
  APIResult result=target.path(handle2.toString()).queryParam("String_Node_Str",grillSessionId).request().delete(APIResult.class);
  Assert.assertEquals(result.getStatus(),APIResult.Status.SUCCEEDED);
  while (true) {
    Thread.sleep(1000);
    GrillQuery ctx2=target.path(handle2.toString()).queryParam("String_Node_Str",grillSessionId).request().get(GrillQuery.class);
    if (QueryEnded.END_STATES.contains(ctx2.getStatus().getStatus())) {
      Assert.assertTrue(ctx2.getStatus().getStatus() == QueryStatus.Status.CANCELED || ctx2.getStatus().getStatus() == QueryStatus.Status.SUCCESSFUL,"String_Node_Str");
      break;
    }
 else {
      System.out.println(handle2 + "String_Node_Str" + ctx2.getStatus().getStatus());
    }
  }
}