[crac] RFR: Handle open file descriptors with configurable policies [v7]

Radim Vansa rvansa at openjdk.org
Fri Jun 16 15:50:11 UTC 2023


> When the application does not close some file descriptors through Resources we can use `jdk.crac.file-policy.checkpoint`, `jdk.crac.file-policy.restore`, `jdk.crac.socket-policy.checkpoint` and `jdk.crac.socket-policy.checkpoint` to configure the behaviour.
> 
> These properties can specify a list of semicolon-separated key=value pairs, where the key can be one of:
> 
> * numeric file descriptor
> * for `file-policy`, path using 'glob' pattern matching (see FileSystem.getPathMatcher() for details) - this matches named pipes, too
> * for `file-policy` keyword `FIFO` matching all pipes (including anonymous)
> * for `socket-policy` a `<local>,<remote>` pair, with the `<remote>` part being optional. Both `<local>` and `<remote>` can be unix socket path, IPv4/IPv6 address with optional colon and port number or wildcard `*` replacing any of those parts.
> 
> The possible values are in OpenFilePolicies.BeforeCheckpoint, OpenFilePolicies.AfterRestore, OpenSocketPolicies.BeforeCheckpoint and OpenSocketPolicies.AfterRestore enums.

Radim Vansa has updated the pull request incrementally with one additional commit since the last revision:

  Don't use numeric FDs, remote _AT_END policies

-------------

Changes:
  - all: https://git.openjdk.org/crac/pull/69/files
  - new: https://git.openjdk.org/crac/pull/69/files/a5c8a484..69d03522

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=crac&pr=69&range=06
 - incr: https://webrevs.openjdk.org/?repo=crac&pr=69&range=05-06

  Stats: 439 lines in 10 files changed: 220 ins; 196 del; 23 mod
  Patch: https://git.openjdk.org/crac/pull/69.diff
  Fetch: git fetch https://git.openjdk.org/crac.git pull/69/head:pull/69

PR: https://git.openjdk.org/crac/pull/69


More information about the crac-dev mailing list