Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,12 @@ public void testContainerExclusionWithClosedContainerException()
// level is configurable via RatisClientConfig watchType, HDDS-2887).
// Watch-level datanode exclusion is covered by
// testDatanodeExclusionWithMajorityCommit.
assertThat(keyOutputStream.getExcludeList().getPipelineIds()).isEmpty();
// Pipeline IDs are also not asserted here. Under ALL_COMMITTED a WATCH
// RaftRetryFailureException can fire (retryFailure=true) before the
// ClosedContainerException path runs; that takes the else-branch in
// KeyOutputStream.handleException and adds the pipeline to the exclude
// list, so an empty pipeline set is not an invariant for this config.
// The container-id assertion above is the actual property under test.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: maybe fold this into the datanode comment above so it's one comment, not two? Something like:

// Only the container-id exclusion is asserted here. Under the default
// ALL_COMMITTED watch level neither the datanode nor the pipeline set is an
// invariant: a slow-but-healthy follower can be recorded as a failed
// datanode, and a WATCH RaftRetryFailureException takes the else-branch in
// KeyOutputStream.handleException and excludes the pipeline. Watch-level
// exclusion is covered by testDatanodeExclusionWithMajorityCommit.

Optional, feel free to skip.


// The close will just write to the buffer
}
Expand Down