Skip to content

Support Session suspend and resume #2034

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

Open
wants to merge 1 commit into
base: 4.x
Choose a base branch
from

Conversation

rvansa
Copy link

@rvansa rvansa commented Apr 9, 2025

This PR is somewhat based on discussions on https://lists.apache.org/thread/9sms1sk8fd739mp7699wrbj0vnd0kzd1

If an application wants to use OpenJDK CRaC it must terminate all connections to nodes before checkpoint. Here we expose a high-level API in SessionLifecycleManager without relying on CRaC itself. Also it is pretty clear that it does not pose any risk to application that won't use this API.

Our current goal is to support CRaC checkpoint in Spring Boot application. My first attempt in spring-projects/spring-boot#44505 was declined because the way Cassandra Java Driver was accessed seemed too low-level for Spring Boot; I expect that with the API this PR introduces the Spring Boot integration could just invoke the methods without relying on driver internals.

I expect that in the future SessionLifecycleManager could expose methods for hinting the driver if all nodes died and the driver has to reconnect to a completely new node.

@rvansa rvansa force-pushed the crac_suspend_support branch from d679372 to 7379588 Compare April 9, 2025 14:20
If an application wants to use OpenJDK CRaC it must terminate all
connections to nodes before checkpoint. Here we expose a high-level API
in SessionLifecycleManager without relying on CRaC itself.
@rvansa rvansa force-pushed the crac_suspend_support branch from 7379588 to 701df2e Compare April 10, 2025 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants