[ 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.