Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

{

    "name": "file-src-1",

    "config": {

        "connector.class": "org.apache.kafka.connect.file.FileStreamSourceConnector",

        "file": "test.txt",

        "topic": "test-topic",

        "tasks.max": "1"

    },

    "initial_offsets": [

    {

      "partition": {

        //  source partition

      },

      "offset": {

        // Desired initial offset

      }

    }

  ]

}


As mentioned in KIP-875: First-class offsets support in Kafka Connect#Altering/resettingoffsets(response) , the response message (`initial_offsets_response`) for successfully setting the initial_offsets will depend on whether the connector has implemented alterOffsets()  method.

If the connector has implemented alterOffsets  and everything has succeeded, the HTTP status will be 200 and the create-connector response body will be:

response (definite success)

{

   "name": "ConnectorOne",

    "config": {...},
  "initial_offsets_response": "The offsets for this connector have been set successfully"
}

If the connector has not implemented alterOffsets  but everything else has succeeded, the HTTP status will be 200 and the create-connector response body will be:
response (possible success)

{

   "name": "ConnectorOne",

    "config": {...},


  "initial_offsets_response": "The framework-managed offsets for this connector have been set successfully. However, if this connector manages offsets externally, they will need to be manually set in the system that the connector uses."
}

This method will be supported in both the distributed mode as well as the standalone mode.

...

If Connect runtime encounters an error in any of these steps, it will cleanup (if required) and return an error response mentioning the step at which the failure was encountered.

If step no. 4 in the list fails, the existing offsets of the connector would've already been wiped in step no. 3.

If step no. 5 in the list fails, the initial_offset set in step 4 will be wiped as part of cleanup.

In either failure case, the existing offset of the connector will be unrecoverable.


Minor details

Validate offset before connector creation

...