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

Shashikant Banerjee commented on HDDS-1294:
-------------------------------------------

Thanks[~jnp] for the review. 
{noformat}
What is the need for returning synchronizedList? I think the problem is that 
same class is used at client to update, and also at the SCM to 
iterate.{noformat}
The idea here is to make sure the pipelineIds list doesn't mutate once multiple 
keys update the exclude list but use the same the same Rpc Client instance. 
Also, while iterating through the returned list, it should not mutate as well. 
That is why, in latest patch, it returns a copy of the list. Same goes for 
datanodes and container list as well. Currently, these methods are called only 
in tests and hence i have added a synchronized version for each of them which 
are visible for testing.

SCM and Client work on different objects of Exclude list, so no need to 
synchronization there.

Rest of the review comments are addressed in patch v2.

> ExcludeList shoud be a RPC Client config so that multiple streams can avoid 
> the same error.
> -------------------------------------------------------------------------------------------
>
>                 Key: HDDS-1294
>                 URL: https://issues.apache.org/jira/browse/HDDS-1294
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>          Components: Ozone Client
>    Affects Versions: 0.4.0
>            Reporter: Mukul Kumar Singh
>            Assignee: Shashikant Banerjee
>            Priority: Major
>              Labels: MiniOzoneChaosCluster
>         Attachments: HDDS-1294.000.patch, HDDS-1294.001.patch, 
> HDDS-1294.002.patch
>
>
> ExcludeList right now is a per BlockOutPutStream value, this can result in 
> multiple keys created out of the same client to run into same exception



--
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