-
Notifications
You must be signed in to change notification settings - Fork 30k
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
fs: re-enable watch facility in AIX #10085
Conversation
I am excited to see the AIX exceptions removed from parallel.status. Thanks for doing this! The JS test code change looks good to me. The text in the paragraph added to the doc needs some editing. Maybe someone from @nodejs/documentation can take a look and provide a reformatted version. |
Oh, I see there are changes in |
No. |
@Trott , @bnoordhuis , thanks. So what is the recommendation here? first have a PR for the uv change, and then come back here with the rest of the changes? or progress this PMR and schedule the uv PR before the next libuv release separately? sorry for being blunt here, I don't know the process much. |
@gireeshpunathil libuv PR -> libuv release -> libuv upgrade in node -> node PR -> node release. You can file the node PR ahead of time but it can't land until the libuv upgrade. |
ok, got it. will work on the libuv PR, to follow the sequence. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
doc/api/fs.md
Outdated
@@ -1750,6 +1750,13 @@ a new inode. The watch will emit an event for the delete but will continue | |||
watching the *original* inode. Events for the new inode will not be emitted. | |||
This is expected behavior. | |||
|
|||
In AIX, Save and close of a file being watched causes two notifications - | |||
one for adding new content, and one for truncation. Moreover, save and close | |||
causes other platforms to loose the watching - as the inode changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lose
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest rewording just a bit...
Moreover, save and close operations on some platforms cause inode changes
that force watch operations to become invalid and ineffective.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit but otherwise LGTM
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate.
made the doc changes as per @jasnell . @thefourtheye - thanks, your change proposal is indirectly addressed, as the entire sentence is now modified. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gireeshpunathil Thanks :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. CI before landing: https://ci.nodejs.org/job/node-test-pull-request/6318/
Landed in 46edd94. Thanks! |
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate. Refs: #11094 Refs: #5085 PR-URL: #10085 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
thanks everyone! |
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate. Refs: #11094 Refs: #5085 PR-URL: #10085 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate. Refs: nodejs#11094 Refs: nodejs#5085 PR-URL: nodejs#10085 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate. Refs: nodejs#11094 Refs: nodejs#5085 PR-URL: nodejs#10085 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
should this land in v6 or v4? |
I guess no, as this PR depends on aix: re-enable fs watch facility from libuv 1.11.0, which v6 and v4 haven't consumed. |
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate. Refs: #11094 Refs: #5085 PR-URL: #10085 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate. Refs: #11094 Refs: #5085 PR-URL: #10085 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate. Refs: #11094 Refs: #5085 PR-URL: #10085 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
On AIX, watch feature depends on AHAFS based Event infrastructure. While in principle the watch use case is same across platforms, there are subtle differences in the way AIX deals with this, with few behavioral changes (external). This commit addresses an assertion failure on folder watch, enabling the AIX code for watch feature which was masked under a macro, open up relevant test cases, skip tests which comes under the AIX limitation, and make the document changes as appropriate. Refs: nodejs/node#11094 Refs: nodejs/node#5085 PR-URL: nodejs/node#10085 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Checklist
make -j8 test
(UNIX), orvcbuild test nosign
(Windows) passesAffected core subsystem(s)
fs
Description of change
Please refer to 5085 for a full description of the background, need for this PR, and the changes.
On AIX, watch feature depends on AHAFS based Event infrastructure.
While in principle the watch use case is same across platforms, there
are subtle differences in the way AIX deals with this, with few
behavioral changes (external).
This commit addresses an assertion failure on folder watch, enabling the
AIX code for watch feature which was masked under a macro, open up
relevant test cases, skip tests which comes under the AIX limitation,
and make the document changes as appropriate.