-
Notifications
You must be signed in to change notification settings - Fork 316
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
Bump notify from 4.0.17 to 5.0.0 #8615
Conversation
👷 Deploy Preview for chef-habitat processing.
|
Hello dependabot[bot]! Thanks for the pull request! Here is what will happen next:
Thank you for contributing! |
95d64f1
to
c8ceea0
Compare
d0c4847
to
f76a470
Compare
Fair point.
I’ve been delivered not one but two thanksgiving turkeys this afternoon.
This likely explains a mystery bug I’ve been hitting in my testing today and finally had to dig into.
https://github.com/Stebalien/tempfile/blob/1a40687e06eb656044e3d2dffa1379f04b3ef3fd/src/lib.rs#L30
This is something I’ll need to account for as I work through responding to the different events.
notify-rs/notify#166
I don’t think either is terrible, especially given that they’re known now.
Will incorporate the feed back below and push a point in time check in of my changes. Need to start heading towards my mom’s place.
From: Matt Wrock ***@***.***>
Date: Tuesday, November 22, 2022 at 4:19 PM
To: habitat-sh/habitat ***@***.***>
Cc: Jason Heath ***@***.***>, Assign ***@***.***>
Subject: Re: [habitat-sh/habitat] Bump notify from 4.0.17 to 5.0.0 (PR #8615)
@mwrock commented on this pull request.
________________________________
In components/sup/src/manager/file_watcher.rs<#8615 (comment)>:
- #[derive(Clone, Debug, PartialEq)]
- struct NotifyEvent {
- path: PathBuf,
- kind: NotifyEventKind,
+ // Logging the fact that a particular path was ignored. Ignoring a given
+ // path may be the correct thing to do so the purpose of logging that a
+ // particular path was ignored is to highlight that the path was ignored in
+ // case the decision made today to ignore the event needs to be changed
+ // due to design changes, lessons learned (bugs) or notify crate updates.
+ fn log_ignored_path(&mut self, notify_event: &Event, path_buf: &PathBuf) {
+ info!("IGNORING {:?} of {:?}", path_buf, notify_event)
this is probably something you want to log at TRACE level. INFO would be way too noisy.
—
Reply to this email directly, view it on GitHub<#8615 (review)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAAHD6CKX7STWJQVPYWLUNTWJU2EFANCNFSM6AAAAAAQA73KFE>.
You are receiving this because you were assigned.Message ID: ***@***.***>
|
cbdcb31
to
8573c22
Compare
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.
I'm not done but I'm going to send these along for now.
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.
In addition to these comment there are a few general comments:
- The code comments seem somewhat excessive. I definitely appreciate assistance in understanding what is happening, but these seem super verbose.
- The debug logging also seems a bit excessive. It may just be that you need this for the nitial development but you may want to reevaluate if you need all of this.
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.
I have not looked over the tests yet but thought I would get this review batch out now so you could start looking sooner than later if you wanted.
A newer version of notify exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged. |
Here's the changelog for 5.1.0.
How would you like to handle? For us, its really all about that change on the windows crate as since we don't use kqueue. I can argue for and against both finishing the upgrade work and bumping later vs bumping to 5.1.0 now. Given the nature of the change I think I would break towards upgrading now but you have a much better perspective on what that change will mean for windows. |
I would go ahead and bump and if there is no refactoring needed and the tests pass then we can just take it. Otherwise we will probably want to do separately unless it is something obvious and trivial. |
Bumped and pushed. Made sure that only the notify dependency changed. Verified that |
Still making my way through the tests but wanted to drop this one comment now. There are a lot of tests and parts of tests that are relying on knowledge of the private API and implementation of the file watcher. For instance a lot of checking on the watched file state and other tests calling methods like preclude_directories and the ends_with functions. I think we really just want to have tests that call the public API: new, run, single_iteration and validate that certain events were called or not called. I think you are already testing that the events are being called and I see pretty thorough testing on the error conditions of |
It looks like |
The latest version of the code does this. (Just updating to keep track where we are) |
Most recent version of the code should address all of this. (Just updating to keep track where we are) |
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.
still going through this but here is what I have now. Also there are a lot of comments referencing v5.0.0 specifically. Eventually we will be on a higher version and these references may become confusing.
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.
In addition to these comments, I noticed that the test methods return a result. Typically, a test function returns nothing which eliminates the need for the empty Ok(())
at the end. It's not a big deal and you can leave it but thought you should know.
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.
Looks good! Just one super minor comment. And also looks like you need to address some clippy/linting stuff.
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.
Looks good pending rebase and merge. So much cleaner without the notify crate!
Complete rewrite of FileWatcher which eliminated the use of the notify crate. Removed **/sup/**/manager/debug.rs which was only used in old FileWatcher impl. Updated usage of notify crate in the places it is still used. Signed-off-by: Jason Heath <jason.heath@progress.com>
ffcf4d0
to
1502382
Compare
Bumps notify from 4.0.17 to 5.0.0.
Release notes
Sourced from notify's releases.
Changelog
Sourced from notify's changelog.
... (truncated)
Commits
d985ae1
prepare 5.0.0a83279f
improve upgrade docs and fix Config link65da37b
file back v4 history into changelog1fbf8fa
add accessor for whether rescan is required on Event17580f6
fixup rebase gunk54465e9
fixup optional crossbeam feature selection in debouncer-mini94f1680
update minimum walkdir version to 2.2.2 (#432)4d16a54
fixup doc links post initial debouncer-mini released698f90
fixup moved readme due to reorg2f91e15
fix typo in readmeDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)