Nginx writing to Cephfs

vedranf nginx-forum at nginx.us
Fri Jul 24 17:28:37 UTC 2015


Valentin V. Bartenev Wrote:
-------------------------------------------------------
> On Friday 24 July 2015 09:55:04 vedranf wrote:
> > Valentin V. Bartenev Wrote:
> > -------------------------------------------------------
> > > On Thursday 23 July 2015 14:51:58 vedranf wrote:
> > > > Valentin V. Bartenev Wrote:
> > > > 
> > > > > It more looks like a bug in cephfs.  writev() should never
> return
> > > > > ERESTARTSYS.
> > > > 
> > > > 
> > > > I've talked to the ceph people, they say ERESTARTSYS shows up in
> strace
> > > > output but it is handled by the kernel and that writev(2) is
> interrupted by
> > > > the SIGALRM, which actually appears in the strace output just
> after writev
> > > > fails.
> > > > 
> > > > I also failed to get this error by doing the same this as nginx
> using dd, dd
> > > > always succeeded so it happens due to combination of nginx and
> cephfs.
> > > > 
> > > > Here's full strace output (2 examples from 2 differently
> configured
> > > > servers):
> > > > 
> > > > http://pastebin.com/wUAAcdT7
> > > > 
> > > > http://pastebin.com/wHyWc9U5
> > > > 
> > > 
> > > Do you have timer_resolution configured?
> > 
> > Yes, it's:
> > 
> > timer_resolution 50ms;
> > 
> 
> This is the root cause of interrupts.  Every 50ms it signals nginx
> and can interrupt any interruptible syscall (writing to file is
> usually not, but it seems different for Cephfs).
> 
> You should avoid using timer_resolution, or try this patch:

Thank you, removing timer_resolution fixed the problem. I'll look into the
patch in the next few days.

Regards,
Vedran

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,260512,260550#msg-260550



More information about the nginx mailing list