* Kafka Streams metrics in the binder for Boot 2.2 users are streamlined to
reflect the Micrometer native support added with version 1.4.0 which is
available through Boot 2.3. While Boot 2.3 users will get this native support
from Micrometer, Boot 2.2 users will still rely on the custom implementation
in the binder. This commit aligns that custom implemenation more with
the native implementation.
* Disable the custom Kafka Streams metrics bean which is mentioned above
(KafkaStreamsBinderMetrics) when the application is on Boot 2.3, as this
implementation is only applicable for Boot 2.2.x.
* Update docs
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/880
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/935
Spring Cloud Function now checks if a converter supports the mime type before
calling it. Previously, the converter supported no mime types, so it was never
called, breaking Kafka Tombstone record processing (outbound).
The converter must support all mime types so it can perform a no-op conversion,
retaining the `KafkaNull`.
The abstract converter will return null whenever the payload is not a `KafkaNull`,
which is a signal to spring-cloud-function to try the next converter.
Kafka Streams topology actuator endpoint had a conflict with the JMX exporter
and was causing some IDE issues. Renming this endpoint to kafkastreamstopology.
Renaming the underlying methods in this actuator endpoint implentation.
Updating docs.
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/895
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/914
Boot no longer uses the deprecated JMX MBean scraping provided by Micrometer.
Add configuration to add Micrometer Meters when Micrometer and spring-kafka 2.5.x are on
the class path.
Micrometer for Streams
- work around until SK 2.5.3
In Kafka Streams binder, we use a complex strategy to handle
applications provided concurrency. Simplify this process while
making the binder stay aligned with boot -> binder -> binding
hierrachy for concurrency (num.stream.threads).
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/905Resolves#907
Use a retry template for topic description method call through
admin client when provisioning producer destinations. We are
retrying because in the event this operation gets failed, it
is retried with the default retry settings in the provisioner.
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/888
* Offset commit when DLQ is enabled and manual ack
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/870
When an error occurs, if the application uses manual acknowldegment
(i.e. autoCommitOffset is false) and DLQ is enabled, then after
publishing to DLQ, the offset is not committed currently.
Addressing this issue by manually commiting after publishing to DLQ.
* Address PR review comments
* Addressing PR review comments - #2
* Add InteractiveQueryService.getAllHostsInfo to fetch metadata
of all instances that handles specific store.
* Test to verify this new API (in the existing InteractiveQueryService tests).
spring-cloud-build to 3.0.0 snapshot
spring kafka to 2.4.x snapshot
SIK 3.2.1
Remove a test that has behavior inconsistent with new changes in Spring Kafka 2.4
where all error handlers have isAckAfterHandle() true by default. The test for
auto commit offset on error without dlq was expecting this acknowledgement to not
to occur. If applications need to have the ack turned off on error, they should provide a
container customizer where it sets the ack to false. Since this is not a binder
concern, we are removing the test testDefaultAutoCommitOnErrorWithoutDlq.
Cleaning up in Kafka Streams binder tests.