[ 
https://issues.apache.org/jira/browse/HDDS-15417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zita Dombi updated HDDS-15417:
------------------------------
    Description: 
Datanodes act in a client server relationship between themselves for 
replication. In general the replication process is quite simple - commands are 
sent to a datanode hosting a container replica (the replication client), and it 
is told to push/upload the data to another node (the replication server). 
Incompatible changes in this area can be handled in a similar way to write 
requests.

SCM knows the apparent version of all Datanodes since their last heartbeat. The 
last known apparent version of the target/server Datanode can be included in 
the replicate command sent by SCM to the source/client Datanode. It is always 
the job of the newer component to handle compatibility, whether it involves 
software or apparent version. If the source/client Datanode is newer in 
software or apparent version, it must "downgrade" its request to the lowest 
common apparent version supported by the server indicated by the SCM command. A 
newer target/server Datanode will not make incompatible changes to existing 
APIs, so old client Datanodes will continue to work.

  was:As described in the document, datanodes need to forward their apparent 
version with replication requests. If the client is newer, the server should 
finalize when it recevies the request, and then process the import. If the 
client is older, the server should make the older version available on the 
write path in case we need extra handling in the future.


> Handle mixed datanode versions on the replication path
> ------------------------------------------------------
>
>                 Key: HDDS-15417
>                 URL: https://issues.apache.org/jira/browse/HDDS-15417
>             Project: Apache Ozone
>          Issue Type: Improvement
>            Reporter: Zita Dombi
>            Assignee: Zita Dombi
>            Priority: Major
>
> Datanodes act in a client server relationship between themselves for 
> replication. In general the replication process is quite simple - commands 
> are sent to a datanode hosting a container replica (the replication client), 
> and it is told to push/upload the data to another node (the replication 
> server). Incompatible changes in this area can be handled in a similar way to 
> write requests.
> SCM knows the apparent version of all Datanodes since their last heartbeat. 
> The last known apparent version of the target/server Datanode can be included 
> in the replicate command sent by SCM to the source/client Datanode. It is 
> always the job of the newer component to handle compatibility, whether it 
> involves software or apparent version. If the source/client Datanode is newer 
> in software or apparent version, it must "downgrade" its request to the 
> lowest common apparent version supported by the server indicated by the SCM 
> command. A newer target/server Datanode will not make incompatible changes to 
> existing APIs, so old client Datanodes will continue to work.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to