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