[ https://issues.apache.org/jira/browse/HDFS-1001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840292#action_12840292 ]
Todd Lipcon commented on HDFS-1001: ----------------------------------- Hey bc, I think there may be a small error in the test. In testCompletePartialRead, you spy on the blockScanner, but don't assign the spy back into this.getDataNode() - thus the verifiedByClient call won't go through the spy object and the test will always pass (at least by my understanding of how mockito works). I think you need to do: {code} DataBlockScanner scanner = spy(this.getDataNode().blockScanner); this.getDatanode().blockScanner = scanner; ... {code} Can you verify that the test fails properly if the change to the code is reverted? > DataXceiver and BlockReader disagree on when to send/recv CHECKSUM_OK > --------------------------------------------------------------------- > > Key: HDFS-1001 > URL: https://issues.apache.org/jira/browse/HDFS-1001 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 0.22.0 > Reporter: bc Wong > Assignee: bc Wong > Attachments: HDFS-1001.patch > > > Running the TestPread with additional debug statements reveals that the > BlockReader sends CHECKSUM_OK when the DataXceiver doesn't expect it. > Currently it doesn't matter since DataXceiver closes the connection after > each op, and CHECKSUM_OK is the last thing on the wire. But if we want to > cache connections, they need to agree on the exchange of CHECKSUM_OK. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.