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

Ivan Andika updated HDDS-16587:
-------------------------------
    Description: 
Support ArchUnit for Ozone so that we know what is the architecture invariant 
across classes (e.g. which class can depends on which class). This prevents 
cases like cyclic class dependency (which usually resolved by a hack to break 
it). Having a code architecture tests signals that that the class organization 
is intentionally designed.

Example tests
 * PipelineStateMap can only be owned by PipelineStateManagerImpl

Flink has integrated ArchUnit (FLINK-26009).

Reference: [https://www.archunit.org/]

  was:
Support ArchUnit for Ozone so that we know what is the architecture invariant 
across classes (e.g. which class can depends on which class). This prevents 
cases like cyclic class dependency (which usually resolved by a hack to break 
it).

Example tests
 * PipelineStateMap can only be owned by PipelineStateManagerImpl

Flink has integrated ArchUnit (FLINK-26009).

Reference: [https://www.archunit.org/]


> Add ArchUnit architecture tests
> -------------------------------
>
>                 Key: HDDS-16587
>                 URL: https://issues.apache.org/jira/browse/HDDS-16587
>             Project: Apache Ozone
>          Issue Type: New Feature
>            Reporter: Ivan Andika
>            Assignee: Ivan Andika
>            Priority: Major
>
> Support ArchUnit for Ozone so that we know what is the architecture invariant 
> across classes (e.g. which class can depends on which class). This prevents 
> cases like cyclic class dependency (which usually resolved by a hack to break 
> it). Having a code architecture tests signals that that the class 
> organization is intentionally designed.
> Example tests
>  * PipelineStateMap can only be owned by PipelineStateManagerImpl
> Flink has integrated ArchUnit (FLINK-26009).
> Reference: [https://www.archunit.org/]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to