Program: 53074
Project: 53074
Buggy source:
@Override protected void storeImpl(final ArtifactInfo info,final Path file,final HttpArtifactCacheEvent.Finished.Builder eventBuilder) throws IOException {
  final ByteSource artifact=new ByteSource(){
    @Override public InputStream openStream() throws IOException {
      return projectFilesystem.newFileInputStream(file);
    }
  }
;
  BuckCacheStoreRequest storeRequest=new BuckCacheStoreRequest();
  storeRequest.setMetadata(infoToMetadata(info,artifact));
  PayloadInfo payloadInfo=new PayloadInfo();
  payloadInfo.setSizeBytes(artifact.size());
  BuckCacheRequest cacheRequest=new BuckCacheRequest();
  cacheRequest.addToPayloads(payloadInfo);
  cacheRequest.setType(BuckCacheRequestType.STORE);
  cacheRequest.setStoreRequest(storeRequest);
  final ThriftArtifactCacheProtocol.Request request=ThriftArtifactCacheProtocol.createRequest(PROTOCOL,cacheRequest,artifact);
  Request.Builder builder=toOkHttpRequest(request);
  try (HttpResponse httpResponse=storeClient.makeRequest(hybridThriftEndpoint,builder)){
    if (httpResponse.code() != 200) {
      throw new IOException(String.format("String_Node_Str" + "String_Node_Str",httpResponse.code(),httpResponse.requestUrl(),info.getBuildTarget().orNull(),artifact.size()));
    }
    try (ThriftArtifactCacheProtocol.Response response=ThriftArtifactCacheProtocol.parseResponse(PROTOCOL,httpResponse.getBody())){
      if (!response.getThriftData().isWasSuccessful()) {
        throw new IOException(String.format("String_Node_Str" + "String_Node_Str",response.getThriftData().getErrorMessage(),httpResponse.requestUrl(),artifact.size()));
      }
    }
   }
 }

Fixed version (ground truth):
@Override protected void storeImpl(final ArtifactInfo info,final Path file,final HttpArtifactCacheEvent.Finished.Builder eventBuilder) throws IOException {
  final ByteSource artifact=new ByteSource(){
    @Override public InputStream openStream() throws IOException {
      return projectFilesystem.newFileInputStream(file);
    }
  }
;
  BuckCacheStoreRequest storeRequest=new BuckCacheStoreRequest();
  storeRequest.setMetadata(infoToMetadata(info,artifact));
  PayloadInfo payloadInfo=new PayloadInfo();
  payloadInfo.setSizeBytes(artifact.size());
  BuckCacheRequest cacheRequest=new BuckCacheRequest();
  cacheRequest.addToPayloads(payloadInfo);
  cacheRequest.setType(BuckCacheRequestType.STORE);
  cacheRequest.setStoreRequest(storeRequest);
  final ThriftArtifactCacheProtocol.Request request=ThriftArtifactCacheProtocol.createRequest(PROTOCOL,cacheRequest,artifact);
  Request.Builder builder=toOkHttpRequest(request);
  try (HttpResponse httpResponse=storeClient.makeRequest(hybridThriftEndpoint,builder)){
    if (httpResponse.code() != 200) {
      throw new IOException(String.format("String_Node_Str" + "String_Node_Str",httpResponse.code(),httpResponse.requestUrl(),info.getBuildTarget().orNull(),artifact.size()));
    }
    try (ThriftArtifactCacheProtocol.Response response=ThriftArtifactCacheProtocol.parseResponse(PROTOCOL,httpResponse.getBody())){
      if (!response.getThriftData().isWasSuccessful()) {
        reportFailure("String_Node_Str" + "String_Node_Str",response.getThriftData().getErrorMessage(),httpResponse.requestUrl(),artifact.size());
      }
      eventBuilder.setWasUploadSuccessful(response.getThriftData().isWasSuccessful());
    }
   }
 }