-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Painless EqualsTest#testBranch(Not)?EqualsDefAndPrimitive fails on Windows #24041
Comments
Thanks! I'm probably a day out from being able to look at them.
…On Tue, Apr 11, 2017, 6:22 AM Jason Tedor ***@***.***> wrote:
To silence these tests on Windows I pushed:
5.3: d0a7961
<d0a7961>
5.x: 0800005
<0800005>
master: 6536190
<6536190>
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#24041 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AANLot48dvvNRWnOY8osYVxyeHoQAZk-ks5ru1R-gaJpZM4M54nB>
.
|
This didn't reproduce on windows 10 so I'm trying out "Windows 2012 r2" which is the image that this failure occurred on: |
Didn't reproduce for me with the same windows version and the same jvm version. I'm not really sure what is up. I'm going to go away for a few days but when I come back I might reenable and have another look. The failures look to be on gradle 3.5 so maybe it is #24072 ? Not sure. |
We have failures on 3.3 also.
|
Discovered. If you provide And now I'm going to go away for a few days. So I can write the fix but can't merge it because I won't be about to baby sit it. |
The JVM caches `Integer` objects. This is known. A test in Painless was relying on the JVM not caching the particular integer `1000`. It turns out that when you provide `-XX:+AggressiveOpts` the JVM *does* cache `1000`, causing the test to fail when that is specified. This replaces `1000` with a randomly selected integer that we test to make sure *isn't* cached by the JVM. *Hopefully* this test is good enough. It relies on the caching not changing in between when we check that the value isn't cached and when we run the painless code. The cache now is a simple array but there is nothing preventing it from changing. If it does change in a way that thwarts this test then the test fail fail again. At least when that happens the next person can see the comment about how it is important that the integer isn't cached and can follow that line of inquiry. Closes elastic#24041
The JVM caches `Integer` objects. This is known. A test in Painless was relying on the JVM not caching the particular integer `1000`. It turns out that when you provide `-XX:+AggressiveOpts` the JVM *does* cache `1000`, causing the test to fail when that is specified. This replaces `1000` with a randomly selected integer that we test to make sure *isn't* cached by the JVM. *Hopefully* this test is good enough. It relies on the caching not changing in between when we check that the value isn't cached and when we run the painless code. The cache now is a simple array but there is nothing preventing it from changing. If it does change in a way that thwarts this test then the test fail fail again. At least when that happens the next person can see the comment about how it is important that the integer isn't cached and can follow that line of inquiry. Closes #24041
The JVM caches `Integer` objects. This is known. A test in Painless was relying on the JVM not caching the particular integer `1000`. It turns out that when you provide `-XX:+AggressiveOpts` the JVM *does* cache `1000`, causing the test to fail when that is specified. This replaces `1000` with a randomly selected integer that we test to make sure *isn't* cached by the JVM. *Hopefully* this test is good enough. It relies on the caching not changing in between when we check that the value isn't cached and when we run the painless code. The cache now is a simple array but there is nothing preventing it from changing. If it does change in a way that thwarts this test then the test fail fail again. At least when that happens the next person can see the comment about how it is important that the integer isn't cached and can follow that line of inquiry. Closes #24041
The JVM caches `Integer` objects. This is known. A test in Painless was relying on the JVM not caching the particular integer `1000`. It turns out that when you provide `-XX:+AggressiveOpts` the JVM *does* cache `1000`, causing the test to fail when that is specified. This replaces `1000` with a randomly selected integer that we test to make sure *isn't* cached by the JVM. *Hopefully* this test is good enough. It relies on the caching not changing in between when we check that the value isn't cached and when we run the painless code. The cache now is a simple array but there is nothing preventing it from changing. If it does change in a way that thwarts this test then the test fail fail again. At least when that happens the next person can see the comment about how it is important that the integer isn't cached and can follow that line of inquiry. Closes #24041
These two tests are currently failing on Windows only.
The text was updated successfully, but these errors were encountered: