public void addAllLogsToSysTable(Connection connection) {
    if (queueForSysTable == null) {
      LOG.trace("hbase.regionserver.slowlog.systable.enabled is turned off. Exiting.");
      return;
    }
    if (LOCK.isLocked()) {
      return;
    }
    LOCK.lock();
    try {
      List<TooSlowLog.SlowLogPayload> slowLogPayloads = new ArrayList<>();
      int i = 0;
      while (!queueForSysTable.isEmpty()) {
        slowLogPayloads.add(queueForSysTable.poll());
        i++;
        if (i == SYSTABLE_PUT_BATCH_SIZE) {
          SlowLogTableAccessor.addSlowLogRecords(slowLogPayloads, connection);
          slowLogPayloads.clear();
          i = 0;
        }
      }
      if (slowLogPayloads.size() > 0) {
        SlowLogTableAccessor.addSlowLogRecords(slowLogPayloads, connection);
      }
    } finally {
      LOCK.unlock();
    }
  }
Poll from queueForSysTable and insert 100 records in hbase:slowlog table in single batch
hbase-server/src/main/java/org/apache/hadoop/hbase/namequeues/SlowLogPersistentService.java