-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update shaded JCTools queue due to live-lock (fixes #127)
In #127, a live-lock occurs in the write buffer due to a race when the consumer tries to transition to the last buffer. This is a shaded copy of JCTools' MpscGrowableLinkedArrayQueue and fixed in 2.0 (see JCTools/JCTools#135). This is a difficult to reproduce bug, except for the reporter due to having thousands of instances on a loaded system. The shaded copy is more verbose than the previous one, but that is to minimize the divergency and introducing bugs by cutting too deep. Updating to Guava 20 required minor changes due to that cache now supporting write-through entries. The adapter now mirrors the new behavior. Thanks to everyones patience and help in fixing the bug.
- Loading branch information
Showing
16 changed files
with
1,067 additions
and
423 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,6 +29,7 @@ | |
* | ||
* @author [email protected] (Ben Manes) | ||
*/ | ||
@SuppressWarnings("restriction") | ||
public final class UnsafeAccess { | ||
static final String ANDROID = "THE_ONE"; | ||
static final String OPEN_JDK = "theUnsafe"; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.