Skip to content
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

fix(gatsby-transformer-sharp): prevent duplicate copy of the same file #20620

Conversation

denisbabineau
Copy link
Contributor

a race condition existed between existsSync() and .copy() for the same file causing the underlying fs-extra to randomly fail on unlink / chmod syscalls

now keeping track of copies in progress to prevent multiple parallel copies of the same file.

fixes #20602

thanks to @pieh for the proposed fix

a race condition existed between existsSync() and .copy() for the same file causing the underlying fs-extra to randomly fail on unlink / chmod syscalls
@denisbabineau denisbabineau requested a review from a team as a code owner January 15, 2020 13:29
@pieh pieh self-assigned this Jan 15, 2020
@pieh
Copy link
Contributor

pieh commented Jan 16, 2020

I didn't try the proposed fix - just wrote up something that made some sense (IMO).

Did you try this approach and it fixed the FS issues you were seeing?

@denisbabineau
Copy link
Contributor Author

Yes, tested locally with extra logging to confirm that it copies each files once.

Copy link
Contributor

@pieh pieh left a comment

Choose a reason for hiding this comment

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

Thanks @denisbabineau!

@pieh pieh merged commit 93f0645 into gatsbyjs:master Jan 16, 2020
@gatsbot
Copy link

gatsbot bot commented Jan 16, 2020

Holy buckets, @denisbabineau — we just merged your PR to Gatsby! 💪💜

Gatsby is built by awesome people like you. Let us say “thanks” in two ways:

  1. We’d like to send you some Gatsby swag. As a token of our appreciation, you can go to the Gatsby Swag Store and log in with your GitHub account to get a coupon code good for one free piece of swag. We’ve got Gatsby t-shirts, stickers, hats, scrunchies, and much more. (You can also unlock even more free swag with 5 contributions — wink wink nudge nudge.) See gatsby.dev/swag for details.
  2. We just invited you to join the Gatsby organization on GitHub. This will add you to our team of maintainers. Accept the invite by visiting https://github.com/orgs/gatsbyjs/invitation. By joining the team, you’ll be able to label issues, review pull requests, and merge approved pull requests.

If there’s anything we can do to help, please don’t hesitate to reach out to us: tweet at @gatsbyjs and we’ll come a-runnin’.

Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[gatsby-transformer-sharp] errors copying files
2 participants