Thanks to Druba and Todd for spending time and giving comments.
Datanodes already sends their blockRecieved command to NN successfull blocks. After this, NN restart happend then this problem problem can come. Because DataNode will not send any information about bbw.So NN can not find this partial blcok presents in which node.
My proposal would be , When namenode is restarted, the datanode will re-register with the namenode. During datanode registration, can we recover the blocks in blocksBeingWritten directory ( sending bbw details to NN)? I verified this with two DNs, it works for normal scenarios. Do you think any impact with this ?