private WALEventTrackerPayload getPayload(List<Cell> cells) {
    String rsName = null, walName = null, walState = null;
    long timestamp = 0L, walLength = 0L;
    for (Cell cell : cells) {
      byte[] qualifier = CellUtil.cloneQualifier(cell);
      byte[] value = CellUtil.cloneValue(cell);
      String qualifierStr = Bytes.toString(qualifier);

      if (RS_COLUMN.equals(qualifierStr)) {
        rsName = Bytes.toString(value);
      } else if (WAL_NAME_COLUMN.equals(qualifierStr)) {
        walName = Bytes.toString(value);
      } else if (WAL_STATE_COLUMN.equals(qualifierStr)) {
        walState = Bytes.toString(value);
      } else if (TIMESTAMP_COLUMN.equals(qualifierStr)) {
        timestamp = Bytes.toLong(value);
      } else if (WAL_LENGTH_COLUMN.equals(qualifierStr)) {
        walLength = Bytes.toLong(value);
      }
    }
    return new WALEventTrackerPayload(rsName, walName, timestamp, walState, walLength);
  }
Compare the events from @{@link WALEventTrackerTableAccessor#WAL_EVENT_TRACKER_TABLE_NAME}
@param hostName       hostname
@param walName        walname
@param walEvents      event from table
@param expectedStates expected states for the hostname and wal name
@param strict         whether to check strictly or not. Sometimes we lose the ACTIVE state
                      event for the first wal since it takes some time for hmaster to create
                      the table and by that time RS already creates the first WAL and will try
                      to persist ACTIVE event to waleventtracker table.
hbase-server/src/test/java/org/apache/hadoop/hbase/namequeues/TestWALEventTracker.java