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