Kafka HA does not enable after switchover

Last Updated : Jun 03, 2026 |

Condition

Kafka HA does not get enabled after failover in a geo-redundant setup.

The following is an example of an error and the stack trace:

Jan 07, 2025 3:42:30 PM [com.avaya.pim.trace.Tracer LogAndPrintStackTrace] WARNING Exception Occurred:org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: listTopics

java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: listTopics

at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:165)
at com.avaya.pim.events.KafkaUtil.getAllKafkaTopics(KafkaUtil.java:576
at com.avaya.pim.events.KafkaUtil.createKafkaTopics(KafkaUtil.java:791
at com.avaya.pim.util.EnableKafkaHA.main(EnableKafkaHA.java:129)

Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: listTopics

Cause

In a multi-POM deployment setup with geo-redundancy, after Kafka High Availability (HA) is enabled on the primary site, which is Data Center 1 (DC1), POM sets the KAFKA_HA_ENABLED flag in the pim_config table to true.

At the time of failover, when the EnableKafkaHA.sh script is run on the site which is newly set as active, which is Data Center 2 (DC2), the script checks the KAFKA_HA_ENABLED flag that is already set to true. The KAFKA_HA_ENABLED flag is already set to true because a single KAFKA_HA_ENABLED flag is shared between both DC1 and DC2. Hence, the script detects that the Kafka HA is already enabled and hence exits without configuring HA on DC2.

Solution

Procedure

To ensure correct configuration, before running Kafka HA scripts on any site, the KAFKA_HA_ENABLED flag must be manually set to the appropriate value, true or false, according to the intended HA state for that site.

To enable Kafka HA on DC2, perform the following the steps:

  1. Log in to POM primary server as root user
  2. Navigate to $POM_HOME/bin.
  3. Run the following command: ./updatePOMConfig KAFKA_HA_ENABLED false.

Procedure

To disable Kafka HA on DC2, perform the following the steps:

  1. Log in to POM primary server as root user
  2. Navigate to $POM_HOME/bin.
  3. Run the following command: ./updatePOMConfig KAFKA_HA_ENABLED true.