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

Tsz-wo Sze commented on HDDS-11331:
-----------------------------------

It seem that this can be fixed by changing pipelineActions to ConcurrentHashMap 
and Collections.synchronizedMap(LinkedHashMap)
{code}
  private final Map<InetSocketAddress, LinkedHashMap<Key, PipelineAction>> 
pipelineActions = new ConcurrentHashMap<>();
{code}

{code}
  static class Key {
    private final HddsProtos.PipelineID pipelineID;
    private final PipelineAction.Action action;

    Key(HddsProtos.PipelineID pipelineID, PipelineAction.Action action) {
      this.pipelineID = pipelineID;
      this.action = action;
    }

    @Override
    public int hashCode() {
      return Objects.hashCode(pipelineID);
    }

    @Override
    public boolean equals(Object obj) {
      if (this == obj) {
        return true;
      } else if (!(obj instanceof Key)) {
        return false;
      }
      final Key that = (Key) obj;
      return Objects.equals(this.action, that.action)
          && Objects.equals(this.pipelineID, that.pipelineID);
    }
  }
{code}

> Datanode cannot report for a long time
> --------------------------------------
>
>                 Key: HDDS-11331
>                 URL: https://issues.apache.org/jira/browse/HDDS-11331
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: DN
>    Affects Versions: 1.4.0
>            Reporter: JiangHua Zhu
>            Assignee: JiangHua Zhu
>            Priority: Major
>         Attachments: 1505js.1, screenshot-1.png, screenshot-2.png, 
> screenshot-3.png, screenshot-4.png, screenshot-5.png
>
>
> SCM shows that some Datanodes cannot report for a long time, and their status 
> is DEAD or STALE.
> I printed jstack information, which shows that StateContext#pipelineActions 
> is stuck and cannot report to SCM/Recon.
> The jstack information has been uploaded as an attachment.



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