Skip to content

Commit

Permalink
TDB-184 : Broken fsync error handling
Browse files Browse the repository at this point in the history
- Factored out i/o error reporting to be common and try to obtain actual
  filename from descriptor.
- Factored out write, close and fsync error handling into a common function that
  handles special cases sch as ENOLCK, EINTR, ENOSPC, and EIO. See upstream
  MySQL issues 34823 and 90296 for details on ENOLCK and EIO.
- Fixed write, close, and fsync retry logic to use new common handler.
- Touched up 'slow fsync' tracking and reporting to use new i/o error reporting.
- Converted metric trackers to std::atomic where appropriate.
- Various bits of code reformatting and conversions to std::atomic and
  constexpr, #include style fixes.
  • Loading branch information
George O. Lorch III committed Apr 11, 2018
1 parent f02e0f4 commit 5287c28
Showing 1 changed file with 193 additions and 132 deletions.
Loading

0 comments on commit 5287c28

Please sign in to comment.