[
https://issues.apache.org/jira/browse/HDFS-13330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16412164#comment-16412164
]
Chris Douglas commented on HDFS-13330:
--------------------------------------
It looks like the original intent was a retry loop, to repeat operations that
throw a {{RetriableException}}. The {{continue}} was removed in HDFS-8979,
which makes sense, because it [doesn't work as
intended|https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.13.1].
The intended logic appears to be something like:
{code:java}
while (true) {
if (closed) {
LOG.trace("{}: can't fethchOrCreate {} because the cache is closed.",
this, key);
return null;
}
Waitable<ShortCircuitReplicaInfo> waitable = replicaInfoMap.get(key);
if (waitable == null) {
break;
}
try {
info = fetch(key, waitable);
} catch (RetriableException e) {
LOG.debug("{}: retrying {}", this, e.getMessage());
continue;
}
break;
}
{code}
> Clean up dead code
> ------------------
>
> Key: HDFS-13330
> URL: https://issues.apache.org/jira/browse/HDFS-13330
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Wei-Chiu Chuang
> Assignee: Gabor Bota
> Priority: Trivial
> Labels: newbie
> Attachments: HDFS-13330.001.patch
>
>
> The follow do .. while(false) loop seems useless to me.
> {code:java}
> ShortCircuitReplicaInfo info = null;
> do {
> if (closed) {
> LOG.trace("{}: can't fethchOrCreate {} because the cache is closed.",
> this, key);
> return null;
> }
> Waitable<ShortCircuitReplicaInfo> waitable = replicaInfoMap.get(key);
> if (waitable != null) {
> try {
> info = fetch(key, waitable);
> } catch (RetriableException e) {
> LOG.debug("{}: retrying {}", this, e.getMessage());
> }
> }
> } while (false);{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]