Program: 85151
Project: 85151
Buggy source:
protected Result doInvoke(Invocation invocation) throws Throwable {
  try {
    if (get.equals(invocation.getMethodName())) {
      if (invocation.getArguments().length != 1) {
        throw new IllegalArgumentException("String_Node_Str" + type.getName() + "String_Node_Str"+ invocation.getMethodName()+ "String_Node_Str"+ url);
      }
      byte[] value=jedisPool.getResource().get(String.valueOf(invocation.getArguments()[0]).getBytes());
      if (value == null) {
        return new RpcResult();
      }
      ObjectInput oin=getSerialization(url).deserialize(url,new ByteArrayInputStream(value));
      return new RpcResult(oin.readObject());
    }
 else     if (set.equals(invocation.getMethodName())) {
      if (invocation.getArguments().length != 2) {
        throw new IllegalArgumentException("String_Node_Str" + type.getName() + "String_Node_Str"+ invocation.getMethodName()+ "String_Node_Str"+ url);
      }
      byte[] key=String.valueOf(invocation.getArguments()[0]).getBytes();
      ByteArrayOutputStream output=new ByteArrayOutputStream();
      ObjectOutput value=getSerialization(url).serialize(url,output);
      value.writeObject(invocation.getArguments()[1]);
      jedisPool.getResource().set(key,output.toByteArray());
      if (expiry > 1000) {
        jedisPool.getResource().expire(key,expiry / 1000);
      }
      return new RpcResult();
    }
 else     if (delete.equals(invocation.getMethodName())) {
      if (invocation.getArguments().length != 1) {
        throw new IllegalArgumentException("String_Node_Str" + type.getName() + "String_Node_Str"+ invocation.getMethodName()+ "String_Node_Str"+ url);
      }
      jedisPool.getResource().del(String.valueOf(invocation.getArguments()[0]).getBytes());
      return new RpcResult();
    }
 else {
      throw new UnsupportedOperationException("String_Node_Str" + invocation.getMethodName() + "String_Node_Str");
    }
  }
 catch (  Throwable t) {
    RpcException re=new RpcException("String_Node_Str" + type.getName() + "String_Node_Str"+ invocation.getMethodName()+ "String_Node_Str"+ url+ "String_Node_Str"+ t.getMessage(),t);
    if (t instanceof TimeoutException || t instanceof SocketTimeoutException) {
      re.setCode(RpcException.TIMEOUT_EXCEPTION);
    }
 else     if (t instanceof JedisConnectionException || t instanceof IOException) {
      re.setCode(RpcException.NETWORK_EXCEPTION);
    }
 else     if (t instanceof JedisDataException) {
      re.setCode(RpcException.SERIALIZATION_EXCEPTION);
    }
    throw re;
  }
}

Fixed version (ground truth):
protected Result doInvoke(Invocation invocation) throws Throwable {
  Jedis resource=null;
  try {
    resource=jedisPool.getResource();
    if (get.equals(invocation.getMethodName())) {
      if (invocation.getArguments().length != 1) {
        throw new IllegalArgumentException("String_Node_Str" + type.getName() + "String_Node_Str"+ invocation.getMethodName()+ "String_Node_Str"+ url);
      }
      byte[] value=resource.get(String.valueOf(invocation.getArguments()[0]).getBytes());
      if (value == null) {
        return new RpcResult();
      }
      ObjectInput oin=getSerialization(url).deserialize(url,new ByteArrayInputStream(value));
      return new RpcResult(oin.readObject());
    }
 else     if (set.equals(invocation.getMethodName())) {
      if (invocation.getArguments().length != 2) {
        throw new IllegalArgumentException("String_Node_Str" + type.getName() + "String_Node_Str"+ invocation.getMethodName()+ "String_Node_Str"+ url);
      }
      byte[] key=String.valueOf(invocation.getArguments()[0]).getBytes();
      ByteArrayOutputStream output=new ByteArrayOutputStream();
      ObjectOutput value=getSerialization(url).serialize(url,output);
      value.writeObject(invocation.getArguments()[1]);
      resource.set(key,output.toByteArray());
      if (expiry > 1000) {
        resource.expire(key,expiry / 1000);
      }
      return new RpcResult();
    }
 else     if (delete.equals(invocation.getMethodName())) {
      if (invocation.getArguments().length != 1) {
        throw new IllegalArgumentException("String_Node_Str" + type.getName() + "String_Node_Str"+ invocation.getMethodName()+ "String_Node_Str"+ url);
      }
      resource.del(String.valueOf(invocation.getArguments()[0]).getBytes());
      return new RpcResult();
    }
 else {
      throw new UnsupportedOperationException("String_Node_Str" + invocation.getMethodName() + "String_Node_Str");
    }
  }
 catch (  Throwable t) {
    RpcException re=new RpcException("String_Node_Str" + type.getName() + "String_Node_Str"+ invocation.getMethodName()+ "String_Node_Str"+ url+ "String_Node_Str"+ t.getMessage(),t);
    if (t instanceof TimeoutException || t instanceof SocketTimeoutException) {
      re.setCode(RpcException.TIMEOUT_EXCEPTION);
    }
 else     if (t instanceof JedisConnectionException || t instanceof IOException) {
      re.setCode(RpcException.NETWORK_EXCEPTION);
    }
 else     if (t instanceof JedisDataException) {
      re.setCode(RpcException.SERIALIZATION_EXCEPTION);
    }
    throw re;
  }
 finally {
    if (resource != null) {
      try {
        jedisPool.returnResource(resource);
      }
 catch (      Throwable t) {
        logger.warn("String_Node_Str" + t.getMessage(),t);
      }
    }
  }
}