private long[] scheduleMemoryBlock(
      InsertTabletNode insertTabletNode,
      List<int[]> rangeList,
      TSStatus[] results,
      boolean noFailure,
      long[] infoForMetrics)
      throws WriteProcessException {
    long memControlStartTime = System.nanoTime();
    long[] totalMemIncrements = new long[NUM_MEM_TO_ESTIMATE];
    for (int[] range : rangeList) {
      int start = range[0];
      int end = range[1];
      try {
        long[] memIncrements = checkMemCost(insertTabletNode, start, end, noFailure, results);
        for (int i = 0; i < memIncrements.length; i++) {
          totalMemIncrements[i] += memIncrements[i];
        }
      } catch (WriteProcessException e) {
        for (int i = start; i < end; i++) {
          results[i] = RpcUtils.getStatus(TSStatusCode.WRITE_PROCESS_REJECT, e.getMessage());
        }
        throw new WriteProcessException(e);
      }
    }
    // recordScheduleMemoryBlockCost
    infoForMetrics[1] += System.nanoTime() - memControlStartTime;

    return totalMemIncrements;
  }
Insert data in an InsertRowNode into the workingMemtable.

@param insertRowNode physical plan of insertion
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java