Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Won't Fix
-
None
-
None
-
None
-
None
Description
Dear YARN developers, we are developing a tool to detect exception-related bugs in Java. Our prototype has spotted the following throw statement whose exception class and error message indicate different error conditions.
Version: Hadoop-3.1.2
File: HADOOP-ROOT/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineV2ClientImpl.java
Line: 354
try { Thread.sleep(this.serviceRetryInterval); } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new YarnException("Interrupted while trying to connect ATS"); }
The exception is triggered when pollTimelineServiceAddress() is interrupted. However, throwing a YarnException is too general and makes accurate exception handling more difficult. If throwing the InterruptedException is not preferred, throwing an InterruptedIOException or wrapping the InterruptedException could be more accurate here.
Attachments
Issue Links
- relates to
-
YARN-9533 TimelineV2ClientImpl.checkRetryWithSleep() throws a YarnException when interrupted
- Open