code: public void updateWriter()
      {
          HdfsStreamWriter result = new HdfsStreamWriter();
          String suffix = this.config.getTmpFileSuffix();
          int suffixIndex = 0;
          boolean isFileSyncEachTime = this.config.isFileSyncEachTime();
          boolean isSucceed = false;
  
          while (suffixIndex < TMP_MAX)
          {
              try
              {
                  result.open(this.currentOutputUri + suffix, this.fileSystem, isFileSyncEachTime);
                  isSucceed = true;
                  break;
              }
              catch (IOException ex)
              {
                  String logFormat = "Failed to HDFS file open. Skip and retry next file. : TargetUri={0}";
                  String logMessage = MessageFormat.format(logFormat, this.currentOutputUri + suffix);
                  logger.warn(logMessage, ex);
                  suffixIndex++;
                  suffix = this.config.getTmpFileSuffix() + suffixIndex;
              }
          }
  
          if (isSucceed)
          {
              this.currentWriter = result;
              this.currentSuffix = suffix;
          }
          else
          {
              String logFormat = "HDFS file open failure is retry overed. Skip HDFS file open. : TargetUri={0}";
              String logMessage = MessageFormat.format(logFormat, this.currentOutputUri + suffix);
              logger.warn(logMessage);
          }
      }
docs: Writerを更新する。更新失敗した場合は50回までリトライを行う。