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


   
   Thanks the questions @linyiqun 
   
   > I see most of change focus on the converting replica factor, type to new 
storage class. As I know Ozone GA version is not released, can we update all 
places to storage class way? This will not address backward compatible.
   
   I am not sure if I understood the question well, but let me try to answer:
   
   I think this change is backward compatible as RPC (client!) interface accept 
both requests: the old one (which contains factor/type and no storageClass) and 
the new one (which contains storageClass and no factor/type).  
   
   > Will we have the chance to switch storage class from its 
OpenStateConfiguration to its ClosedStateConfiguration? Will we support 
dynamically switch the storage class? I didn't see this switch logic in current 
patch.
   
   Dynamic switch is hard, because storageClass is a property of the 
containers. When you modify the storageClass of a bucket/key the related data 
should me moved out from one container to a new one.
   
   Amazon doesn't enable the modification of storageClass and I suggested the 
same.
   
   However, we can support to change the "definition" of the storage class. 
Currently, it's hard coded, but it's easy to be modified to a dynamic model. 
When you modify the closed container replication number of a storage class 
(let's say STANDARD close is THREE today but you would like to make it TWO) 
ReplicationManager can easily pick up the changes.
   
   > ClosedStateConfiguration is only applied in closed state container, right? 
If yes, we should have the automatic behavior (e.g. background thread to do 
this) to convert container storage to ClosedStateConfiguration setting from its 
OpenStateConfiguration state.
   
   Today the transition between OPEN and CLOSED state is hard coded. Later we 
can make it more dynamic (for example disable the transition for some specific 
storageClass) but we are not yet there.
   
   On the other hand: the configuration can be changed. Today STANDARD = 
Ratis/THREE -> Closed/THREE but it can be changed to be configurable (for 
example support Ratis/THREE -> Ratis/TWO) 
   
   I am not sure, if this was the question, let me know if not.
   
   > It will be an improvement to support storage class on volume, bucket level 
in the future. Then key object can inherit storage class from them and user 
doesn't need to pass expected storage class every time.
   
   Definitely, this should be one of the next steps.


----------------------------------------------------------------
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:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to