Kafka FileStreamSinkConnector 被我删除后重新创建文件写入

Kafka FileStreamSinkConnector recreated the file to write in after it was deleted by me

好的,这很不寻常。

我做了一个文件流接收器连接器如下:

curl -X POST http://cpnode.local.lan:8083/connectors -H "Content-Type: application/json" --data '{
  "name":"file-sink-connector-002",
  "config": {
    "tasks.max":"1",
    "batch.size":"1000",
    "batch.max.rows":"1000",
    "poll.interval.ms":"500",
    "connector.class":"org.apache.kafka.connect.file.FileStreamSinkConnector",
    "file":"/kafka/names.txt",    
    "table.name.format":"tb_sensordata",
    "topics":"names",
    "key.converter": "org.apache.kafka.connect.storage.StringConverter",
    "key.converter.schemas.enable":"false",
    "value.converter": "org.apache.kafka.connect.storage.StringConverter",
    "key.converter.schemas.enable":"false"
  }
}'

虽然连接器是 运行,但我删除了文件 names.txt

大约一个小时后......它重新创建了文件......

我启动了console producer,并在topic中生产了一些数据。接收器连接器将数据写入文件。

任何人都可以解释这种行为....请。

根据此 pull request(次要:在 FileStreamSinkTask #5406 中附加或创建文件)如果 FileStreamSinkConnector 中提到的文件不存在,将由 kafka-connect 创建。