My app seems to be continuously rebalancing. If I said it processed data maybe 3 minutes / hour I wouldn't be exaggerating. Surely this isn't normal behavior.
My config is: config.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, BROKER_IP); config.put(StreamsConfig.ZOOKEEPER_CONNECT_CONFIG, ZOOKEEPER_IP); config.put(StreamsConfig.APPLICATION_ID_CONFIG, "PRTMinuteAgg" ); config.put(StreamsConfig.KEY_SERDE_CLASS_CONFIG, AggKey.class.getName()); config.put(StreamsConfig.VALUE_SERDE_CLASS_CONFIG, Serdes.String().getClass().getName()); config.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "snappy"); config.put(StreamsConfig.NUM_STANDBY_REPLICAS_CONFIG, "2"); config.put(StreamsConfig.STATE_DIR_CONFIG, "/mnt/PRTMinuteAgg"); config.put(StreamsConfig.NUM_STREAM_THREADS_CONFIG, "2"); config.put(ProducerConfig.MAX_REQUEST_SIZE_CONFIG, "5242880"); config.put(ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, "600000"); Does this seem reasonable / rational? Some default that I shouldn't rely on?