-
Notifications
You must be signed in to change notification settings - Fork 310
Crac Support - Lifecycle Implementation #1486
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
Comments
Thank you for reaching out. The cassandra driver tries to connect to the db early which opens the socket. Changes contained in #1485 and proposed via spring-projects/spring-boot#39948 allow to defer the actual connect, which in turn may allow to create a checkpoint as long as no interaction with the database happens. |
Spring Data Cassandra's infrastructure support is comprised of We do not plan on adding further utilities in Spring Data Cassandra to widen Checkpoint-Restore arrangements. Any kind of support would have to reside in Spring Boot as Boot's Cassandra support doesn't require Spring Data. |
To be able to use Crac with spring boot applications, all open connections need to be closed before a checkpoint is taken and then they need to be re-established after a checkpoint is restored.
Spring framework has added in support for automatically stopping any implementations of
Lifecycle
before the checkpoint and starting them after the checkpoint restore. (spring-projects/spring-framework#29921)There has been several issues/PRs raised to provide support for this for kafka, web servers, redis, jdbc etc (spring-projects/spring-kafka#2760) however there is currently no support for cassandra.
Currently, if you attempt to take a checkpoint of a spring cassandra app, it will result in the following error.
(i've condensed the full error log as its very long)
Requirements
The text was updated successfully, but these errors were encountered: