Skip to content

Conversation

cloud456
Copy link
Contributor

@cloud456 cloud456 commented Aug 21, 2025

Purpose of this pull request

At the Re:invent conference in 2024,AWS announced Amazon Aurora DSQL, a new serverless, distributed SQL database. Up to now, there is no tool that can synchronize to DSQL well.

Does this PR introduce any user-facing change?

How was this patch tested?

Check list

Copy link
Member

@Hisoka-X Hisoka-X left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cloud456
Copy link
Contributor Author

I found dsql support jdbc. Why not add new catalog and dialect in jdbc connector? Please refer https://github.com/apache/seatunnel/tree/dev/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog and https://github.com/apache/seatunnel/tree/dev/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect

The reason for not using JDBC is that the connection password for DSQL requires generating a temporary token to serve as the password. This token is only valid for 15 minutes by default, therefore requiring token renewal and dataSource reset within that 15-minute timeframe. Implementing this mechanism within JDBC would, in my opinion, be an intrusive behavior and not standard practice. Please refer https://docs.aws.amazon.com/aurora-dsql/latest/userguide/SECTION_authentication-token.html

@Hisoka-X
Copy link
Member

JDBC connector has many features available out of the box and is easier to maintain.

requires generating a temporary token to serve as the password.

So I think we can add new method named refreshPassword in JdbcConnectionProvider to adapt this situation.

@cloud456
Copy link
Contributor Author

Glad to hear it.Do you have any schedule for this? Just to mention, it's not only about implementing refreshPassword in JdbcConnectionProvider, but also redesigning JdbcConnectionConfig. DSQL doesn't require a username and password; instead, it creates a password using ak/sk or profile combined with region and cluster endpoint. Therefore, its parameter requirements for JdbcConnectionConfig are different, potentially changing the original parameter requirements, such as making username and password mandatory in the original design

@Hisoka-X
Copy link
Member

Glad to hear it.Do you have any schedule for this? Just to mention, it's not only about implementing refreshPassword in JdbcConnectionProvider, but also redesigning JdbcConnectionConfig. DSQL doesn't require a username and password; instead, it creates a password using ak/sk or profile combined with region and cluster endpoint. Therefore, its parameter requirements for JdbcConnectionConfig are different, potentially changing the original parameter requirements, such as making username and password mandatory in the original design

Yes, this indeed different. How about implements jdbc sink and overwrite key method to let this works?

@cloud456
Copy link
Contributor Author

Initially, I did consider using JDBC to implement the DSQL sink functionality. However, due to DSQL's unique characteristics that differ from other databases, implementing it based on JDBC might alter existing logic and affect other databases. This would require investing significant time in testing and verification to ensure correct logic without impacting other database functionalities. Currently, I don't have much time to invest in this approach, though perhaps it could be done in the future. And this DSQL sink connector I've submitted is implemented based on real user migration needs, and I hope it can be merged. Thank you!

Copy link
Member

@Hisoka-X Hisoka-X left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you provide a screenshot of it running normally?

@@ -0,0 +1,255 @@
# AWS DSQL Sink Connector
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Hisoka-X
Copy link
Member

Hisoka-X commented Sep 1, 2025

Also please check these TODO
image

@github-actions github-actions bot added document CI&CD core SeaTunnel core module labels Sep 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants