private boolean setAttributes(Matcher matcher, TableMessage message) {
    List<String> attributeKeys = new ArrayList<>();
    List<Object> attributeValues = new ArrayList<>();
    String attributesGroup = matcher.group(ATTRIBUTES);
    if (attributesGroup != null && !attributesGroup.isEmpty()) {
      String[] attributePairs = attributesGroup.split(COMMA);
      for (String attributePair : attributePairs) {
        if (!attributePair.isEmpty()) {
          String[] keyValue = attributePair.split(EQUAL);
          if (keyValue.length == 2 && !NULL.equals(keyValue[1])) {
            attributeKeys.add(keyValue[0]);
            attributeValues.add(
                new Binary[] {new Binary(keyValue[1].getBytes(StandardCharsets.UTF_8))});
          }
        }
      }
    }
    if (attributeKeys.size() == attributeValues.size()) {
      message.setAttributeKeys(attributeKeys);
      message.setAttributeValues(attributeValues);
      return true;
    } else {
      return false;
    }
  }
The Line payload formatter. myTable,tag1=value1,tag2=value2 attr1=value1,attr2=value2
fieldKey="fieldValue" 1740109006000 \n myTable,tag1=value1,tag2=value2 fieldKey="fieldValue"
1740109006000
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/mqtt/LinePayloadFormatter.java