Skip to content

Log digest file name when updating trust #12812

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

Merged
merged 2 commits into from
Jul 13, 2020
Merged

Log digest file name when updating trust #12812

merged 2 commits into from
Jul 13, 2020

Conversation

joyceerhl
Copy link

  • Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
  • Title summarizes what is changing.
  • Has a news entry file (remember to thank yourself!).
  • Appropriate comments and documentation strings in the code.
  • Has sufficient logging.
  • Has telemetry for enhancements.
  • Unit tests & system/integration tests are added/updated.
  • Test plan is updated as appropriate.
  • package-lock.json has been regenerated by running npm install (if dependencies have changed).
  • The wiki is updated with any design decisions/details.

@joyceerhl joyceerhl added the no-changelog No news entry required label Jul 8, 2020
@@ -27,6 +27,7 @@ export class DigestStorage implements IDigestStorage {
const fileLocation = await this.getFileLocation(uri);
// Since the signature is a hex digest, the character 'z' is being used to delimit the start and end of a single digest
await this.fs.appendFile(fileLocation, `z${signature}z\n`);
traceInfo(`Wrote trust for ${uri.toString()} to ${fileLocation}`);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd add a property to track whether we've logged this or not, else we could end up with a lot of unnecessary messages being logged, when we only need the first such log entry.

e.g.

if not loggedd earlier:
	traceInfo...

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then we'd need to remember which files we've seen before, since multiple notebook files could be edited simultaneously and we'd want to log each ipynb's corresponding digest file location at least once. Does your review still apply?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that we would have to do this logging check per file then. Don is right in that this would be so noisy with autosave on that it might not be a useful message if it logs every save.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I would just debounce it. Logging every save isn't that noisy. It's once a second.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Debouncing won't work as its possible we save a new file and that can get swallowed.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Debounce will not work, as you loose updates from other files.

Copy link

@DonJayamanne DonJayamanne Jul 9, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally i don't see the point of logging every update, the assumption is that something will go wrong and we will end up looking at the log and the file to look for a specific hash.
I find that to be an unlikely scenario.

Nope, re-read richs comments, it about tracking the last update to the file.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need that either, anyways.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@greazer suggested, and I agree, that we should log this info at least once for users. It seems plausible that something might go wrong and we won't have a way of recovering that info (short of them giving us the URI to their file and us hashing it to figure out which digest file is relevant).

This info dominates the log, so we shouldn't log on each save either. And as Don mentioned, debouncing won't work. Therefore, anyone have any strong objections to me implementing this? #12812 (comment)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure sounds fine.

@joyceerhl joyceerhl requested a review from DonJayamanne July 10, 2020 21:38
@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@joyceerhl joyceerhl merged commit cbe6cdb into microsoft:master Jul 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-changelog No news entry required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants