title: Kafka stream aggregate
body: <p>I have a problem with a kafka stream aggregate.</p>
  <p>What I would like to have is that for every input data that arrives on the input topic, we have a new version of the output aggregation KTable that is produced and then joined to a second topic.</p>
  <p>In reality, we don't have that 1:1...so we don't do enough joining with the second topic and we miss processing.</p>
  <p>I'm sure the problem is with the aggregations because I wrote the output of the aggregation in a topic, which I put a consumer on: I do observe that I don't have enough versions of the KTable being produced.</p>
  <p>We found some settings to improve things: by playing with the COMMIT_INTERVAL_MS_CONFIG and CACHE_MAX_BYTES_BUFFERING_CONFIG parameters of the Kafka stream configuration, we have a better processing rate.</p>
  <p>Is playing with these parameters the right solution to make the aggregate method produce a version of the aggregation KTable systematically? If so, what value should be set?</p>
  <p>Thank you in advance for your answers.</p>
  <p>Here is the code of the aggregation and the joinning :</p>
  <pre><code>KGroupedStream&lt;String, GenericRecord&gt; groupedEventStream = eventsSource.groupByKey();
  KStream&lt;String, String&gt; resultStream =
          groupedEventStream.aggregate(this::initSensorAggregatedRecord, this::updateSensorAggregatedRecord).leftJoin(secondSource,
              this::bindSecondSource).toStream();
  </code></pre>
  <p>Here is the settings we have set on the kafka stream configuration :</p>
  <pre><code>props.put(COMMIT_INTERVAL_MS_CONFIG, 0);
  props.put(CACHE_MAX_BYTES_BUFFERING_CONFIG, 0);
  </code></pre>
  <p>Regards
  CG</p>