-
Type:
Improvement
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 3.4.0
-
Component/s: None
-
Hadoop Flags:Reviewed
-
External issue URL:
When I am working on HDFS-13183, I found that TestBalancerWithHANameNodes#testBalancerWithObserver failed occasionally, because the following code segment. Consider there are 1 ANN + 1 SBN + 2ONN, when invoke getBlocks with opening Observer Read feature, it could request any one of two ObserverNN based on my observation. So only verify the first ObserverNN and check times of invoke #getBlocks is not expected.
for (int i = 0; i < cluster.getNumNameNodes(); i++) { // First observer node is at idx 2, or 3 if 2 has been shut down // It should get both getBlocks calls, all other NNs should see 0 calls int expectedObserverIdx = withObserverFailure ? 3 : 2; int expectedCount = (i == expectedObserverIdx) ? 2 : 0; verify(namesystemSpies.get(i), times(expectedCount)) .getBlocks(any(), anyLong(), anyLong()); }
cc Erik Krogen,Wei-Chiu Chuang. I am not very familiar for Observer Read feature, would you like give some suggestions?
- is blocked by
-
HDFS-13183 Standby NameNode process getBlocks request to reduce Active load
-
- Resolved
-