-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
False
-
None
-
False
-
-
When using the sink Kinesis, the server fails to start with:
2024-12-11 11:25:23,166 ERROR [io.deb.ser.ConnectorLifecycle] (pool-7-thread-1) Connector completed: success = 'false', message = 'java.lang.NoSuchFieldError: Class com.fasterxml.jackson.databind.PropertyNamingStrategy does not have member field 'com.fasterxml.jackson.databind.PropertyNamingStrategy PASCAL_CASE_TO_CAMEL_CASE'', error = 'java.lang.NoSuchFieldError: Class com.fasterxml.jackson.databind.PropertyNamingStrategy does not have member field 'com.fasterxml.jackson.databind.PropertyNamingStrategy PASCAL_CASE_TO_CAMEL_CASE'': java.lang.NoSuchFieldError: Class com.fasterxml.jackson.databind.PropertyNamingStrategy does not have member field 'com.fasterxml.jackson.databind.PropertyNamingStrategy PASCAL_CASE_TO_CAMEL_CASE' at software.amazon.awssdk.regions.internal.util.EC2MetadataUtils.<clinit>(EC2MetadataUtils.java:95) at software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider.getToken(InstanceProfileCredentialsProvider.java:83) at software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider.getCredentialsEndpointProvider(InstanceProfileCredentialsProvider.java:69) at software.amazon.awssdk.auth.credentials.HttpCredentialsProvider.refreshCredentials(HttpCredentialsProvider.java:74) at software.amazon.awssdk.utils.cache.CachedSupplier.refreshCache(CachedSupplier.java:132) at software.amazon.awssdk.utils.cache.CachedSupplier.get(CachedSupplier.java:89) at java.base/java.util.Optional.map(Optional.java:260) at software.amazon.awssdk.auth.credentials.HttpCredentialsProvider.resolveCredentials(HttpCredentialsProvider.java:146) at software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.resolveCredentials(AwsCredentialsProviderChain.java:91) at software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider.resolveCredentials(LazyAwsCredentialsProvider.java:45) at software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider.resolveCredentials(DefaultCredentialsProvider.java:104)
How to reproduce
1.- Build the Debezium server distribution: ./mvnw clean package -DskipITs -DskipTests -Passembly
2.- Start Up postgres listening at localhost:5432, use the following docker-compose.yml as a reference: https://github.com/debezium/debezium-server/pull/140/files#diff-56a998a8165ad21afa94ccb494c4b08f843d129dfd9e897780e5d766f59c1aaeR103
3.- Copy the application properties of the distro folder to the Debezium target folder:
mkdir debezium-server-dist/target/config cp debezium-server-dist/src/main/resources/distro/config/application.properties.example debezium-server-dist/target/config/application.properties
The relevant part of this application properties file is:
debezium.sink.type=kinesis debezium.sink.kinesis.region=eu-central-1
4.- Then, when running the Debezium server:
cd debezium-server-dist/target chmod +x /classes/distro/run.sh /classes/distro/run.sh
In main, the run.sh fails with the above exception.
Acceptance Criteria
- Fix the Jackson incompatibility issue when using the sink Kinesis
- depends on
-
DBZ-3226 Create smoke test to make sure Debezium Server container image works
- Closed