Commit Graph

4026 Commits

Author SHA1 Message Date
Soby Chacko
48dcc5dfd7 Fixing Pulsar binder tests
* Fixing Pulsar binder tests for Boot 3.2/3.3 compatibility
2024-03-04 16:18:54 -05:00
Soby Chacko
cabefa74fa Adjust Pulsar binder code for Boot 3.2/3.3 2024-03-04 15:35:49 -05:00
spencergibb
6e168d92e6 formatting 2024-03-04 15:06:58 -05:00
Soby Chacko
650edc180c Fixing Kafka Binder unit test issues 2024-03-04 14:57:04 -05:00
Soby Chacko
fb430ce6bc Remove hard-coded jackson dependency in core 2024-03-04 14:07:49 -05:00
Soby Chacko
5f1611a4aa GH-2884: Docs on Pulsar Binder Config Props
Adding a brief docs section for the Pulsar binder config properties.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2884
2024-03-01 17:19:05 -05:00
babubabu
432ce8fdd2 Fixing empty truststore-config in KBCP
* do not copy truststore, if "ssl.truststore.location" is set to empty string (e.g. ssl.truststore.location:{ENV_VARIABLE}) via KafkaBinderConfigurataionProperties.
2024-02-28 17:23:32 -05:00
Soby Chacko
03a300b6c6 Cleanup in FunctionBatchingTests 2024-02-23 11:07:56 -05:00
Oleg Zhurakousky
4da70ef52b Checkstyle fix 2024-02-22 16:30:57 +01:00
Oleg Zhurakousky
3c15eca2c9 Fix executor termination in StreamBridge 2024-02-22 15:40:28 +01:00
LazroLeader
e7c1c7f769 Fixing concurrency issue in Kafka Streams binder
* Thread Safety Issue in serializeOnOutbound Method of KafkaStreamsMessageConversionDelegate 
* Wrapped perRecordContentTypeHolder with ThreadLocal
* update year and author
2024-02-15 15:58:07 -05:00
Artem Bilan
3e24d331db Rework observability for Rabbit Binder (#2903)
Fixes: #2901 

* Rework an observation for Rabbit Binder

The observation propagation doesn't work in multi-binder configuration

* Remove `ObservationAutoConfiguration` since it is not visible in case of multi-binder configuration
* Instead move `setObservationEnabled` flag setting to the `RabbitMessageChannelBinder`
* Add `io.micrometer.observation.ObservationRegistry` into `shared.beans` to make it visible for binder-specific application context
* Add `RabbitMultiBinderObservationTests` integration test where Rabbit Binder is in a multi-binder environment

As a side effect, this fixes an observation propagation for the Kafka binder as well in the multi-binder environment.
Its configuration is OK, but an `ObservationRegistry` must make it visible for the binder-specific application context.
See the mentioned `shared. beans`

Related to https://github.com/spring-cloud/spring-cloud-stream/issues/2901
Also see https://github.com/spring-cloud/spring-cloud-stream/issues/2902 for possible evolution

* Update the copyright of the affected classes
2024-02-14 18:53:06 -05:00
Artem Bilan
d620ff9838 Fix Checkstyle violations & typos in StreamBridge
Remove also a duplicated code from the `setAsync()`
which, essentially, may lead to the problem with class loader when `context-propagation` is optional on classpath
2024-02-14 16:50:32 -05:00
Oleg Zhurakousky
7fa72282c1 GH-2898 Add support for asyn send to StreamBridge 2024-02-14 21:17:27 +01:00
kutmk
4174657a35 Enable AutoConfiguration of TestChannelBinderConfiguration 2024-02-13 17:48:06 -05:00
Soby Chacko
539435a724 Fiing schema registry tests 2024-02-13 17:47:22 -05:00
Soby Chacko
977b5e3a4c Cleaning up Kafka Streams binder antora docs 2024-02-13 15:10:04 -05:00
Oleg Zhurakousky
e5ab77ebbf Ensure jackson-databind is boot managed 2024-02-12 14:41:51 +01:00
srinivasboini
4f69f05b82 GH-2882: Schema registry SSL config propagation
Fixes: #2882 

* Schema registry SSL config propagation to producer and consumer configurations
* Verify with tests
2024-02-08 16:43:29 -05:00
Soby Chacko
e903c47dac Cleanup in FunctionConfiguration 2024-02-06 14:26:26 -05:00
Soby Chacko
93cd52d29d KafkaTopicProvisioner - cleanup deprecation 2024-02-06 10:06:54 -05:00
Soby Chacko
b26c21aacf Fixing Kafka binder docs navigation 2024-02-01 18:49:13 -05:00
Soby Chacko
3f9162b8b4 GH-2882: Schema registry SSL config propagation
Fixes: https://github.com/spring-cloud/spring-cloud-stream/issues/2882

When providing schema registry SSL truststore and keystore properties
as classpath URL's under Kafka binder configuration, the transformations
of them into corresponding filesystem URL's are not currenlty propagated
into producerProperties and consumerProperties under binder configuration.
This is ncessary for certain serializer/deserializer to work.
See the related GH issue for more context on this.
2024-02-01 13:44:53 -05:00
Soby Chacko
959c372c4b Address deprecations in Kafka Streams binder 2024-02-01 12:51:14 -05:00
Soby Chacko
4d1c5965ed KafkaBinderConfigurationProperties cleanup
- Address deprecation
 - Minor cleanup
2024-01-31 13:26:16 -05:00
Soby Chacko
aea0e8f591 Kafka binder docs cleanup
Fixing a few broken links in config options docs
2024-01-26 15:59:25 -05:00
Soby Chacko
19735a31d2 Minor code cleanup in BindingServiceConfiguration 2024-01-22 17:36:56 -05:00
Soby Chacko
1cda3acb22 GH-2883: CCE from custom error channel bean
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2883

When an applicaiton provides a custom errorChannel bean that is not of type
`PublishSubscribeChannel`, the application fails to start with a CCE. This is
because `BindingServiceConfiguration` uses a hard cast on `PublishSubscribeChannel`
without pre-checking the channel type. Fixing this issue.
2024-01-22 17:22:21 -05:00
Soby Chacko
c72c548763 GH-2885: Channel used by StreamBridge missing name
Fixes https://github.com/spring-cloud/spring-cloud-stream/issues/2885

The `DirectWithAttributesChannel` used by `StreamBridge` is missing naming
information. Adding the proper application context and component name data
to the channel so that it is able to construct a name when queried.
2024-01-19 15:47:54 -05:00
Soby Chacko
75de93a95f Binding names docs refactoring 2024-01-18 17:59:16 -05:00
Artem Bilan
bec9a1c996 Fix Checkstyle violation in KafkaConfigCustomizationTests 2024-01-18 15:52:55 -05:00
Artem Bilan
b098929048 Fix generics for BinderCustomizer contract
The expectation is like this `Binder<T, C extends ConsumerProperties, P extends ProducerProperties>`
so, the `BinderCustomizer` must be in extension bounds as well.

* Move Javadocs from the `BinderCustomizer.customize()` to the class level
* Add `BinderCustomizer` verification to the `KafkaConfigCustomizationTests`
2024-01-18 15:46:17 -05:00
Soby Chacko
13552f624b GH-2794: AMCB ObjectMaper serialization issues
Fixes https://github.com/spring-cloud/spring-cloud-stream/issues/2794

The custom ObjectMapper used in AMCB is unable to serialize java.time.Duration
values. To fix this, the ObjectMapper needs to register the JavaTimeModule from
the jackson-datatype-jsr310 libarary.

Adding a test to verify the fix.
2023-12-21 17:18:54 -05:00
Soby Chacko
adf6e2f781 Tests cleanup - Pulsar binder
- See previous commit for more details
2023-12-13 16:34:43 -05:00
Soby Chacko
e908de1dfd GH-2870: Issues when closing multi-binder contexts
- When closing multi-binder contexts, the application throws a StackOverflow error
   due to an unnecessary addition of the binder child context as a separate bean
   in the main context. This was done previously for testing purposes.
 - Disabling the affected tests in the Pulsar binder until we come up with a
   different solution.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2870
2023-12-12 21:22:54 -05:00
“claudio-code”
1bfaed9471 Changed two links 2023-12-11 10:52:35 -05:00
Soby Chacko
95775b5eba Kafka Streams binder test cleanup 2023-12-08 17:32:14 -05:00
Soby Chacko
4d49a27cc1 Update Confluent platform docker images to 7.5.0 2023-12-08 16:45:55 -05:00
buildmaster
aa597bbfcb Bumping versions to 4.1.1-SNAPSHOT after release 2023-12-06 15:16:34 +00:00
buildmaster
fae2175dc3 Going back to snapshots 2023-12-06 15:16:33 +00:00
buildmaster
a4fb285836 Update SNAPSHOT to 4.1.0 2023-12-06 15:12:11 +00:00
Soby Chacko
620818b899 GH-2847: Multiple outputs routing-key-expression
- When there are multiple output bindings present and one of them defines
   a routing-key-expression, there is a bug that bypasses the code that skips
   the output conversion. This results in the framework attempts a pre-mature
   type conversion causing in later downstream errors. This happens because
   MessageConverterConfigurer tries to find a corresponding function for the
   entire function definition rather than using the individual function under
   consideraion. Fixing this issue by properly keeping track of the function
   name keyed off of the channel name, since channel name is what
   MessageConverterConfigurer uses to retrieve info about the function name.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2847
2023-12-06 13:13:57 +01:00
Oleg Zhurakousky
35964fc935 GH-2728 Reverse order of propagation of beans between parent and child context
Resolves #2728
2023-12-04 18:01:17 +01:00
omercelikceng
8f5e7d75f2 Improve topic retries in KafkaTopicProvisioner
- If null is returned while retrieving partitions for the Consumer, it is enabled to retry.
 - Unused import is deleted.
2023-12-01 13:06:22 -05:00
omercelikceng
de989d65d2 Multiplex config in ReactorKafkaBinder
- The bug for multiplex configuration in ReactorKafkaBinder was resolved
   and a method was written for common partition-related operations.
 - Refactor KafkaBinderUnitTests
2023-12-01 12:48:16 -05:00
Oleg Zhurakousky
116813d1bb Add test for empty JSON 2023-11-30 19:01:00 +01:00
buildmaster
b5476231ce Bumping versions 2023-11-29 10:15:15 +00:00
Chris Bono
fe6d8871f4 Fix failure in PulsarExtendedBindingPropertiesTests
The default value for PulsarContainerProperties.subscriptionType was switched
to `null` in ed3899fcb9 (diff-1371e1026362d375ef0f90846291add7cdcae0c340b934e3972d0bd72b312fa5L61).

This commit adjusts the PulsarExtendedBindingPropertiesTests
'extendedBindingsArePropagatedToContainerProperties' test for this fact.
2023-11-27 10:29:12 -05:00
Soby Chacko
d30f94af46 GH-2857: Kafka Streams binder customization issues
- StreamsBuilderFactoryBeanConfigurer customizaton happpens only after
   the StreamsBuilder object is created by the factory bean. This creates
   a scenario in which the customizations provided by the application are
   skipped by the StreamsBuilder. Addressing this issue.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2857
2023-11-22 18:41:34 -05:00
Soby Chacko
652b22cf76 Fix failing tests
- Fix failing Kafka Streams binder tests due to some EmbeddedKafka changes
2023-11-22 18:21:21 -05:00