You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Jerry Cwiklik (JIRA)" <de...@uima.apache.org> on 2019/01/21 23:04:00 UTC

[jira] [Updated] (UIMA-5960) UIMA-DUCC: Modify pull service to synchronize threads

     [ https://issues.apache.org/jira/browse/UIMA-5960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-5960:
--------------------------------
    Description: 
Pull service is not polling for tasks correctly. Currently it allows threads to send GET requests concurrently. With many services running each with many threads the driver may get easily overrun. 

Instead each service should allow one GET request at a time. So there is only one thread pulling task at a time. Other threads block until a thread receives a task. If no task is given, a single thread will retry until a task becomes available or service is stopped. There will be no waiting on the driver/client side. 

  was:Pull service client protocol handler is not polling for tasks correctly. It should poll N times and waiting for M seconds between retries. Expose both N and M through a new API to allow for customized wait times.

        Summary: UIMA-DUCC: Modify pull service to synchronize threads   (was: UIMA-DUCC: Modify pull service client protocol handler wait strategy)

> UIMA-DUCC: Modify pull service to synchronize threads 
> ------------------------------------------------------
>
>                 Key: UIMA-5960
>                 URL: https://issues.apache.org/jira/browse/UIMA-5960
>             Project: UIMA
>          Issue Type: Bug
>          Components: DUCC
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>            Priority: Major
>             Fix For: 2.2.3-Ducc
>
>
> Pull service is not polling for tasks correctly. Currently it allows threads to send GET requests concurrently. With many services running each with many threads the driver may get easily overrun. 
> Instead each service should allow one GET request at a time. So there is only one thread pulling task at a time. Other threads block until a thread receives a task. If no task is given, a single thread will retry until a task becomes available or service is stopped. There will be no waiting on the driver/client side. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)