opensearch-project / reporting

Export and automate PNG, PDF, and CSV reports in OpenSearch Dashboards
https://opensearch.org/docs/latest/dashboards/reporting/
Apache License 2.0
28 stars 65 forks source link

Integration test failed for version 2.11.1.0 (also on main) for x86_64 architecture. #933

Closed pratiktonage closed 5 months ago

pratiktonage commented 9 months ago

Hi Team, I am working on validating OpenSearch reporting plugin on version 2.11.0.0 for x86_64 architecture. Encountered an error while running the integration test with ./gradlew integTest. Tests are failing with the following error: Full logs for the same:

[user1 reporting]$ ./gradlew integTest
=======================================
OpenSearch Build Hamster says Hello!
  Gradle Version        : 7.6.1
  OS Info               : Linux 4.18.0-372.32.1.el8_6.x86_64 (amd64)
  JDK Version           : 11 (Red Hat, Inc. JDK)
  JAVA_HOME             : /usr/lib/jvm/java-11-openjdk-11.0.21.0.9-2.el8.x86_64
  Random Testing Seed   : FF3C0C1621B5FD9A
  In FIPS 140 mode      : false
=======================================

> Task :integTest

org.opensearch.integTest.rest.InContextMenuReportGenerationIT > test create in-context-menu report FAILED
    java.lang.AssertionError: 2023-12-10T10:23:25.239Z + 5 > 2023-12-10T10:23:32.425275Z
        at __randomizedtesting.SeedInfo.seed([FF3C0C1621B5FD9A:50C64F195D4454A6]:0)
        at kotlin.test.DefaultAsserter.fail(DefaultAsserter.kt:16)
        at kotlin.test.Asserter$DefaultImpls.assertTrue(Assertions.kt:652)
        at kotlin.test.DefaultAsserter.assertTrue(DefaultAsserter.kt:11)
        at kotlin.test.Asserter$DefaultImpls.assertTrue(Assertions.kt:662)
        at kotlin.test.DefaultAsserter.assertTrue(DefaultAsserter.kt:11)
        at kotlin.test.AssertionsKt__AssertionsKt.assertTrue(Assertions.kt:44)
        at kotlin.test.AssertionsKt.assertTrue(Unknown Source)
        at org.opensearch.integTest.IntegTestHelpersKt.validateTimeNearRefTime(IntegTestHelpers.kt:57)
        at org.opensearch.integTest.IntegTestHelpersKt.validateTimeRecency(IntegTestHelpers.kt:62)
        at org.opensearch.integTest.IntegTestHelpersKt.validateTimeRecency$default(IntegTestHelpers.kt:61)
        at org.opensearch.integTest.rest.InContextMenuReportGenerationIT.test create in-context-menu report(InContextMenuReportGenerationIT.kt:88)
**REPRODUCE WITH: ./gradlew ':integTest' --tests "org.opensearch.integTest.rest.InContextMenuReportGenerationIT.test create in-context-menu report" -Dtests.seed=FF3C0C1621B5FD9A -Dtests.security.manager=false -Dtests.locale=ca -Dtests.timezone=America/Thunder_Bay -Druntime.java=11**

