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

Anton Kozlov akozlov at openjdk.org
Thu Jul 13 11:40:44 UTC 2023


On Tue, 4 Jul 2023 09:56:37 GMT, Radim Vansa <rvansa at openjdk.org> wrote:

>> When the application does not close some file descriptors through Resources we can use `jdk.crac.resource-policies` pointing to a configuration file that might adjust the behaviour. The file uses a simple YAML-conformant format with individual rules separated by a line with `---`:
>> 
>> 
>> type: file
>> path: /path/to/*.txt
>> action: close
>> ---
>> type: socket
>> localAddress: 127.0.0.1
>> localPort: 8080
>> action: ignore
>> 
>> 
>> Available types:
>> * `file`: supports `path` with 'glob' pattern matching (see FileSystem.getPathMatcher() for details)
>> * `pipe`: anonymous pipes (named pipe is handled as `file`)
>> * `socket`: can be refined using `family`, `localAddress`, `localPort`, `localPath` (in case of Unix sockets), `remoteAddress`, `remotePort` and `remotePath`
>> 
>> Actions depend on each resource, defaulting to `error`, with common options `close` and `ignore`. Files have `reopen` action, too.
>
> Radim Vansa has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add policies to FileDescriptor

src/java.base/share/classes/java/io/FileDescriptor.java line 80:

> 78:                 if (policy != null) {
> 79:                     action = policy.action;
> 80:                     warn = policy.params.getOrDefault("warn", "false");

Please make the warning enabled by default.

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

PR Review Comment: https://git.openjdk.org/crac/pull/69#discussion_r1262425989


More information about the crac-dev mailing list