You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by "Hunter L (JIRA)" <ji...@apache.org> on 2018/07/16 22:49:00 UTC

[jira] [Created] (HELIX-735) Make AssignmentCalculators non-static so that tests pass

Hunter L created HELIX-735:
------------------------------

             Summary: Make AssignmentCalculators non-static so that tests pass
                 Key: HELIX-735
                 URL: https://issues.apache.org/jira/browse/HELIX-735
             Project: Apache Helix
          Issue Type: Improvement
            Reporter: Hunter L


With the introduction of quota-based scheduling, every task that gets scheduled takes up a thread. However, previously these AssignmentCalculators (both generic and fixed for generic jobs and targeted jobs) were stateless so they were instantiated statically. Since AssignmentCalculators now are stateful due to them operating on AssignableInstances' quota profile, they were made non-static so that they would be re-instantiated every pipeline.

This problem is specific to the testing environment where static variables live on from test to test, causing AssignmentCalculators to hold on to the very first reference to AssignableInstanceManager. Tasks were not being assigned and scheduled because the first set of AssignableInstances would get filled up and never get freed.

Changelist:
1. Make AssignmentCalculators non-static
2. Adjust sleep duration for some tests for stability



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