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

Ren Koike updated HDDS-16270:
-----------------------------
    Description: 
After removing the three entry wrapper classes (sub-tasks 5, 9, 10) 
(HDDS-16264, HDDS-16268, HDDS-16269), the entry pool classes become simpler — 
they manage block stream instances directly.

*ECBlockOutputStreamEntryPool* (60 lines) is a minimal subclass of 
*BlockOutputStreamEntryPool* (446 lines) that overrides a single method. 
Replace the inheritance with a pluggable factory:
{code:java}
BlockOutputStreamEntryPool(..., BlockStreamFactory factory){code}
This eliminates the subclass. A similar approach may apply to 
{*}BlockDataStreamOutputEntryPool{*}.

Verification: all unit tests across all three paths pass.

  was:
After removing the three entry wrapper classes (sub-tasks 5, 9, 10) 
([HDDS-16264|https://issues.apache.org/jira/browse/HDDS-16264], 
[HDDS-16268|https://issues.apache.org/jira/browse/HDDS-16268], 
[HDDS-16269|https://issues.apache.org/jira/browse/HDDS-16269]), the entry pool 
classes become simpler — they manage block stream instances directly.

*ECBlockOutputStreamEntryPool* (60 lines) is a minimal subclass of 
BlockOutput*strong text*StreamEntryPool (446 lines) that overrides a single 
method. Replace the inheritance with a pluggable factory:
{code:java}
BlockOutputStreamEntryPool(..., BlockStreamFactory factory){code}
This eliminates the subclass. A similar approach may apply to 
BlockDataStre*strong text*amOutputEntryPool.

Verification: all unit tests across all three paths pass.


> Unify BlockOutputStreamEntryPool and ECBlockOutputStreamEntryPool
> -----------------------------------------------------------------
>
>                 Key: HDDS-16270
>                 URL: https://issues.apache.org/jira/browse/HDDS-16270
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: Ozone Client
>            Reporter: Ren Koike
>            Assignee: Ren Koike
>            Priority: Major
>
> After removing the three entry wrapper classes (sub-tasks 5, 9, 10) 
> (HDDS-16264, HDDS-16268, HDDS-16269), the entry pool classes become simpler — 
> they manage block stream instances directly.
> *ECBlockOutputStreamEntryPool* (60 lines) is a minimal subclass of 
> *BlockOutputStreamEntryPool* (446 lines) that overrides a single method. 
> Replace the inheritance with a pluggable factory:
> {code:java}
> BlockOutputStreamEntryPool(..., BlockStreamFactory factory){code}
> This eliminates the subclass. A similar approach may apply to 
> {*}BlockDataStreamOutputEntryPool{*}.
> Verification: all unit tests across all three paths pass.



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