[
https://issues.apache.org/jira/browse/GEODE-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16533939#comment-16533939
]
ASF subversion and git services commented on GEODE-5359:
--------------------------------------------------------
Commit 599f9608a49ca4c555ce8d68129b9a37ba236f70 in geode's branch
refs/heads/develop from Dan Smith
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=599f960 ]
GEODE-5359: Clear interrupt bit on retry in DirectChannel.sendToMany
> Infinite loop when a thread is interrupting during messaging
> ------------------------------------------------------------
>
> Key: GEODE-5359
> URL: https://issues.apache.org/jira/browse/GEODE-5359
> Project: Geode
> Issue Type: Bug
> Components: messaging
> Reporter: Dan Smith
> Priority: Major
> Labels: pull-request-available
> Time Spent: 20m
> Remaining Estimate: 0h
>
> This is similar to GEODE-5358, but it has a much easier fix. If a thread is
> interrupted while sending a message, it can get into an infinite loop because
> we keep reinterrupting the same thread and never clear the interrupt bit. The
> culprit is this line in DirectChannel.sendToMany
>
> {noformat}
> interrupted = interrupted || Thread.interrupted();{noformat}
> The issue is that if interrupted is already true, this won't call
> Thread.interrupted and clear the interrupt bit.
> The test checked into GEODE-5358 will reproduce this, but that can't be
> included with this fix because it still hangs due to GEODE-5358.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)