title: Kafka consumer poll method giving Attempt to join group failed due to fatal error: The group member's supported protocols are incompatible
body: <p>I have a kafka consumer processing a message topic name "ABC" that has config:</p>
  
  <p>{key.deserializer=class org.apache.kafka.common.serialization.StringDeserializer, value.deserializer=class org.apache.kafka.common.serialization.StringDeserializer, max.poll.records=250, group.instance.id=ABC, group.id=ABC, bootstrap.servers=localhost:9093, auto.commit.interval.ms=50, security.protocol=SSL, enable.auto.commit=true, ssl.truststore.location=<strong><em>, ssl.truststore.password=</em></strong>, ssl.endpoint.identification.algorithm=, client.id=ABC}</p>
  
  <p>the consumer code is:</p>
  
  <pre><code>            Runnable processMessageConsumer = () -&gt; {
  
                  try (KafkaConsumer&lt;String, String&gt; consumer = new KafkaConsumer&lt;&gt;(consumerConfig)) {
  
                      log.debug("consumer created {} about to subscribe to topic ABC", consumer);
                      consumer.subscribe(Collections.singletonList("ABC"));
                      log.debug("subscribed to topic ABC {}", consumer);
  
                      while(!Thread.currentThread().isInterrupted()) {
                          try {
                              log.debug("about to call consumer.poll");
                              final ConsumerRecords&lt;String, String&gt; records = consumer.poll(Duration.ofMinutes(1));
  
                              log.debug("return from consumer.poll got records of {}", records);
  
                              if (records.isEmpty()) {
                                  log.warn("Message receive queue is silent (no message received over kafka).");
                              } else {
                                  log.debug("about to call processReceivedMessage");
                                  processReceivedMessage(records);
                                  consumer.commitAsync();
                              }
                          } catch (Exception ex) {
                              log.error("Failed to process received message", ex);
                          }
  
                      }
              };
  </code></pre>
  
  <p>maven pom kafka dependencies:</p>
  
  <pre><code>&lt;/properties&gt;
   &lt;kafka.version&gt;2.3.0&lt;/kafka.version&gt;
  ...
  &lt;/properties&gt; 
  ...
  &lt;dependencies&gt;
         &lt;dependency&gt;
              &lt;groupId&gt;org.apache.kafka&lt;/groupId&gt;
              &lt;artifactId&gt;kafka-clients&lt;/artifactId&gt;
              &lt;version&gt;${kafka.version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.kafka&lt;/groupId&gt;
              &lt;artifactId&gt;kafka-streams&lt;/artifactId&gt;
              &lt;version&gt;${kafka.version}&lt;/version&gt;
          &lt;/dependency&gt;
  
  &lt;/dependencies&gt;
  
  </code></pre>
  
  <p>The code has been working fine until recently but is now giving this error:</p>
  
  <pre><code>- DEBUG [ MSG-Consumer-0] n.r.r.s.i.KafkaService$$EnhancerBySpringCGLIB$$30ee2b7b                         :367  about to call consumer.poll
  - ERROR [ MSG-Consumer-0] o.a.k.c.c.internals.AbstractCoordinator                                          :569  [Consumer clientId=ABC, groupId=ABC] Attempt to join group failed due to fatal error: The group member's supported protocols are incompatible with those of existing members or first group member tried to join with empty protocol type or empty protocol list.
  - ERROR [ MSG-Consumer-0] n.r.r.s.i.KafkaService$$EnhancerBySpringCGLIB$$30ee2b7b                          :381  Failed to process received message
  -
  org.apache.kafka.common.errors.InconsistentGroupProtocolException: The group member's supported protocols are incompatible with those of existing members or first group member tried to join with empty protocol type or empty protocol list.
  </code></pre>