Guidelines for Kafka cron task configuration

For the Kafka cron task, it is important that you configure it using these guidelines.

  • Maximo® Manage does not use Kafka topics for error management of continuous queues. The error table, maxinterror is used for error handling. To enable the process of error message reprocessing for continuous queues, you must setup an instance of the KAFKAERRROR cron task for each continuous queue. Error processing for sequential queues remains unchanged.
  • It is important to setup partitions for continuous queues to facilitate parallel processing. For each partition, ensure that you have only one Kafka cron task instance.

    For example, if a continuous queue has three partitions, you must have three instances of the Kafka cron task. Each of the Kafka cron task instances must be set with a unique partition number set in the PARTITION parameter. Typically, partitions follow a zero-based numeric sequence, that is, a three-partition Kafka task has 0,1, and 2 numbered partitions.

    Follow the same method for sequential queues as well. However, for sequential queues, since only one partition exists, you must set the PARTITION parameter to 0.

  • If you are using Maximo Application Suite 8.9 or earlier versions, set the mxe.int.kafkapolltimeout property to 5000 for better message consumption performance. The default value is set to 5000 for the mxe.int.kafkapolltimeout property starting from Maximo Application Suite 8.10 onwards.
  • If a Kafka cron task stops processing messages for a long period, stop the cron task. Delete and re-create the cron task by using a different name to resolve the issue.
  • The Kafka cron task uses Maximo Manage users for message processing. If the user is inaccessible for some reason, the Kafka cron task is unable to create the user information for the Maximo user. In this scenario, the cron task cannot pull messages from Kafka, but it continues to run, that is, the lastruntimestamp is updated according to the frequency. Look for the following message in the log:

    "Default userinfo for integration user is null ... will not attempt to get any message from Kafka topic."

    In such cases, check the Maximo Manage User application and the loginblock table to see whether the user is disabled or invalid or blocked. You might have to delete or restart the Kafka cron task.