apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@gmail.com>
Subject Re: apr_memcache operation timeouts
Date Thu, 18 Oct 2012 00:16:42 GMT
On Wed, Oct 17, 2012 at 3:36 PM, Joshua Marantz <jmarantz@google.com> wrote:
> Is there a mechanism to time out individual operations?

No, the socket connect timeout is hard-coded at 1 second and the
socket I/O timeout is disabled.

Bugzilla bug https://issues.apache.org/bugzilla/show_bug.cgi?id=51065
has a patch, though it is apparently missing a call to adjust the
socket timeout and to discard the connection if the timeout is
reached.  More importantly, the API can only be changed in future APR
2.0; alternate, backwards-compatible API(s) could be added in future
APR-Util 1.6.

>
> If memcached freezes, then it appears my calls to 'get' will block until
> memcached wakes up.  Is there any way to set a timeout for that call?
>
> I can repro this in my unit tests by sending a SIGSTOP to memcached before
> doing a 'get'?
>
> Here are my observations:
>
> apr_memcache_multgetp seems to time out in bounded time if I SIGSTOP the
> memcached process. Yes!
>
> apr_memcache_getp seems to hang indefinitely if I SIGSTOP the memcached
> process.
>
> apr_memcache_set seems to hang indefinitely if I SIGSTOP the memcached
> process.
>
> apr_memcache_delete seems to hang indefinitely if I SIGSTOP the memcached
> process.
>
> apr_memcache_stats seems to hang indefinitely if I SIGSTOP the memcached
> process.
>
> That last one really sucks as I am using that to print the status of all my
> cache shards to the log file if I detected a problem :(
>
>
> Why does apr_memcache_multgetp do what I want and not the others?  Can I
> induce the others to have reasonable timeout behavior?
>
> When I SIGSTOP memcached this makes it hard to even restart Apache, at
> least with graceful-stop.
>
>
> On a related note, the apr_memcache
> documentation<http://apr.apache.org/docs/apr-util/1.4/group___a_p_r___util___m_c.html>is
> very thin.  I'd be happy to augment it with my observations on its
> usage
> and the meaning of some of the arguments if that was desired.  How would I
> go about that?

Check out APR trunk from Subversion, adjust the doxygen docs in the
include files, build (make dox) and inspect the results, submit a
patch to dev@apr.apache.org.

>
> -Josh



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

Mime
View raw message