From 74f819612f1e9a061bf5b12c419e0e9ac00652d6 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Wed, 27 Nov 2019 10:16:36 -0500 Subject: fs: add ENFILE to rimraf retry logic Co-authored-by: Thang Tran Fixes: https://github.com/nodejs/node/issues/30482 Refs: https://github.com/nodejs/node/pull/30499 Refs: https://github.com/nodejs/node/issues/30580 PR-URL: https://github.com/nodejs/node/pull/30644 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- doc/api/fs.md | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'doc') diff --git a/doc/api/fs.md b/doc/api/fs.md index 1a34e18414..267fa9ec2b 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -3225,7 +3225,8 @@ changes: description: The `maxBusyTries` option is renamed to `maxRetries`, and its default is 0. The `emfileWait` option has been removed, and `EMFILE` errors use the same retry logic as other errors. The - `retryDelay` option is now supported. + `retryDelay` option is now supported. `ENFILE` errors are now + retried. - version: v12.10.0 pr-url: https://github.com/nodejs/node/pull/29168 description: The `recursive`, `maxBusyTries`, and `emfileWait` options are @@ -3248,11 +3249,11 @@ changes: * `path` {string|Buffer|URL} * `options` {Object} - * `maxRetries` {integer} If an `EBUSY`, `EMFILE`, `ENOTEMPTY`, or `EPERM` - error is encountered, Node.js will retry the operation with a linear backoff - wait of `retryDelay` ms longer on each try. This option represents the number - of retries. This option is ignored if the `recursive` option is not `true`. - **Default:** `0`. + * `maxRetries` {integer} If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or + `EPERM` error is encountered, Node.js will retry the operation with a linear + backoff wait of `retryDelay` ms longer on each try. This option represents the + number of retries. This option is ignored if the `recursive` option is not + `true`. **Default:** `0`. * `recursive` {boolean} If `true`, perform a recursive directory removal. In recursive mode, errors are not reported if `path` does not exist, and operations are retried on failure. **Default:** `false`. @@ -3277,7 +3278,8 @@ changes: description: The `maxBusyTries` option is renamed to `maxRetries`, and its default is 0. The `emfileWait` option has been removed, and `EMFILE` errors use the same retry logic as other errors. The - `retryDelay` option is now supported. + `retryDelay` option is now supported. `ENFILE` errors are now + retried. - version: v12.10.0 pr-url: https://github.com/nodejs/node/pull/29168 description: The `recursive`, `maxBusyTries`, and `emfileWait` options are @@ -3292,8 +3294,9 @@ changes: * `path` {string|Buffer|URL} * `options` {Object} - * `maxRetries` {integer} If an `EBUSY`, `ENOTEMPTY`, or `EPERM` error is - encountered, Node.js will retry the operation. This option represents the + * `maxRetries` {integer} If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or + `EPERM` error is encountered, Node.js will retry the operation with a linear + backoff wait of `retryDelay` ms longer on each try. This option represents the number of retries. This option is ignored if the `recursive` option is not `true`. **Default:** `0`. * `recursive` {boolean} If `true`, perform a recursive directory removal. In @@ -5014,7 +5017,8 @@ changes: description: The `maxBusyTries` option is renamed to `maxRetries`, and its default is 0. The `emfileWait` option has been removed, and `EMFILE` errors use the same retry logic as other errors. The - `retryDelay` option is now supported. + `retryDelay` option is now supported. `ENFILE` errors are now + retried. - version: v12.10.0 pr-url: https://github.com/nodejs/node/pull/29168 description: The `recursive`, `maxBusyTries`, and `emfileWait` options are @@ -5025,11 +5029,11 @@ changes: * `path` {string|Buffer|URL} * `options` {Object} - * `maxRetries` {integer} If an `EBUSY`, `EMFILE`, `ENOTEMPTY`, or `EPERM` - error is encountered, Node.js will retry the operation with a linear backoff - wait of `retryDelay` ms longer on each try. This option represents the number - of retries. This option is ignored if the `recursive` option is not `true`. - **Default:** `0`. + * `maxRetries` {integer} If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or + `EPERM` error is encountered, Node.js will retry the operation with a linear + backoff wait of `retryDelay` ms longer on each try. This option represents the + number of retries. This option is ignored if the `recursive` option is not + `true`. **Default:** `0`. * `recursive` {boolean} If `true`, perform a recursive directory removal. In recursive mode, errors are not reported if `path` does not exist, and operations are retried on failure. **Default:** `false`. -- cgit v1.2.3