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

Topic/parallel cleanup #3

Closed

Conversation

karenetheridge
Copy link

A few times a week on some of my PSGI servers running 50-100 simultaneous workers, I get this type of error:

Parallel::Scoreboard:130 - failed to remove an obsolete scoreboard file:server-status/status_27543:No such file or directory at /home/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/Parallel/Scoreboard.pm line 130.

This seems to be caused by two workers being queried for /server-status (by way of Plack::Middleware::ServerStatus::Lite, which uses Parallel::Scoreboard) at the same time, causing two processes to call read_all() at the same time. One of the processes cleans up an obsolete file after the other process calls glob(), but before it calls unlink(), generating an ENOENT error.

This patch checks for that type of error before warning.

@karenetheridge
Copy link
Author

hi, is there anything I can do to assist?

@karenetheridge
Copy link
Author

rebased against the latest master

@kazuho
Copy link
Owner

kazuho commented Apr 9, 2014

Thank you for the fix. Cherry-picked to master in commit 6e5e772 and released as 0.05.

@kazuho kazuho closed this Apr 9, 2014
@karenetheridge karenetheridge deleted the topic/parallel_cleanup branch April 9, 2014 17:29
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.

None yet

2 participants