Hi All,

   Please raise if you have any concerns. Otherwise we will move forward
with this approach.

Regards,
Uma

On Wed, Mar 17, 2021 at 5:12 AM Elek, Marton <e...@apache.org> wrote:

>
> Thanks the feedback Arpit,
>
> We don't need to replace the old replcationFactor field, we can keep it
> for compatibility reasons. If the old field is used by any client it can
> be used during the de-/serialziation instead of the new object.
>
> With this approach we don't need to be worried about compatibility issues.
>
> An alternative approach what I considered it using the
> ReplicationConfiguration only in the Java interfaces but without
> introducing new subclass for existing RATIS/STANDALONE:
>
> In proto use:
>
> replicationFactor
>    OR
> ECReplicationConfigProto
>
> in Java class:
> ReplicationConfig field can have two-three type of implementations/values:
>
>   * ECReplicationConfig (extends ReplicationConfig) de/serialized
> from/to ECReplicationConfigProto
>   * RatisReplicationConfig de/serialized from/to existing
> replicationFactor proto field
>   * StandaloneReplicationConfig de/serialized from/to existing
> replicationFactory proto field
>
> It's slightly easier but API is not as consistent (and doesn't allow to
> add additional configuration for RATIS/STANDALONE replications).
>
> That's the reason why I started with the more generic approach in PR#1973.
>
> Thanks,
> Marton
>
> On 3/16/21 10:39 PM, Arpit Agarwal wrote:
> > The idea sounds reasonable. Compatibility is an open question. We will
> have to bring this change through the upgrade framework since there will be
> changes to OM on-disk formats.
> >
> > Upgrades and downgrades will be tricky IAC. It needs more thought.
> >
> > Thanks,
> > Arpit
> >
> >
> >
> >> On Mar 11, 2021, at 9:52 AM, Uma gangumalla <umamah...@apache.org>
> wrote:
> >>
> >> Hi Devs,
> >>
> >> Currently as part of the client APIs, we have the parameters
> >> ReplicationFactor and ReplicationType passed and based on that SCM,
> picks
> >> the corresponding PipelineProvider and chooses the datanodes.
> >>
> >> Considering the ErasureCoding, it's hard to pass all of the EC related
> >> parameters( example: data blocks number, parity blocks number etc) in
> >> single class ReplicationFactor and it's not good idea to pass
> >> multiple parameter and call the class name with "Factor"
> >>
> >> There is a proposal to introduce the ReplicationConfig: *HDDS-4882*:
> Introduce
> >> the ReplicationConfig and modify the proto files
> >>
> >> I would like to bring this topic to the dev list to get everyone's
> >> attention and feedback. The proposal is to deprecate the existing
> >> ReplicationFactor and introduce ReplicationConfig.
> >>
> >> The respective replicationConfigs, like for Ratis:
> RatisReplicationConfig
> >> and for EC: ECReplicationConfig.
> >>
> >> Thanks @Elek, Marton <e...@apache.org> for the JIRA and proposal. And
> It
> >> would be great if you can put them into some class diagrams, so that it
> >> will be helpful to understand batter.
> >>
> >> If we all agree for the proposal, we can push the ReplicationConfig,
> >> RatisReplicationConfig changes to master itself. and later we will add
> only
> >> ECReplicationConfig changes into the EC branch. This will help to reduce
> >> the merge conflicts later.
> >>
> >> Thoughts?
> >>
> >> Regards,
> >> Uma
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@ozone.apache.org
> > For additional commands, e-mail: dev-h...@ozone.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@ozone.apache.org
> For additional commands, e-mail: dev-h...@ozone.apache.org
>
>

Reply via email to