[ 
https://issues.apache.org/jira/browse/HDDS-676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16656270#comment-16656270
 ] 

Shashikant Banerjee commented on HDDS-676:
------------------------------------------

Thanks [~jnp], for the review comments.
{code:java}
What is the reason for changing clientCache key from PipelineId to string? 
{code}
By default, SCM always gives a Ratis pipeline for open containers and when a 
XceiverClient instance gets created, it always placed in the clinet cache based 
on the pipeline ID. Since, while doing a Read Op we always want to use a 
Standalone pipeline with the same pipelineId which SCM provides, the idea is 
get a XceiverClientGrpc instance with the same pipleineId, thus having the same 
set of datanodes which will be used by Ratis pipeline as well having the same 
pipleineID, Changing key in ClinetCahe from pipelineId to a String which is 
combination of pipelineId and type gives us the flexiblity to have create two 
different types of pipeline with the same pipelineID.
{code:java}
The changes in XceiverClientRatis are only for testing?
{code}
Yes, for now.
{code:java}
It is minor but I feel we should not make type mutable in the Pipeline class. 
We could clone the Pipeline object to change the type.
{code}
This will be addressed with HDDS-694.
{code:java}
In ContainerStateMachine changes don't look related to this Jira as they are 
about put-small-files. If yes, we should put them in a separate jira.
{code}
Opened HDDS-697 for the same.

Rest of the review comments are addressed in the patch along with the 
checkstyle fixes. Javadoc issues seem to be unrelated.

 

> Enable Read from open Containers via Standalone Protocol
> --------------------------------------------------------
>
>                 Key: HDDS-676
>                 URL: https://issues.apache.org/jira/browse/HDDS-676
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>            Reporter: Shashikant Banerjee
>            Assignee: Shashikant Banerjee
>            Priority: Major
>         Attachments: HDDS-676.001.patch, HDDS-676.002.patch
>
>
> With BlockCommitSequenceId getting updated per block commit on open 
> containers in OM as well datanode, Ozone Client reads can through Standalone 
> protocol not necessarily requiring Ratis. Client should verify the BCSID of 
> the container which has the data block , which should always be greater than 
> or equal to the BCSID of the block to be read and the existing block BCSID 
> should exactly match that of the block to be read. As a part of this, Client 
> can try to read from a replica with a supplied BCSID and failover to the next 
> one in case the block does ont exist on one replica.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to