Skip to content

Conversation

@talevy
Copy link
Contributor

@talevy talevy commented Feb 26, 2019

Mutations of the timeout values were using string-representations.

This resulted in very rare cases where the original timeout value was
represented as something like "0ms" and the new random time-value generated
was "0s". Although their string representations differ, their underlying
TimeValue does not. This resulted in -Dtests.seed=7F4C034C43C22B1B to
fail.

Now, new TimeValue objects are being supplied and tested in the randomization equality check.

CI failure:

link: https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+master+intake/2222

reproduction:

./gradlew :server:unitTest -Dtests.seed=7F4C034C43C22B1B -Dtests.class=org.elasticsearch.action.admin.indices.settings.put.UpdateSettingsRequestStreamableTests -Dtests.method="testEqualsAndHashcode" -Dtests.security.manager=true -Dtests.locale=no-NO -Dtests.timezone=Asia/Beirut -Dcompiler.java=11 -Druntime.java=8

error message:

04:03:35 FAILURE 0.02s J5 | UpdateSettingsRequestStreamableTests.testEqualsAndHashcode <<< FAILURES!
04:03:35    > Throwable #1: java.lang.AssertionError: UpdateSettingsRequest mutation should not be equal to original
04:03:35    > Expected: not <indices : [index-wtwix, index-rga],{}>
04:03:35    >      but: was <indices : [index-wtwix, index-rga],{}>
04:03:35    > 	at __randomizedtesting.SeedInfo.seed([7F4C034C43C22B1B:E437B818C256234]:0)
04:03:35    > 	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
04:03:35    > 	at org.elasticsearch.test.EqualsHashCodeTestUtils.checkEqualsAndHashCode(EqualsHashCodeTestUtils.java:82)
04:03:35    > 	at org.elasticsearch.test.AbstractWireTestCase.testEqualsAndHashcode(AbstractWireTestCase.java:61)

Mutations of the timeout values were using string-representations.

This resulted in very rare cases where the original timeout value was
represented as something like "0ms" and the new random time-value generated
was "0s". Although their string representations differ, their underlying
TimeValue does not. This resulted in `-Dtests.seed=7F4C034C43C22B1B` to
fail.
@talevy talevy added >non-issue >test Issues or PRs that are addressing/adding tests :Core/Infra/Settings Settings infrastructure and APIs labels Feb 26, 2019
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra

Copy link
Contributor

@original-brownbear original-brownbear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :)

@talevy talevy merged commit 863636d into elastic:master Feb 27, 2019
@talevy talevy deleted the fix-updatesettingsmutate branch February 27, 2019 19:29
@talevy talevy added the v8.0.0 label Feb 27, 2019
talevy added a commit to talevy/elasticsearch that referenced this pull request Feb 27, 2019
Mutations of the timeout values were using string-representations.

This resulted in very rare cases where the original timeout value was
represented as something like "0ms" and the new random time-value generated
was "0s". Although their string representations differ, their underlying
TimeValue does not. This resulted in `-Dtests.seed=7F4C034C43C22B1B` to
fail.
talevy added a commit to talevy/elasticsearch that referenced this pull request Feb 27, 2019
Mutations of the timeout values were using string-representations.

This resulted in very rare cases where the original timeout value was
represented as something like "0ms" and the new random time-value generated
was "0s". Although their string representations differ, their underlying
TimeValue does not. This resulted in `-Dtests.seed=7F4C034C43C22B1B` to
fail.
talevy added a commit that referenced this pull request Feb 27, 2019
)

Mutations of the timeout values were using string-representations.

This resulted in very rare cases where the original timeout value was
represented as something like "0ms" and the new random time-value generated
was "0s". Although their string representations differ, their underlying
TimeValue does not. This resulted in `-Dtests.seed=7F4C034C43C22B1B` to
fail.
talevy added a commit that referenced this pull request Mar 1, 2019
)

Mutations of the timeout values were using string-representations.

This resulted in very rare cases where the original timeout value was
represented as something like "0ms" and the new random time-value generated
was "0s". Although their string representations differ, their underlying
TimeValue does not. This resulted in `-Dtests.seed=7F4C034C43C22B1B` to
fail.
rjernst pushed a commit that referenced this pull request Sep 27, 2019
Mutations of the timeout values were using string-representations.

This resulted in very rare cases where the original timeout value was
represented as something like "0ms" and the new random time-value generated
was "0s". Although their string representations differ, their underlying
TimeValue does not. This resulted in `-Dtests.seed=7F4C034C43C22B1B` to
fail.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Core/Infra/Settings Settings infrastructure and APIs >non-issue >test Issues or PRs that are addressing/adding tests v7.0.0-rc1 v7.2.0 v8.0.0-alpha1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants