You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Istvan Fajth (Jira)" <ji...@apache.org> on 2020/04/20 22:15:01 UTC

[jira] [Commented] (HDDS-3033) Remove TestContainerPlacement add comprehensive junit level tests to container placement policies

    [ https://issues.apache.org/jira/browse/HDDS-3033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17088131#comment-17088131 ] 

Istvan Fajth commented on HDDS-3033:
------------------------------------

Beside adding the unit level tests for all the placement policies, the followings were found and targeted by this JIRA (the list may be evolving as I am working on the PR):
- The PipelinePlacementPolicy and SCMContainerPlacementRackAware classes are not using these unified checks, and does not conform with the error messages of the other policies.
- The rack aware policies in case of fallback are not falling back in certain conditions as shown by some test that were failing with the original code.
- Few error messages did not supply a unique error code with the SCMException thrown
- Small refactoring in how the Factory creates policies and code reorg
- Some changes needed to fix failures in newly added tests for SCMContainerPlacementCapacity class

> Remove TestContainerPlacement add comprehensive junit level tests to container placement policies
> -------------------------------------------------------------------------------------------------
>
>                 Key: HDDS-3033
>                 URL: https://issues.apache.org/jira/browse/HDDS-3033
>             Project: Hadoop Distributed Data Store
>          Issue Type: Sub-task
>            Reporter: Istvan Fajth
>            Assignee: Istvan Fajth
>            Priority: Major
>
> The TestContainerPlacement test is currently ignored. Its internals after thoroughly reviewing it are heavily dependent on internal implementations of the container placement logic and related classes, hence it makes the test dependent on internals of unrelated stuff, and hard to maintain due to constant need to tune the test to how the internals behave.
> Based on this the suggestion is to remove this test, instead of fixing and re-enabling it, and complement the missing test with unit level tests and test the container placement policies' logic from closer and more thoroughly.
> During review it turned out that the SCMContainerPlacementRackAware class, along with the PipelinePlacementPolicy inherits from the SCMCommonPlacementPolicy, but misses the unified checks performed by all other placement policies via the implementation in the SCMCommonPlacementPolicy. The checks are:
> - the policy is there and can be loaded (Factory level)
> - the policy construction was successful
> - the number of available healthy nodes are sufficient to serve the requested amount of nodes to the pipeline.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-issues-help@hadoop.apache.org