[ 
https://issues.apache.org/jira/browse/COUCHDB-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672520#action_12672520
 ] 

Antony Blakey commented on COUCHDB-246:
---------------------------------------

I have this problem with _externals that implement lazy-view update semantics. 
The problem being that the amount of work required for the _external to catchup 
to the current update_seq is unknown. I experimented with a solution that 
allows the external to return a keep-alive message to the server, which doesn't 
return a value to the client but does stop the server killing the external.

I got distracted and didn't complete that work, but I think this is a better 
solution than a fixed timeout. The problem with a timeout is that it doesn't 
account for machine performance or load, or the possible highly variable amount 
of work that the external needs to do on a per-request basis, whereas a 
keep-alive more correctly captures what you want e.g. the external process is 
making progress. Such a keep alive could specify a timeout value, so that the 
external process could control the definition of failure according to how often 
it will send keep-alives, but that might be an unnecessary complication.

> allow customization of external process timeout
> -----------------------------------------------
>
>                 Key: COUCHDB-246
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-246
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Database Core
>    Affects Versions: 0.9
>            Reporter: Robert Newson
>            Priority: Blocker
>             Fix For: 0.9
>
>
> If an external process takes too long to respond, it is killed. The timeout 
> is quite short (a few seconds) and is not configurable from .ini files today.
> couchdb-lucene could use this ability as the first attempt to sort on a field 
> in a large index is slow while it builds a cache. With the timeout, it's 
> killed and the partial work is lost.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to