[
https://issues.apache.org/jira/browse/UIMA-1110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eddie Epstein reopened UIMA-1110:
---------------------------------
After discussions with Jerry and Marshall, the situation with prefetch is more
complicated and needs more work.
In the current design, a single prefetch policy is used for all queues defined
by a UIMA AS service. For an AS primitive these would be the input queue and,
if a CAS multiplier, the free CAS queue. For an AS aggregate, these would be
the top-level input queue, remote reply queues, free CAS queues and all queues
defined on the internal broker used for colocated components.
The intention of the prefetch option in the deployment descriptor was for users
to be able to customize only the top-level service input queue. However, it is
used to set the global prefetch policy described above.
I propose one of the the following alternatives:
Alternative 1:
- set prefetch=0 for all queues (minimum complexity)
Alternative 2:
- set prefetch=0 for all queues, except
- the free CAS queue for a CAS multiplier, prefetch = 10 (messages always
small)
Alternative 3: allow customization of the following:
- top-level input queue, default = 0
- reply queue for each remote delegate, default = 0
- the free CAS queue for a CAS multiplier service, default = 10
> The default setting of prefetch=1 is causing problems
> -----------------------------------------------------
>
> Key: UIMA-1110
> URL: https://issues.apache.org/jira/browse/UIMA-1110
> Project: UIMA
> Issue Type: Bug
> Components: Async Scaleout
> Reporter: Eddie Epstein
> Assignee: Eddie Epstein
>
> The new JMX monitor occasionally shows idle times of many seconds for a
> scaled out remote delegate that is getting many CASes per second. Assuming
> the monitor is correct, the problem is that AMQ is not evenly distributing
> the work to all the service instances. Other recent experiences have
> demonstrated that uneven distribution is solved with prefetch=0.
> While there is some possibility that prefetch > 0 may be useful in some
> situations for remote delegates, for colocated delegates there is little
> doubt that a prefetch greater than 0 cannot help performance and can only
> screw up load balancing.
> prefetch=0 should be the default everywhere.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.