-
Notifications
You must be signed in to change notification settings - Fork 13
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
jdk.internal.crac.mirror.impl.CheckpointOpenResourceException: FD fd=28 type=unknown path=anon_inode:[eventpoll] #26
Comments
You should see a log message suggesting to add |
I added
Among them
An error is still reported when executing
The start window reports an error when executing
The content of
|
I also tried to use
The error log of
|
Oh sorry, I did not notice that the error is coming from the native FD detection (rather than from Java counterpart). In that case the system property can't trace it, and policies won't be applied - Java part simply won't know about the FD. In that case I usually debug with In your second comment you got over the native FD checks in CRaC (I guess that policies made the FD ignored), but it failed in CRIU - it didn't know how to reliably persist an open socket. |
any way to have the descriptor policy be applied to native FD open files rather Java only processes? |
Not at this point. Architecturally, we want to apply the policies on the resource level - e.g. Have you figured out what resource does open the epollfd? Could that be Netty? I've tried to add automatic close there but the dependency to |
In the lambdas I am testing we've got AWS SSM, MongoDB and Kafka and by the looks of it the sockets don't get closed for the snapshot to be taken as I am getting opensocket exceptions. When I use a file descriptor to close all sockets I get the same generic CheckpointOpenResourceException: FD fd=29 type=unknown path=anon_inode:[eventfd] error so I don't know what file is still open? So not sure how I can deal with closing all open files & sockets properly before the snapshot to be taken? |
@tzvetkovg It is the application responsible for closing those FD - the configurable policies is rather a workaround for some usecases, not a solution that should do it all. So, to reiterate it's application responsibility to close it => probably task for Springboot guys. |
sorry but that's making CRAC quite limited/unusable for complex APPS using spring boot, kafka, mongoDB etc. as closing of the open socket/files functionality is not supported out of the box and by the looks of it spring boot hasn't yet implemented any mechanisms to do so automatically? |
Closing e.g. a socket to the database transparently to the application (or to the framework) is something that's practically impossible to do reliably; you'd just blow the application up and hope that it survives that sort of interruption. Can you put up a minimalistic application that demonstrates your problem? We have a good relationship with Springboot folks, so if we can pinpoint it we can cooperate to fix it in there. |
How to solve the error jdk.internal.crac.mirror.impl.CheckpointOpenResourceException: FD fd=28 type=unknown path=anon_inode:[eventpoll]
My pom.xml configuration is as follows:
When currently planning to add a checkpoint, the following exception was thrown, and the stack is as follows:
The text was updated successfully, but these errors were encountered: