Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When a container needs to be closed at the Datanode, SCM will queue a close command which will be encoded as a part of Heartbeat Response to the Datanode. This command will be picked up from the response at the Datanode which will then be submitted to the XceiverServer to process the close command. This will just queue a ContainerCloseCommand to the Ratis, where the leader would start the transaction while the followers will reject the closeContainer request.
While handling the close container inside the Datanode, we need to ensure all the ongoing chunkWrites finish before close can proceed through. It should also reject any any incoming I/Os in between. This will be handled as a part of separate jira.