Shashikant Banerjee created HDDS-720:
----------------------------------------

             Summary: ContainerReportPublisher fails when the container is 
marked unhealthy on Datanodes
                 Key: HDDS-720
                 URL: https://issues.apache.org/jira/browse/HDDS-720
             Project: Hadoop Distributed Data Store
          Issue Type: Test
          Components: Ozone Datanode, SCM
            Reporter: Shashikant Banerjee
            Assignee: Shashikant Banerjee


{code:java}
2018-10-24 01:15:00,265 ERROR report.ReportPublisher 
(ReportPublisher.java:publishReport(88)) - Exception while publishing report.
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException: 
Invalid Container state found: 2
at 
org.apache.hadoop.ozone.container.keyvalue.KeyValueContainer.getHddsState(KeyValueContainer.java:558)
at 
org.apache.hadoop.ozone.container.keyvalue.KeyValueContainer.getContainerReport(KeyValueContainer.java:532)
at 
org.apache.hadoop.ozone.container.common.impl.ContainerSet.getContainerReport(ContainerSet.java:203)
at 
org.apache.hadoop.ozone.container.ozoneimpl.OzoneContainer.getContainerReport(OzoneContainer.java:168)
at 
org.apache.hadoop.ozone.container.common.report.ContainerReportPublisher.getReport(ContainerReportPublisher.java:83)
at 
org.apache.hadoop.ozone.container.common.report.ContainerReportPublisher.getReport(ContainerReportPublisher.java:50)
at 
org.apache.hadoop.ozone.container.common.report.ReportPublisher.publishReport(ReportPublisher.java:86)
at 
org.apache.hadoop.ozone.container.common.report.ReportPublisher.run(ReportPublisher.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
{code}
There is no mapping exist for Unhealthy state in Datanode for containers to 
LifecycleState of containers in SCM. Hence, the container report publisher 
fails with Invalid container state exception.

A container is marked unhealthy in Datanode only if a certain write transaction 
fails, so that successive updates get rejected and a close container action is 
initiated to SCM to close the container. For all practical cases, a container 
in unhealthy state can also be mapped to a container in closing state in SCM.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to