in src/main/java/org/apache/flink/connector/rocketmq/source/reader/deserializer/RowDeserializationSchema.java [426:444]
public void collect(RowData physicalRow) {
if (hasMetadata) {
final int physicalArity = physicalRow.getArity();
final int metadataArity = metadataConverters.length;
final GenericRowData producedRow =
new GenericRowData(physicalRow.getRowKind(), physicalArity + metadataArity);
final GenericRowData genericPhysicalRow = (GenericRowData) physicalRow;
for (int index = 0; index < physicalArity; index++) {
producedRow.setField(index, genericPhysicalRow.getField(index));
}
for (int index = 0; index < metadataArity; index++) {
producedRow.setField(
index + physicalArity, metadataConverters[index].read(message));
}
collector.collect(producedRow);
} else {
collector.collect(physicalRow);
}
}