Commit Graph

468 Commits

Author SHA1 Message Date
buildmaster
7093551a86 Update SNAPSHOT to 2.1.0.RC4 2018-12-20 19:44:23 +00:00
Oleg Zhurakousky
e9f24b00c8 Adjusting for the type conversion fixes in GH-1564 core 2018-12-18 09:36:28 +01:00
buildmaster
ed1589f957 Going back to snapshots 2018-12-13 20:26:31 +00:00
buildmaster
c5f72250b5 Update SNAPSHOT to 2.1.0.RC3 2018-12-13 20:25:50 +00:00
buildmaster
0dc871aff0 Bumping versions 2018-12-13 16:51:07 +00:00
Soby Chacko
67bcd0749a Polishing 2018-12-12 21:34:22 -05:00
Soby Chacko
6001136ec0 Handle errors for non-existing topics (#514)
* Handle errors for non-existing topics

When topic creation is disabled both on the binder and the broker,
the binder currently throws an NPE. Catching this situation and
throw a more graceful error to the user.

Adding tests to verify.

Resolves #513

* Addressing PR review comments
2018-12-12 12:44:42 -05:00
Arnaud
e93904c238 Add logging for deserialization failures. 2018-12-12 10:44:11 -05:00
Soby Chacko
43c8f02bff User header mapper with MimeTypeJsonDeserializer
Temporarily provide a custom HeaderMaper as part of the binder that is
copied from Spring Kafka so that we can preserve backward compatibility
with older producers. When older producers send non String types,
the header mapper in Spring Kafka treats that as MimeType. This change will
use a HeaderMppaer that reinstates the MimeTypeJsonDeserializer.
When we can consume the Spring Kafka version that provides the HeaderMapper
with this fix in it, we will remove this custom version.

Resolves #509
2018-11-30 10:57:41 -05:00
Soby Chacko
64ea989b08 Kafka Streams environment properties changes
When Kafka Streams binder is used in multi binder environments, the properties defined under environment
is not propagated to the auto configuration class. The environment processing only takes place when the
actual binder configuration is instantiated (for example, KStreamConfiguration), and therefore the environment
properties are unavailable during the earlier autoconfiguration. This change makes the environment properties
availble during auto configuration.

Resolves #504
2018-11-28 14:25:15 -05:00
Soby Chacko
525adef3a6 Fixing checkstyle warnings 2018-11-27 16:57:03 -05:00
Soby Chacko
1866feb75f Enable KafkaStreams bootstrap tests
Remove the usage of `ImportBeanDefinitionRegistrar` in Kafka Streams binder
components since the regular use of getBean from the outer context is safe to do so.

Unignore tests

Resolves #501

* Addressing PR review comments
2018-11-27 16:54:31 -05:00
Gary Russell
bf1c366d9b GH-502: Add test for native partitioning
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/502

Before applying the fix for,

https://github.com/spring-cloud/spring-cloud-stream/issues/1531

failed with:

```
org.springframework.messaging.MessageDeliveryException: failed to send Message to channel 'test.output'; nested exception is java.lang.IllegalArgumentException: Partition key cannot be null, failedMessage=GenericMessage [payload=byte[3], headers={kafka_partitionId=5, id=3350a823-c876-f7a9-f98b-fdbd2aaa4c12, timestamp=1542823925354}]
...
Caused by: java.lang.IllegalArgumentException: Partition key cannot be null
	at org.springframework.util.Assert.notNull(Assert.java:198)
	at org.springframework.cloud.stream.binder.PartitionHandler.extractKey(PartitionHandler.java:112)
	at org.springframework.cloud.stream.binder.PartitionHandler.determinePartition(PartitionHandler.java:93)
	at org.springframework.cloud.stream.binding.MessageConverterConfigurer$PartitioningInterceptor.preSend(MessageConverterConfigurer.java:381)
	at org.springframework.integration.channel.AbstractMessageChannel$ChannelInterceptorList.preSend(AbstractMessageChannel.java:589)
	at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:435)
	... 31 more

```

Resolves #503
2018-11-23 11:44:19 +01:00
Oleg Zhurakousky
81f4a861c5 Fixed Kafka Stream binder docs 2018-11-19 16:30:35 +01:00
buildmaster
662aa71159 Going back to snapshots 2018-11-19 14:49:11 +00:00
buildmaster
8683604004 Update SNAPSHOT to 2.1.0.RC2 2018-11-19 14:48:35 +00:00
Soby Chacko
7232839cdf Ignore JAAS tests as they randomly fail on CI 2018-11-17 12:13:29 -05:00
Oleg Zhurakousky
47443f8b70 Fixed tests related to GH-1527 change in core 2018-11-15 19:33:20 +01:00
Soby Chacko
b589f32933 Checkstyle fixes
Reuse checkstyle components from core spring-cloud-stream-tools module.
Addressing checkstyle warnings in kafka streams binder module.

Resolves #489
2018-11-09 18:11:51 -05:00
Soby Chacko
20af89bc00 Fixing health indicator issues
During startup if Kafka is down, binder health indicator check
erroneously reports that Kafka is up. Fixing this issue.

Resolves #495
2018-11-09 09:22:26 -05:00
Soby Chacko
0b50a6ce2f Address checkstyle warnings
Addressing checkstyle warnings in sprnig-cloud-stream-binder-kafka.

Resolves #487
2018-11-08 10:42:26 -05:00
Gary Russell
3a396c6d37 GH-491: Fix TODO in binder for initial seeking
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/491

Use `seekToBeginning/End` instead of `0` and `Long.MAX_VALUE`.
2018-11-07 16:39:33 -05:00
rahulbats
3e39514003 Add log message for deserialization error handler
Add missing logging statement for the logAndContinue
deserialization error handler in Kafka Streams binder.

Polishing.

Resolves #494
2018-11-07 16:29:25 -05:00
Gary Russell
2144d3e26f GH-453: Add binding rebalance listener
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/453

Fix initial value of initial variable
2018-11-07 14:54:02 -05:00
Soby Chacko
2d4e9a113b Use TopicExistsException in provisioner
Instead of checking for the text TopicExistsException in the exception
message, use strong type check for TopicExistsException through instanceof on
the cause of the exception.

Adding test to verify.

Resolves #209
2018-11-05 16:20:47 -05:00
Soby Chacko
84249727ae Fix boolean expression in resetOffsets
Resolves #481
Resolves #485
2018-11-05 17:43:44 +01:00
Soby Chacko
2fc158003f Address checksyle issues in core module
Address checkstyle errors and warnings in spring-cloud-stream-binder-kafka-core.
Remove a duplicate dependency declaration from parent pom.

Resolves #483
Resolves #484
2018-11-05 17:41:39 +01:00
Soby Chacko
9c20bb4cdc Remove unnecessary auto config import.
Remove the superfluous import of PropertyPlaceholderAutoConfiguration
in KafkaBinderConfiguration.

Resovles #211
2018-11-02 15:02:32 -04:00
Oleg Zhurakousky
8dbed6b877 Going back to snapshots 2018-10-30 15:01:36 +01:00
Oleg Zhurakousky
46ee483023 Update SNAPSHOT to 2.1.0.RC1 2018-10-30 14:59:54 +01:00
Oleg Zhurakousky
3037b90fd2 Updated spring-kafka version 2018-10-30 14:51:55 +01:00
Alberto Manzaneque
cb2a074448 Fixing KafkaBinderMetric so that it reports correct lag of all topics, not just some
Resolves #478
2018-10-30 12:44:48 +01:00
Oleg Zhurakousky
d73ef9f243 Bumping versions 2018-10-30 09:28:07 +01:00
Oleg Zhurakousky
ef2b2db961 Merge pull request #480 from olegz/docs-update
Updated docs to be compliant with spring-cloud
2018-10-30 08:34:24 +01:00
Oleg Zhurakousky
f6c058f9b8 Updated docs to be compliant with spring-cloud
polishing
2018-10-29 13:18:09 +01:00
Soby Chacko
17c11fbb66 Docs update for generic binder/binding properties
Resolves #417
2018-10-22 17:23:01 -04:00
Oleg Zhurakousky
8ab289a715 polishing
Resolves #472

polishing
2018-10-22 11:40:15 +02:00
Soby Chacko
4c15cbc1d6 Support headers in Kafka Streams binder
* Use content type header from the record for binder provided inbound deserialization by
  making use of the header support added in Kafka Streams. If there is a content type set
  on the incoming record, that will get precedence.
* Introduce a new Composite Serde class for providing non-native Spring Cloud Stream specific collection
  of Serde implemenations. This is needed in order for things like avro converters that interact with
  the Spring Cloud Stream schema registry server.
* Adding tests
* Polishing

Resolves #456, #469
2018-10-22 09:57:05 +02:00
Soby Chacko
1b80cfcf4c Avoid unnecessary re-partitioning due to map calls.
Fixing streams get unnecessarily flagged for re-partitioning
from map calls on KStream.

Resolves #412
2018-10-20 18:23:32 -04:00
Soby Chacko
0d5d092f84 Fix merge issues in 40c1a8b8 2018-10-19 15:43:03 -04:00
Soby Chacko
99d739be21 Consumer concurrency settings in Kafka Streams binder (#475)
* Consumer concurrency settings in Kafka Streams binder

* If the consumer concurency settings are provided at the binding level,
  honor that before falling back to the defaults.
* Allow consumer binding specific broker configurations to be set from the application.
* Test changes.

Resolves #474

* Addressing PR review comments
2018-10-19 15:16:10 -04:00
Alberto Manzaneque
40c1a8b8f1 Setting group in TopicInformation correctly for anonymous consumers.
This makes metrics available for anonymous consumers as well.

A couple of tests to verify that TopicInformation is built correctly

Removing unneeded import
2018-10-19 14:52:09 -04:00
Soby Chacko
c43e45c7ad Addressing startOffset in Kafka Streams binder (#473)
* Addressing startOffset in Kafka Streams binder

Fixing the issue where auto.offset.reset is not honored through startOffset
provided by the individual consumer binding.

Adding integration test to override auto.offset.reset globally at the binder
level to latest and then set startOffset on individual binding to earliest.

Resolves #467

* Addressing PR review comments

* Addressing PR review comments
2018-10-19 13:29:15 -04:00
Oleg Zhurakousky
700c7a1af3 GH-470 Updated extended properties merge logic
Updated extended properties merge logic based on corresponding core updates (see GH-1503)
Resolves #470

polishing
2018-10-15 15:59:45 -04:00
Soby Chacko
9ec0cdd245 Clarify data conversion in Kafka Streams docs
Remove the usage of Messages in kafka streams binder docs.

Resolves #464
2018-10-11 15:03:33 -04:00
Soby Chacko
0227c9ecc9 Regex topics in health indicator
If the destination topic is pattern based, only do the basic up/down check
in the health indicator. In this case, the health indicator does not do any
partitions queries as it does for normal topics.

Resolves #430
2018-10-11 13:05:50 -04:00
Soby Chacko
a5cec9a25c Kafka Health Indicator changes
Disable Kafka health indicator check if management.health.binders.enabled
property is set to false. Currently, if this property is disabled, only the
core spring-cloud-stream mechanism of collecting the health checks are disabled.
The indivividual binders can still register the health check bean and boot health
actuator will still pick it up. If the user turns off health check by disabling
this property, then the stream app should completely disable any binder specific
health check.

Resolves #454
2018-10-11 09:39:31 -04:00
Soby Chacko
9443c621b0 Kafka binder JAAS config refactoring (#461)
* Kafka binder JAAS config refactoring

Refactor JaasLoginModuleConfiguraton to leverage ControlFlag enum from
spring-kafka, instead of directly using LoginModuleControlFlag from JDK.

Re-instate Jass configuration tests.

Resolves #459

* Fixing tests

* Addressing PR review comments
2018-10-10 14:53:13 -04:00
Soby Chacko
fe7bdd245d Default properties testing.
Remove camelCase in property names
2018-10-08 12:29:20 -04:00
Gary Russell
1d5fcca522 GH-455: Docs for tombstone records
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/455
2018-10-04 16:23:11 -04:00