public void recordFailMsg(Packet packet, String failReason) {
   if (channelContext.isNeedRecordSendFailMsg()) {
     ConcurrentLinkedQueue<PacketVo> sendFailQueue = getSendFailQueue(true);
     if (sendFailQueue != null) {
       PacketVo packetPojo =
           PacketVo.createPacketVo(packet, SystemTimer.currentTimeMillis(), failReason);
       if (sendFailQueue.size() >= channelContext.getCountOfRecordSendFail()) {
         sendFailQueue.poll();
       }
       sendFailQueue.add(packetPojo);
     }
   }
 }