@Override
  public int insertAlignedRow(InsertRowNode insertRowNode) {

    String[] measurements = insertRowNode.getMeasurements();
    Object[] values = insertRowNode.getValues();
    List<IMeasurementSchema> schemaList = new ArrayList<>();
    List<TSDataType> dataTypes = new ArrayList<>();
    for (int i = 0; i < insertRowNode.getMeasurements().length; i++) {
      // Use measurements[i] to ignore failed partial insert
      if (measurements[i] == null
          || values[i] == null
          || insertRowNode.getColumnCategories() != null
              && insertRowNode.getColumnCategories()[i] != TsTableColumnCategory.FIELD) {
        schemaList.add(null);
        continue;
      }
      IMeasurementSchema schema = insertRowNode.getMeasurementSchemas()[i];
      schemaList.add(schema);
      dataTypes.add(schema.getType());
    }
    if (schemaList.isEmpty()) {
      return 0;
    }
    memSize +=
        MemUtils.getAlignedRowRecordSize(dataTypes, values, insertRowNode.getColumnCategories());
    writeAlignedRow(insertRowNode.getDeviceID(), schemaList, insertRowNode.getTime(), values);
    int pointsInserted =
        insertRowNode.getMeasurementColumnCnt() - insertRowNode.getFailedMeasurementNumber();
    totalPointsNum += pointsInserted;
    return pointsInserted;
  }
Create this MemChunk if it's not exist.

@param deviceId device id
@param schemaList measurement schemaList
@return this MemChunkGroup
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AbstractMemTable.java