On Thu, Sep 6, 2012 at 11:22 AM, shaharke <sha...@bigpandamedia.com> wrote:
> IMO it makes more sense that Riak will cancel the job once the connection
> with the client is terminated. Is this a bug in Riak?

Riak won't notice that an HTTP client has terminated the connection
until it attempts to send some portion of the response to it. There
are two cases where this won't happen until the query has finished
completely:

 1. non-streamed responses (the default)
 2. queries that end with reduce phases (also somewhat true for
queries that contain reduce phases in any position)

In both of these cases, Riak has no reason to talk to the client until
the query finishes, and so it ignores the state of the socket until
that time. This is a general issue for Webmachine (the HTTP server
that Riak uses).

If you expect to cancel large MapReduce requests often, I suggest
using the Protocol Buffers interface, which does monitor the
connection state.

-Bryan

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to