docs: private int checkCompatibleLoopback(Pipeline pipeline, RowData rowData) {
          // 检查_info字段
          // 首先检查下after记录，从无变有的过程，一般出现在事务头
          Column infokColumn = getColumnIgnoreCase(rowData.getAfterColumnsList(), compatibleMarkInfoColumn);
          // 匹配对应的channel id
          if (infokColumn != null && infokColumn.getValue().toUpperCase().endsWith(RETL_CLIENT_FLAG)) {
              return 1;
          }
  
          infokColumn = getColumnIgnoreCase(rowData.getBeforeColumnsList(), compatibleMarkInfoColumn);
          if (infokColumn != null && infokColumn.getValue().toUpperCase().endsWith(RETL_CLIENT_FLAG)) {
              return 1;
          }
  
          // 检查_id字段
          Column markColumn = getColumnIgnoreCase(rowData.getAfterColumnsList(), compatibleMarkIdentifierColumn);
          // 匹配对应的channel id
          if (markColumn != null && pipeline.getChannelId().equals(Long.parseLong(markColumn.getValue()))) {
              return 2;
          }
  
          markColumn = getColumnIgnoreCase(rowData.getBeforeColumnsList(), compatibleMarkIdentifierColumn);
          if (markColumn != null && pipeline.getChannelId().equals(Long.parseLong(markColumn.getValue()))) {
              return 2;
          }
  
          return 0;
      }