Managing Kafka offset values in Maximo Manage

Offset values are managed by Kafka. Queue processing in Maximo® Manage attempts to keep the Maximo Manage offset values synchronized with the corresponding Kafka offset values for a queue.

Maximo Manage maintains these offset values in the MAXKAFKAOFFSET table, so that for messages with errors, processing of duplicate messages is prevented.

Values might not be synchronized if you delete and re-create Kafka queues, such as while you are working in a development environment. The offset values also might not be synchronized if you use a command line or user interface tool in Kafka to reset the Kafka consumer offset for the Maximo Manage consumer group. You must update Maximo Manage to reflect these types of changes.

Procedure

  1. In Maximo Manage, stop the cron task for the consumer.
    The name of the cron task instance is the client ID of the Kafka consumer.
  2. Delete the Kafka queue.
    The queue name is the name of the consumer group.
  3. Take one of the following steps:
    Condition Action
    A Kafka queue was deleted in Kafka In the MAXKAFKAOFFSET table of Maximo Manage, delete the row that corresponds to the Kafka offset value for the deleted Kafka queue. You delete the row either in the database or by creating an object structure and deleting the row by using a REST client, such as Postman. Each queue partition is associated with one row.
    An offset value was changed in Kafka by using Kafka tooling or scripting In the MAXKAFKAOFFSET table of Maximo Manage, set the offsets to the same values.
  4. Create the Kafka queue.
  5. Restart the Kafka server.
  6. Restart the cron task for the consumer.