Commit Graph

269 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
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
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
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
93cd52d29d KafkaTopicProvisioner - cleanup deprecation 2024-02-06 10:06:54 -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
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
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
Soby Chacko
95775b5eba Kafka Streams binder test cleanup 2023-12-08 17:32:14 -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
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
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
Georg Friedrich
ba0924acc2 GH-2843: Kafka Streams binder component bean issue
Fix automatic Serde detection for branched function components

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2843
2023-11-13 13:36:51 -05:00
Soby Chacko
d130b46110 Test cleanup in Kafka binder modules
Part of fixing https://github.com/spring-cloud/spring-cloud-stream/issues/2371.
2023-11-08 19:35:07 -05:00
Soby Chacko
71e095343c Test cleanup in Kafka Streams binder modules
Part of fixing https://github.com/spring-cloud/spring-cloud-stream/issues/2371.
2023-11-08 17:04:33 -05:00
Soby Chacko
bafffad0f5 Test cleanup in rabbit binder modules
- Remove the test name prefix from the test methods in the rabbit binder modules
 - package protected tests in rabbit binder

Part of fixing https://github.com/spring-cloud/spring-cloud-stream/issues/2371.
2023-11-08 12:49:00 -05:00
Soby Chacko
92324641ef GH-2846: Regression issue in Kafka Streams binder
- When @Configuration or @Component style beans are used in Kafka Streams
   binder applications, there exists a regression that prevents the binder
   infrastructure to correctly detect the beans. Addressing this issue.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2846
2023-11-07 16:32:35 -05:00
Soby Chacko
b8e4885d21 Kafka Streams binder native changes
- RocksDBException and Status need INVOKE_DECLARED_CONSTRUCTOR privileges
2023-11-03 14:37:10 -04:00
Soby Chacko
36a43be235 package protected tests in rabbit binder 2023-11-02 15:34:17 -04:00
Soby Chacko
462d42b3ad package protected test classes - Pulsar binder 2023-11-02 15:10:03 -04:00
Soby Chacko
116d8dc535 [Test Cleanup - Package Private]
- spring-cloud-stream-binder-kafka-streams module tests
2023-11-02 14:29:25 -04:00
Soby Chacko
6af434c18a [Test Cleanup - Package Private]
- spring-cloud-stream-binder-kafka-reactive module tests
2023-11-01 15:44:21 -04:00
Soby Chacko
515923266e [Test Cleanup - Package Private]
- spring-cloud-stream-binder-kafka-core module tests
2023-11-01 15:38:07 -04:00
Soby Chacko
60dfce7adc [Test Cleanup] Kafka binder tests package private 2023-11-01 15:32:28 -04:00
buildmaster
9054367f67 Going back to snapshots 2023-10-31 13:34:17 +00:00
buildmaster
b3a3e03634 Update SNAPSHOT to 4.1.0-RC1 2023-10-31 13:30:45 +00:00
Soby Chacko
c994dd5ab1 checkstyle fixes 2023-10-27 16:12:31 -04:00
Soby Chacko
503da99b19 Test cleanup in Kafka binder
- Remove the unncessary usage of @ExtendWith in Kafka binder tests
2023-10-26 17:55:25 -04:00
Soby Chacko
e8431e4600 AOT/Native related changes in Kafka Streams binder
- Add KafkaStreams related native hints (Note: Once we add the
   Kafka Streams specific 3rd party hints to the reachability
   metadata repository, we will remove those hints from the binder)
 - Related changes in DefaultBinderFactory
 - KafkaStreamsBindableProxyFactory changes triggered by AOT/native

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2323

Addressing PR review comments
Resolves #2832
2023-10-20 16:50:47 +02:00
Steven PG
4a4ce6975a Add DltAwareProcessor trace logging
Since exception is not propogated, adding a trace log allows an optional way for a developer to utilize the defaultRecoverer and still do some basic review of a given exception.
2023-10-18 22:09:48 -04:00
Soby Chacko
a74ea9fe87 Introduce a hierarchy for DltAwareProcessor
- Common abstraction - RecordRecoverableProcessor which DltAwareProcessor extends
2023-10-17 13:02:55 -04:00
Soby Chacko
04e27d1bbe AOT required changes in Kafka Streams binder 2023-10-13 17:32:24 -04:00
Soby Chacko
4b53c839ac Sending record keys as part of DltAwareProcessor 2023-10-12 20:26:32 -04:00
Soby Chacko
d650f9e1e8 Kafka Streams binder code cleanup
- Remove deprecated API usage
 - Other cleanup
 - EmbeddedKafka changes in tests
2023-10-09 21:12:27 -04:00
Soby Chacko
cf6cea6525 GH-2817: Method name clash in Kafka Streams binder
- When there are two methods with the same name but with different type erasures,
   Kafka Streams binder sometimes detects the incorrect method. Fixing this issue
   by specifically type checking the return type for Kafka Streams types.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2817
2023-09-29 21:24:31 -04:00
Soby Chacko
3a52c3b3cf GH-2821: Kafka Streams branching as Component bean
- When Kafka Streams branching function is provided as a Component bean,
   there is an issue where the raw class check on the return outbound
   resolvable type cuases an NPE. Fixing this issue by adding a null check
   on the return type's raw class.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2821
2023-09-29 16:27:04 -04:00
Soby Chacko
895570fb48 Code cleanup: AbstractKafkaStreamsBinderProcessor
- Remove deprecation warnings
 - Other code cleanup
2023-09-29 15:33:09 -04:00