Suite: Test class org.opensearch.integTest.rest.InContextMenuReportGenerationIT
  1> [2023-12-10T05:23:09,161][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report without time request] before test
  1> [2023-12-10T05:23:11,863][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report without time request] initializing REST clients against [http://127.0.0.1:38533]
  2> de des. 10, 2023 5:23:18 AM org.opensearch.client.RestClient logResponse
  2> WARNING: request [PUT http://127.0.0.1:38533/_opendistro/_reports/on_demand] returned 1 warnings: [299 OpenSearch-2.11.1-SNAPSHOT-6b1986e964d440be9137eba1413015c31c5a7752 "[PUT /_opendistro/_reports/on_demand] is deprecated! Use [PUT /_plugins/_reports/on_demand] instead."]
  1> [2023-12-10T05:23:20,988][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report without time request] after test
  1> [2023-12-10T05:23:21,100][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report from invalid source request] before test
  1> [2023-12-10T05:23:22,417][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report from invalid source request] after test
  1> [2023-12-10T05:23:22,548][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report from invalid format request] before test
  1> [2023-12-10T05:23:23,506][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report from invalid format request] after test
  1> [2023-12-10T05:23:23,571][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report from invalid trigger request] before test
  1> [2023-12-10T05:23:24,376][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report from invalid trigger request] after test
  1> [2023-12-10T05:23:24,447][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report] before test
  1> [2023-12-10T05:23:35,227][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report] after test
  2> REPRODUCE WITH: ./gradlew ':integTest' --tests "org.opensearch.integTest.rest.InContextMenuReportGenerationIT.test create in-context-menu report" -Dtests.seed=FF3C0C1621B5FD9A -Dtests.security.manager=false -Dtests.locale=ca -Dtests.timezone=America/Thunder_Bay -Druntime.java=11
  2> java.lang.AssertionError: 2023-12-10T10:23:25.239Z + 5 > 2023-12-10T10:23:32.425275Z
        at __randomizedtesting.SeedInfo.seed([FF3C0C1621B5FD9A:50C64F195D4454A6]:0)
        at kotlin.test.DefaultAsserter.fail(DefaultAsserter.kt:16)
        at kotlin.test.Asserter$DefaultImpls.assertTrue(Assertions.kt:652)
        at kotlin.test.DefaultAsserter.assertTrue(DefaultAsserter.kt:11)
        at kotlin.test.Asserter$DefaultImpls.assertTrue(Assertions.kt:662)
        at kotlin.test.DefaultAsserter.assertTrue(DefaultAsserter.kt:11)
        at kotlin.test.AssertionsKt__AssertionsKt.assertTrue(Assertions.kt:44)
        at kotlin.test.AssertionsKt.assertTrue(Unknown Source)
        at org.opensearch.integTest.IntegTestHelpersKt.validateTimeNearRefTime(IntegTestHelpers.kt:57)
        at org.opensearch.integTest.IntegTestHelpersKt.validateTimeRecency(IntegTestHelpers.kt:62)
        at org.opensearch.integTest.IntegTestHelpersKt.validateTimeRecency$default(IntegTestHelpers.kt:61)
        at org.opensearch.integTest.rest.InContextMenuReportGenerationIT.test create in-context-menu report(InContextMenuReportGenerationIT.kt:88)
  1> [2023-12-10T05:23:35,403][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report without report definition request] before test
  1> [2023-12-10T05:23:36,481][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report without report definition request] after test
  1> [2023-12-10T05:23:36,558][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report without status request] before test
  1> [2023-12-10T05:23:37,534][INFO ][o.o.i.r.InContextMenuReportGenerationIT] [test create in-context-menu report without status request] after test
  2> NOTE: leaving temporary files on disk at: /home/user1/reporting/build/testrun/integTest/temp/org.opensearch.integTest.rest.InContextMenuReportGenerationIT_FF3C0C1621B5FD9A-001
  2> NOTE: test params are: codec=Asserting(Lucene95): {}, docValues:{}, maxPointsInLeafNode=145, maxMBSortInHeap=6.037308716057767, sim=Asserting(RandomSimilarity(queryNorm=true): {}), locale=ca, timezone=America/Thunder_Bay
  2> NOTE: Linux 4.18.0-372.32.1.el8_6.x86_64 amd64/Red Hat, Inc. 11.0.21 (64-bit)/cpus=4,threads=2,free=424899392,total=536870912
  2> NOTE: All tests run in this JVM: [InContextMenuReportGenerationIT]

org.opensearch.integTest.rest.OnDemandReportGenerationIT > test create on-demand report from definition FAILED
    java.lang.AssertionError: 2023-12-10T09:23:47.508Z + 1 > 2023-12-10T09:23:48.811524Z
        at __randomizedtesting.SeedInfo.seed([FF3C0C1621B5FD9A:6F23B513ACEDBCA9]:0)
        at kotlin.test.DefaultAsserter.fail(DefaultAsserter.kt:16)
        at kotlin.test.Asserter$DefaultImpls.assertTrue(Assertions.kt:652)
        at kotlin.test.DefaultAsserter.assertTrue(DefaultAsserter.kt:11)
        at kotlin.test.Asserter$DefaultImpls.assertTrue(Assertions.kt:662)
        at kotlin.test.DefaultAsserter.assertTrue(DefaultAsserter.kt:11)
        at kotlin.test.AssertionsKt__AssertionsKt.assertTrue(Assertions.kt:44)
        at kotlin.test.AssertionsKt.assertTrue(Unknown Source)
        at org.opensearch.integTest.IntegTestHelpersKt.validateTimeNearRefTime(IntegTestHelpers.kt:57)
        at org.opensearch.integTest.rest.OnDemandReportGenerationIT.test create on-demand report from definition(OnDemandReportGenerationIT.kt:81)
REPRODUCE WITH: ./gradlew ':integTest' --tests "org.opensearch.integTest.rest.OnDemandReportGenerationIT.test create on-demand report from definition" -Dtests.seed=FF3C0C1621B5FD9A -Dtests.security.manager=false -Dtests.locale=cs -Dtests.timezone=Asia/Damascus -Druntime.java=11

Suite: Test class org.opensearch.integTest.rest.OnDemandReportGenerationIT
  1> [2023-12-10T13:23:41,681][INFO ][o.o.i.r.OnDemandReportGenerationIT] [test create on-demand report from invalid definition id] before test
  1> [2023-12-10T13:23:41,716][INFO ][o.o.i.r.OnDemandReportGenerationIT] [test create on-demand report from invalid definition id] initializing REST clients against [http://127.0.0.1:38533]
  1> [2023-12-10T13:23:45,934][INFO ][o.o.i.r.OnDemandReportGenerationIT] [test create on-demand report from invalid definition id] There are still tasks running after this test that might break subsequent tests [indices:data/read/search, indices:data/read/search[phase/query]].
  1> [2023-12-10T13:23:45,968][INFO ][o.o.i.r.OnDemandReportGenerationIT] [test create on-demand report from invalid definition id] after test
  1> [2023-12-10T13:23:46,064][INFO ][o.o.i.r.OnDemandReportGenerationIT] [test create on-demand report from definition] before test
  1> [2023-12-10T13:23:50,127][INFO ][o.o.i.r.OnDemandReportGenerationIT] [test create on-demand report from definition] after test
  2> REPRODUCE WITH: ./gradlew ':integTest' --tests "org.opensearch.integTest.rest.OnDemandReportGenerationIT.test create on-demand report from definition" -Dtests.seed=FF3C0C1621B5FD9A -Dtests.security.manager=false -Dtests.locale=cs -Dtests.timezone=Asia/Damascus -Druntime.java=11
  2> java.lang.AssertionError: 2023-12-10T09:23:47.508Z + 1 > 2023-12-10T09:23:48.811524Z
        at __randomizedtesting.SeedInfo.seed([FF3C0C1621B5FD9A:6F23B513ACEDBCA9]:0)
        at kotlin.test.DefaultAsserter.fail(DefaultAsserter.kt:16)
        at kotlin.test.Asserter$DefaultImpls.assertTrue(Assertions.kt:652)
        at kotlin.test.DefaultAsserter.assertTrue(DefaultAsserter.kt:11)
        at kotlin.test.Asserter$DefaultImpls.assertTrue(Assertions.kt:662)
        at kotlin.test.DefaultAsserter.assertTrue(DefaultAsserter.kt:11)
        at kotlin.test.AssertionsKt__AssertionsKt.assertTrue(Assertions.kt:44)
        at kotlin.test.AssertionsKt.assertTrue(Unknown Source)
        at org.opensearch.integTest.IntegTestHelpersKt.validateTimeNearRefTime(IntegTestHelpers.kt:57)
        at org.opensearch.integTest.rest.OnDemandReportGenerationIT.test create on-demand report from definition(OnDemandReportGenerationIT.kt:81)
  2> NOTE: leaving temporary files on disk at: /home/user1/reporting/build/testrun/integTest/temp/org.opensearch.integTest.rest.OnDemandReportGenerationIT_FF3C0C1621B5FD9A-001
  2> NOTE: test params are: codec=Asserting(Lucene95): {}, docValues:{}, maxPointsInLeafNode=196, maxMBSortInHeap=5.347053331954475, sim=Asserting(RandomSimilarity(queryNorm=false): {}), locale=cs, timezone=Asia/Damascus
  2> NOTE: Linux 4.18.0-372.32.1.el8_6.x86_64 amd64/Red Hat, Inc. 11.0.21 (64-bit)/cpus=4,threads=1,free=511919896,total=536870912
  2> NOTE: All tests run in this JVM: [InContextMenuReportGenerationIT, OnDemandReportGenerationIT]

Tests with failures:
 - org.opensearch.integTest.rest.InContextMenuReportGenerationIT.test create in-context-menu report
 - org.opensearch.integTest.rest.OnDemandReportGenerationIT.test create on-demand report from definition

28 tests completed, 2 failed, 1 skipped

> Task :integTest FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':integTest'.
> There were failing tests. See the report at: file:///home/user1/reporting/build/reports/tests/integTest/index.html

Steps to reproduce the behavior: 1 Install JDK 11 2 Install other dependencies sudo yum install -y git gcc make java-11-openjdk-devel python39 python39-devel bzip2-devel zlib-devel openssl-devel export JAVA_HOME=/usr/lib/jvm/java-11-openjdk export PATH=$PATH:$JAVA_HOME/bin 3 Clone the repository 4 cd reporting && git checkout 2.11.1.0 5 ./gradlew build -x test -x integTest 6 ./gradlew integTest

Any suggestions and pointers regarding the same will be helpful.

Swiddis commented 5 months ago

Unable to reproduce on the current 2.11 branch. I wrote this Dockerfile and followed the steps you gave:

# x86_64-architecture image with yum package manager
FROM fedora:39

# python-39-devel wasn't found, the rest I could install as-is
RUN yum update -y
RUN yum install -y git gcc make java-11-openjdk-devel python39 bzip2-devel zlib-devel openssl-devel
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk

# Need a non-root user to run OS in integTest
RUN useradd --create-home --shell /bin/bash builder
USER builder

RUN git clone https://github.com/opensearch-project/reporting.git /home/builder/reporting
WORKDIR /home/builder/reporting
RUN git fetch origin && git checkout 2.11

RUN ./gradlew integTest

Building:

> docker build -t reporting .
...
> echo $status
0
Swiddis commented 5 months ago

Going to close this issue since it's stale and not clear if it's still applicable to the current 2.11 branch (sorry about the slow reply!). Feel free to reopen this if the issue is still relevant.