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

Chi-Hsuan Huang updated HDDS-15474:
-----------------------------------
    Description: 
Follow-up to HDDS-10308, which pinned four heavyweight config-independent tests 
in {{TestOmSnapshot}} to run once instead of across the full 8-subclass matrix.

{{TestOmSnapshot}} still runs most of its ~70 tests in all 8 subclasses (each 
starting its own MiniOzoneCluster for a different {{(bucketLayout, 
disableNativeDiff, createLinkedBucket, ...)}} combination). A large share of 
those tests are config-independent and could also run once, but this needs more 
care:* About a dozen tests genuinely exercise layout-specific code (e.g. 
{{SnapshotDiffManager}} branches on {{{}isFileSystemOptimized(){}}}), so they 
must keep running across layouts.
 * The validation / error-path tests and other OM-internal tests do not, and 
are candidates to pin to a single config.
 * Two constructor params are never varied across the 8 subclasses 
({{{}enableFileSystemPaths{}}} and {{forceFullSnapshotDiff}} are {{false}} 
everywhere), and {{createLinkedBucket}} showed ~0 runtime variance in 
measurement, so some matrix dimensions may be redundant.

Proposed: classify each test as config-sensitive vs config-independent (using 
the existing {{assumeTrue}} guards plus measured per-config timing/coverage), 
then run the config-independent set once and/or prune redundant matrix 
dimensions. 

Relates to HDDS-10308.

  was:
Follow\-up to HDDS\-10308, which pinned four heavyweight config\-independent 
tests in {{TestOmSnapshot}} to run once instead of across the full 8\-subclass 
matrix.

{{TestOmSnapshot}} still runs most of its \~70 tests in all 8 subclasses \(each 
starting its own MiniOzoneCluster for a different {{\(bucketLayout, 
disableNativeDiff, createLinkedBucket, ...\)}} combination\). A large share of 
those tests are config\-independent and could also run once, but this needs 
more care:* About a dozen tests genuinely exercise layout\-specific code \(e.g. 
{{SnapshotDiffManager}} branches on {{isFileSystemOptimized\(\)}}\), so they 
must keep running across layouts.
* The validation / error\-path tests and other OM\-internal tests do not, and 
are candidates to pin to a single config.
* Two constructor params are never varied across the 8 subclasses 
\({{enableFileSystemPaths}} and {{forceFullSnapshotDiff}} are {{false}} 
everywhere\), and {{createLinkedBucket}} showed \~0 runtime variance in 
measurement, so some matrix dimensions may be redundant.

Proposed: classify each test as config\-sensitive vs config\-independent 
\(using the existing {{assumeTrue}} guards plus measured per\-config 
timing/coverage\), then run the config\-independent set once and/or prune 
redundant matrix dimensions. Needs committer input on which layout / native / 
linked combinations are worth keeping.

Relates to HDDS\-10308.




> Further speed up TestOmSnapshot by reducing config-matrix redundancy
> --------------------------------------------------------------------
>
>                 Key: HDDS-15474
>                 URL: https://issues.apache.org/jira/browse/HDDS-15474
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: test
>            Reporter: Chi-Hsuan Huang
>            Assignee: Chi-Hsuan Huang
>            Priority: Major
>
> Follow-up to HDDS-10308, which pinned four heavyweight config-independent 
> tests in {{TestOmSnapshot}} to run once instead of across the full 8-subclass 
> matrix.
> {{TestOmSnapshot}} still runs most of its ~70 tests in all 8 subclasses (each 
> starting its own MiniOzoneCluster for a different {{(bucketLayout, 
> disableNativeDiff, createLinkedBucket, ...)}} combination). A large share of 
> those tests are config-independent and could also run once, but this needs 
> more care:* About a dozen tests genuinely exercise layout-specific code (e.g. 
> {{SnapshotDiffManager}} branches on {{{}isFileSystemOptimized(){}}}), so they 
> must keep running across layouts.
>  * The validation / error-path tests and other OM-internal tests do not, and 
> are candidates to pin to a single config.
>  * Two constructor params are never varied across the 8 subclasses 
> ({{{}enableFileSystemPaths{}}} and {{forceFullSnapshotDiff}} are {{false}} 
> everywhere), and {{createLinkedBucket}} showed ~0 runtime variance in 
> measurement, so some matrix dimensions may be redundant.
> Proposed: classify each test as config-sensitive vs config-independent (using 
> the existing {{assumeTrue}} guards plus measured per-config timing/coverage), 
> then run the config-independent set once and/or prune redundant matrix 
> dimensions. 
> Relates to HDDS-10308.



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