ProcessorID vs ApplicationID

Main differences between ProcessorID and ApplicationID

What’s ProcessorID

ProcessorID is the public unique identifier for an SQL processor. It is customizable, meaning that you, as a user, have control over it and can set this identifier to any arbitrary string.

Restrictions on custom ProcessorIDs:

  • They have to be unique across all processors
  • Match the following regex: ^[a-zA-Z0-9\-\._]+:
    • Only letters, capital letters, numbers and -, _ & - are allowed.
    • It has to start with a letter or a number.
    • It cannot be empty.

One important aspect of the ProcessorID is that it is used as the Kafka consumer group identifier. That means that, in practice, this is the value that allows an SQL processor to build its consumer group and coordinate record ingestion from Kafka between all Processor replicas. Consequently, if the ProcessorId of a given SQL processor is changed, that processor will restart consuming messages from the beginning of the existing records in the topic.

ApplicationID

The ApplicationID is the Lenses unique identifier, is automatically created by Lenses, and cannot be customized.

This is unique among all applications types; it does not matter if it’s an SQL processor or a different (new) sort of future application.

Lenses uses the ApplicationID to manage applications. This means that, when Starting, Stopping or Scaling an application, Lenses will use this attribute to pick the right instance.