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