elek commented on pull request #920:
URL: https://github.com/apache/hadoop-ozone/pull/920#issuecomment-630201297


   Thanks to explain it @maobaolong 
   
   > not sure if we should define a message StorageClass in the proto file 
which also contains replicationType and replicationFactor, 
   
   Not exactly. My proposal to include only one "enum/int" in the proto file 
and remove replicationFactor and replicationType. For example use `1=STANDARAD` 
instead of `RATIS/THREE` in the proto file.
   
   The exact meaning of STANDARD(1) can be resolved on server side (and can be 
changed over time). 
   
   > In fact, i have proved Ozone can write 2 replica directly through Ratis... 
   
   I agree with your analyses about the effectiveness of 
`Ratis/THREE->Closed/TWO` or Ratis/ONE->Closed/TWO`. I was just not sure how is 
it possible to use TWO with Ratis. Do you use two nodes Ratis cluster? It has 
totally different availability guarantee than Ratis/THREE as there is no 
majority just full quorum. I guess it works only if you have two nodes all the 
time and It couldn't work with loosing any of the nodes.
   
   I am interested if you have more details to share...
   
   *In general*:
   
   I wouldn't like to block this effort. Based on the `storage-class` proposal 
this change is not required any more as it can be replaced with an even more 
generic approach (propagate only the ID of the storage-class instead of 
replication type / factor). 
   
   I am more interested about the consensus about the long-term divergence 
(long-term = until the next release...), if you need this change immediately, I 
am not against it.
   
   ** Footnote **: 
   
   Just some notes, not closely related. Yesterday I read the [paper of the 
ChubaoFs](https://arxiv.org/pdf/1911.03001v1.pdf) and it has very interesting 
approach. The motivation is different, but they two different kind of 
replications for different use cases:
   
   > The storage engine guarantees the strong consistencyamong the replicas 
through either primary-backup or Raft-based replication protocols. This design 
decision is basedon the observations that the former one is not suitable 
foroverwrite as the replication performance needs to be com-promised, and the 
latter one has write amplification issue asit introduces extra IO of writing 
the log files.
   
   With introducing storage-class AND using specific containers / replication 
(like Erasure Coded containers) our approach can be somewhat similar
   
   
   
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: ozone-issues-h...@hadoop.apache.org

Reply via email to