-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to AWS SDK 2.0 #155
Comments
It is. When all the dependencies we use are based on SDK v2 already. |
@artembilan there are any blockers of implementing this migration to AWS v2? |
Yes, this one is the biggest one: awspring/spring-cloud-aws#20 |
Schema Registry integration is available in KPL v0.14.2 or later and with KCL v2.3 or later. Please plan to include schema registry as part of next major upgrade. https://docs.aws.amazon.com/glue/latest/dg/schema-registry-integrations.html |
Just an update from Spring Cloud AWS side: we are upgrading to AWS SDK v2 - in upcoming weeks we are releasing 3.0 M1 with SNS, SES and S3 integrations (already merged to As far as I can see there are more blockers for migration though: awslabs/amazon-dynamodb-lock-client#48 |
Sounds good, @maciejwalkowiak ! I think I will start looking into this next month, perhaps in the end we can good realign the migration to AWS SDK v2 together with upcoming major release of Spring Cloud |
We are also in the need of this feature. Any ETA for this implementation? @Ravibs139 - Did you find any workaround to this? |
I have just recently added Glue Schema support into We will look into KCL v2.x in the nearest future. |
@jaychapani I used Spring custom MessageConverter for Glue scheme registry and it solved the serialization/deserialization to work with Glue. You need to implement your own Converter for Glue serde and register that as spring bean |
@Ravibs139 - I would appreciate any example or pointer for the implementation. |
@jaychapani you can use these sample code and tailored it for your needs.
|
@artembilan Is there any ETA on AWS SDK 2.0 migration or this spring integration to aws is kind of not on priority?. We adopted AWS Kinesis stream binder and it was helpful but it is on AWS 1.x SDK. We want to upgrade to AWS sdk 2.0 , but this needs to be resolved first. Would consider other options if you guys are not planning to implement this in near future or may consider contributing to AWS SDK 2. 0 upgradation. Please let me know |
We are really short-handed at the moment and contribution is welcome ! Otherwise I’ll try to look into this again next month. |
Spring Cloud AWS 3.0 M2 built on top of AWS SDK v2 is already released - since we've changed a lot of things it is possible that during migration some missing functionalities will be discovered - likely we can add them then. I've started to migrate Spring Integration AWS but at this stage it's not easy even to get to the state where it compiles (https://github.com/maciejwalkowiak/spring-integration-aws/tree/aws-sdk-v2) From what I can see other dependencies that have not been migrated yet to AWS SDK v2:
Unfortunately there seems to be no clear timeline when/if the migration will happen. @artembilan do you consider releasing a version that uses both AWS SDK v1 and v2, or you prefer to wait for all the dependencies to be migrated? |
Thank you, @maciejwalkowiak , for looking into this! That's what I wanted to ask you: can we migrate services one by one? To be short: can we have both SDKs as dependencies? |
Yes, technically it is possible - both AWS SDK v1 and v2 can be on the classpath. This would require a bit of duplication in the I'll see how far I can take my branch but I do it only in meantime so please don't rely on me with this upgrade. |
I see in pom.xml on master branch that DynamoDB Lock Client build on AWS SDK version 2.3.5. Sounds like AWS SDK 2.0. Am I wrong? What is the problem of releasing it? |
Looks like that. Thank you! |
Hi @artembilan, is there anything where I can contribute to releasing AWS SDK 2 with Spring cloud? I am happy to contribute if anything. |
Hi @saurabhygk ! Not sure what scope you are talking about, but for Spring Cloud AWS it is better to ask @maciejwalkowiak since he is leading respective project: https://awspring.io/. From Spring Integration extension perspective let's also ask @maciejwalkowiak to share his branch with us, so you may take over it for the remaining tasks. Either way keep in mind those two blockers for us: #155 (comment). any new about releasing Thank you all! |
We are on spring-cloud-stream-binder-kinesis of version 2.2.0(latest) and it is on KCL 1.x. We want to migrate to KCL2.x but looks like AWS SDK 2.0 migration is blocking this. Is there any other alternatives present for this?.Otherwise we are missing on the features related to KCL2.x already so we want to consider other options. Can someone please help with my above question here? |
This one is a huge blocker: awslabs/amazon-kinesis-producer#296, which is another part of Spring Cloud Stream binding feature. It would be a tremendous burden for us to support both SDKs on our side. |
I see that AWSpring is approaching a 3.0 release (it looks like 3.0.0.M3 is out, and M4 is in progress). Has work begun on a Spring Integration AWS 3, or is that being held until an AWSpring GA with a final API is published? |
@chrylis , see this my comment: #155 (comment). I don't know what else I can add: we are just blocked here and short-handed to consider supporting both SDK versions at the same time. Does it make sense to you? |
@artembilan I understand and was checking to confirm that the situation was the same as earlier and whether a 3.x existed somewhere or was blocked until AWSpring 3 is final. Thanks for the update. |
@artembilan DynamoDB Lock Client based on AWS SDK v2 got released: awslabs/amazon-dynamodb-lock-client#48 (comment) |
Thank you, @maciejwalkowiak ! Saw that, but you know we decided to go ahead with our own DynamoDB lock impl: https://github.com/spring-projects/spring-integration-aws/blob/main/src/main/java/org/springframework/integration/aws/lock/DynamoDbLockRepository.java. That AWS library does not do a proper TTL and does not honor From now on only KPL is our bottle neck. Although that one might deal with its own internal protocol ( So, if you have some PR about migrating this project to SC-AWS as we chatted before I'd be glad to review and merge it shorty 😄 |
I didn't manage to get that far yet. Let me try again, will post an update as soon as I have something ready. |
Heads up! I have just pushed a migration to AWS SDK v2. So, turned out we use our own DynamoDB lock implementation now. Therefore no need to wait for respective library from AWS Labs. The KPL stays independently and does not impact our usage of AWS SDK v2. We just simply use its high-level API. The DynamoDB Streams Kinesis Adapter is out of use already since now we easy can assign a Kinesis Stream to DynamoDB table with respective configuration or API. The KCL channel adapter no also supports a Glue Schema deserialization. I would like to get some feedback and possible contributions to tests to make a good progress with this project. Thank you all for your support and patience! 😄 |
Great news @artembilan! I am sorry I wasn't more helpful with this issue. |
OK. So, all the tests are now working after some cycles of bug-fixes and migrating to Testcontainers. Therefore if all good with Kinesis Binder migration, I'm going to release |
Is there any update on a |
The |
Fixes spring-projects/spring-integration-aws#155 * Upgrade to the latest deps including Gradle * Remove XML configuration support * Make use of SC-AWS 3.0 SQS and SNS support in respective channel adapters
Fixes spring-projects/spring-integration-aws#155 * Upgrade to the latest deps including Gradle * Remove XML configuration support * Make use of SC-AWS 3.0 SQS and SNS support in respective channel adapters
No description provided.
The text was updated successfully, but these errors were encountered: