Flaky e2e fuseki-ui test "Edits the graph"
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
調査の方向性
Start with the Fuseki UI end-to-end test tests/e2e/specs/datasets.cy.js, where the failing “Edits the graph” test times out waiting for a table header. Inspect how the test waits for /$/server and how the UI handles services being null; the issue suggests disabling the button until services are available. Done means the test reliably passes when the server response is delayed.
索引モデルが issue の本文から書いたものです。
説明
Version
6.3.0-SNAPSHOT
What happened?
I notice some CI jobs fail with https://github.com/apache/jena/actions/runs/42764963660/job/129734662694?pr=4356
It looks like this is due to timing, e.g clicking the button before the mock server serves anything on /$/server.
Forcing a delay for thIs response in cypress, causes the test to fail each time.
Claude suggests having the button disabled while services is null.
Relevant output and stacktrace
INFO] [TESTS] ✓ Visualizes the dataset information (Info View, tab) (450ms)
[INFO] [TESTS]
[INFO] [CLIENT] 10:35:18 AM [vite] (client) page reload coverage/lcov-report/index.html
[INFO] [TESTS]
[INFO] [TESTS] 8 passing (29s)
[INFO] [TESTS] 1 failing
[INFO] [TESTS]
[INFO] [TESTS] 1) datasets
[INFO] [TESTS] after creating new datasets
[INFO] [TESTS] Edits the graph:
[INFO] [TESTS] AssertionError: Timed out retrying after 20000ms: Expected to find element: `table.jena-table > thead > tr > th`, but never found it.
[INFO] [TESTS] at Context.eval (http://localhost:34339/__cypress/tests?p=tests/e2e/specs/datasets.cy.js:95:8)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] (Results)
[INFO] [TESTS]
[INFO] [TESTS] ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
[INFO] [TESTS] │ Tests: 9 │
[INFO] [TESTS] │ Passing: 8 │
[INFO] [TESTS] │ Failing: 1 │
[INFO] [TESTS] │ Pending: 0 │
[INFO] [TESTS] │ Skipped: 0 │
[INFO] [TESTS] │ Screenshots: 1 │
[INFO] [TESTS] │ Video: false │
[INFO] [TESTS] │ Duration: 28 seconds │
[INFO] [TESTS] │ Spec Ran: datasets.cy.js │
[INFO] [TESTS] └────────────────────────────────────────────────────────────────────────────────────────────────┘
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] (Screenshots)
[INFO] [TESTS]
[INFO] [TESTS] - /home/runner/work/jena/jena/jena-fuseki2/jena-fuseki-ui/tests/e2e/screenshots/da (1280x720)
[INFO] [TESTS] tasets.cy.js/datasets -- after creating new datasets -- Edits the graph (failed)
[INFO] [TESTS] .png
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] ────────────────────────────────────────────────────────────────────────────────────────────────────
[INFO] [TESTS]
[INFO] [TESTS] Running: menu.cy.js (2 of 4)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] menu
[INFO] [TESTS] on a small screen
[INFO] [SERVER] GET /$/ping 200 0.193 ms - 40
[INFO] [SERVER] GET /$/server 200 0.200 ms - 105
[INFO] [TESTS] ⚠️ file /home/runner/work/jena/jena/jena-fuseki2/jena-fuseki-ui/.nyc_output/out.json has no coverage information
[INFO] [TESTS] Did you forget to instrument your web application? Read https://github.com/cypress-io/code-coverage#instrument-your-application
[INFO] [CLIENT] 10:35:22 AM [vite] (client) page reload coverage/lcov-report/index.html
[INFO] [TESTS] ✓ Opens and closes the collapsed menu with the toggler (1696ms)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] 1 passing (2s)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] (Results)
[INFO] [TESTS]
[INFO] [TESTS] ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
[INFO] [TESTS] │ Tests: 1 │
[INFO] [TESTS] │ Passing: 1 │
[INFO] [TESTS] │ Failing: 0 │
[INFO] [TESTS] │ Pending: 0 │
[INFO] [TESTS] │ Skipped: 0 │
[INFO] [TESTS] │ Screenshots: 0 │
[INFO] [TESTS] │ Video: false │
[INFO] [TESTS] │ Duration: 1 second │
[INFO] [TESTS] │ Spec Ran: menu.cy.js │
[INFO] [TESTS] └────────────────────────────────────────────────────────────────────────────────────────────────┘
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] ────────────────────────────────────────────────────────────────────────────────────────────────────
[INFO] [TESTS]
[INFO] [TESTS] Running: query.cy.js (3 of 4)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] Query
[INFO] [SERVER] GET /tests/reset 200 0.167 ms - 2
[INFO] [SERVER] GET /$/ping 200 0.212 ms - 40
[INFO] [SERVER] POST /$/datasets 200 0.304 ms - 2
[INFO] [SERVER] GET /$/server 200 0.255 ms - -
[INFO] [SERVER] GET /$/server 200 0.247 ms - -
[INFO] [SERVER] GET /$/stats/skosmos 200 0.201 ms - -
[INFO] [SERVER] GET /tests/reset 200 0.167 ms - 2
[INFO] [TESTS] ✓ Uses the correct SPARQL Endpoint (2113ms)
[INFO] [SERVER] GET /tests/reset 200 0.148 ms - 2
[INFO] [SERVER] GET /$/ping 200 0.228 ms - 40
[INFO] [SERVER] POST /$/datasets 200 0.274 ms - 2
[INFO] [SERVER] GET /$/server 200 0.198 ms - -
[INFO] [SERVER] GET /$/server 304 0.268 ms - -
[INFO] [SERVER] GET /$/stats/skosmos 304 0.296 ms - -
[INFO] [SERVER] GET /tests/reset 200 0.187 ms - 2
[INFO] [TESTS] ⚠️ file /home/runner/work/jena/jena/jena-fuseki2/jena-fuseki-ui/.nyc_output/out.json has no coverage information
[INFO] [TESTS] Did you forget to instrument your web application? Read https://github.com/cypress-io/code-coverage#instrument-your-application
[INFO] [CLIENT] 10:35:26 AM [vite] (client) page reload coverage/lcov-report/index.html
[INFO] [TESTS] ✓ Can resize the query editor (964ms)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] 2 passing (3s)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] (Results)
[INFO] [TESTS]
[INFO] [TESTS] ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
[INFO] [TESTS] │ Tests: 2 │
[INFO] [TESTS] │ Passing: 2 │
[INFO] [TESTS] │ Failing: 0 │
[INFO] [TESTS] │ Pending: 0 │
[INFO] [TESTS] │ Skipped: 0 │
[INFO] [TESTS] │ Screenshots: 0 │
[INFO] [TESTS] │ Video: false │
[INFO] [TESTS] │ Duration: 3 seconds │
[INFO] [TESTS] │ Spec Ran: query.cy.js │
[INFO] [TESTS] └────────────────────────────────────────────────────────────────────────────────────────────────┘
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] ────────────────────────────────────────────────────────────────────────────────────────────────────
[INFO] [TESTS]
[INFO] [TESTS] Running: upload.cy.js (4 of 4)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] upload
[INFO] [SERVER] GET /tests/reset 200 0.160 ms - 2
[INFO] [SERVER] GET /$/ping 200 0.246 ms - 40
[INFO] [SERVER] POST /$/datasets 200 0.686 ms - 2
[INFO] [SERVER] GET /$/server 200 0.176 ms - -
[INFO] [SERVER] GET /$/server 304 0.247 ms - -
[INFO] [SERVER] GET /$/stats/skosmos 200 0.216 ms - -
[INFO] [SERVER] GET /tests/reset 200 0.223 ms - 2
[INFO] [TESTS] ✓ displays an empty progress bar by default (1290ms)
[INFO] [SERVER] GET /tests/reset 200 0.196 ms - 2
[INFO] [SERVER] GET /$/ping 200 0.153 ms - 40
[INFO] [SERVER] POST /$/datasets 200 0.310 ms - 2
[INFO] [SERVER] GET /$/server 304 0.292 ms - -
[INFO] [SERVER] GET /$/server 304 0.193 ms - -
[INFO] [SERVER] GET /$/stats/skosmos 304 0.191 ms - -
[INFO] [SERVER] GET /tests/reset 200 0.209 ms - 2
[INFO] [TESTS] ✓ accepts a blank graph name, and uploads to the dataset (993ms)
[INFO] [SERVER] GET /tests/reset 200 0.185 ms - 2
[INFO] [SERVER] GET /$/ping 200 0.218 ms - 40
[INFO] [SERVER] POST /$/datasets 200 0.262 ms - 2
[INFO] [SERVER] GET /$/server 200 0.167 ms - -
[INFO] [SERVER] GET /$/server 304 0.243 ms - -
[INFO] [SERVER] GET /$/stats/skosmos 304 0.200 ms - -
[INFO] [SERVER] GET /tests/reset 200 0.191 ms - 2
[INFO] [TESTS] ✓ rejects an invalid graph name (720ms)
[INFO] [SERVER] GET /tests/reset 200 0.145 ms - 2
[INFO] [SERVER] GET /$/ping 200 0.221 ms - 40
[INFO] [SERVER] POST /$/datasets 200 0.256 ms - 2
[INFO] [SERVER] GET /$/server 200 0.183 ms - -
[INFO] [SERVER] GET /$/server 304 0.193 ms - -
[INFO] [SERVER] GET /$/stats/skosmos 304 0.302 ms - -
[INFO] [SERVER] GET /tests/reset 200 0.146 ms - 2
[INFO] [TESTS] ⚠️ file /home/runner/work/jena/jena/jena-fuseki2/jena-fuseki-ui/.nyc_output/out.json has no coverage information
[INFO] [TESTS] Did you forget to instrument your web application? Read https://github.com/cypress-io/code-coverage#instrument-your-application
[INFO] [CLIENT] 10:35:32 AM [vite] (client) page reload coverage/lcov-report/index.html
[INFO] [TESTS] ✓ displays the progress for success and failure (965ms)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] 4 passing (4s)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] (Results)
[INFO] [TESTS]
[INFO] [TESTS] ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
[INFO] [TESTS] │ Tests: 4 │
[INFO] [TESTS] │ Passing: 4 │
[INFO] [TESTS] │ Failing: 0 │
[INFO] [TESTS] │ Pending: 0 │
[INFO] [TESTS] │ Skipped: 0 │
[INFO] [TESTS] │ Screenshots: 0 │
[INFO] [TESTS] │ Video: false │
[INFO] [TESTS] │ Duration: 4 seconds │
[INFO] [TESTS] │ Spec Ran: upload.cy.js │
[INFO] [TESTS] └────────────────────────────────────────────────────────────────────────────────────────────────┘
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] ====================================================================================================
[INFO] [TESTS]
[INFO] [TESTS] (Run Finished)
[INFO] [TESTS]
[INFO] [TESTS]
[INFO] [TESTS] Spec Tests Passing Failing Pending Skipped
[INFO] [TESTS] ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
[INFO] [TESTS] │ ✖ datasets.cy.js 00:28 9 8 1 - - │
[INFO] [TESTS] ├────────────────────────────────────────────────────────────────────────────────────────────────┤
[INFO] [TESTS] │ ✔ menu.cy.js 00:01 1 1 - - - │
[INFO] [TESTS] ├────────────────────────────────────────────────────────────────────────────────────────────────┤
[INFO] [TESTS] │ ✔ query.cy.js 00:03 2 2 - - - │
[INFO] [TESTS] ├────────────────────────────────────────────────────────────────────────────────────────────────┤
[INFO] [TESTS] │ ✔ upload.cy.js 00:04 4 4 - - - │
[INFO] [TESTS] └────────────────────────────────────────────────────────────────────────────────────────────────┘
[INFO] [TESTS] ✖ 1 of 4 failed (25%) 00:37 16 15 1 - -
[INFO] [TESTS]
[INFO] [TESTS] ----------------------------------------------------------------------------------------------------
[INFO] [TESTS]
[INFO] [TESTS] Debug faster with full visibility.
[INFO] [TESTS]
[INFO] [TESTS] Record to Cypress Cloud and get instant access to full test details and replays.
[INFO] [TESTS] Inspect the DOM, network events, and console logs exactly as they ran in CI.
[INFO] [TESTS]
[INFO] [TESTS] >> https://on.cypress.io/cloud-get-started
[INFO] [TESTS]
[INFO] [TESTS] ----------------------------------------------------------------------------------------------------
[INFO] [TESTS] yarn wait-on http-get://localhost:34339/index.html && cypress run exited with code 1
[INFO] --> Sending SIGTERM to other processes..
[INFO] [SERVER] yarn run serve:fuseki exited with code SIGTERM
[INFO] --> Sending SIGTERM to other processes..
[INFO] [CLIENT] yarn wait-on http://localhost:46775/$/ping && yarn run dev exited with code SIGTERM
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache Jena 6.3.0-SNAPSHOT:
[INFO]
[INFO] Apache Jena ........................................ SUCCESS [01:07 min]
[INFO] Apache Jena - IRI3986 .............................. SUCCESS [ 9.535 s]
[INFO] Apache Jena - Language tags ........................ SUCCESS [ 2.772 s]
[INFO] Apache Jena - Base ................................. SUCCESS [ 5.740 s]
[INFO] Apache Jena - Core ................................. SUCCESS [ 46.033 s]
[INFO] Apache Jena - ARQ .................................. SUCCESS [ 50.802 s]
[INFO] Apache Jena - ONTAPI ............................... SUCCESS [ 18.423 s]
[INFO] Apache Jena - SHACL ................................ SUCCESS [ 4.663 s]
[INFO] Apache Jena - ShEx ................................. SUCCESS [ 6.052 s]
[INFO] Apache Jena - RDF Patch ............................ SUCCESS [ 3.780 s]
[INFO] Apache Jena - RDF Connection ....................... SUCCESS [ 3.615 s]
[INFO] Apache Jena - DBOE Database Operation Environment .. SUCCESS [ 0.198 s]
[INFO] Apache Jena - DBOE Base ............................ SUCCESS [ 2.477 s]
[INFO] Apache Jena - DBOE Transactions .................... SUCCESS [ 2.159 s]
[INFO] Apache Jena - DBOE Indexes ......................... SUCCESS [ 0.728 s]
[INFO] Apache Jena - DBOE Index test suite ................ SUCCESS [ 0.601 s]
[INFO] Apache Jena - DBOE Transactional Datastructures .... SUCCESS [ 37.340 s]
[INFO] Apache Jena - DBOE Storage ......................... SUCCESS [ 2.248 s]
[INFO] Apache Jena - TDB1 (Native Triple Store) ........... SUCCESS [ 11.412 s]
[INFO] Apache Jena - TDB2 (Native Triple Store) ........... SUCCESS [ 11.842 s]
[INFO] Apache Jena - Libraries POM ........................ SUCCESS [ 0.522 s]
[INFO] Apache Jena - Command line tools ................... SUCCESS [ 6.685 s]
[INFO] Apache Jena - SPARQL Text Search ................... SUCCESS [ 7.781 s]
[INFO] Apache Jena - Service Enhancer ..................... SUCCESS [ 16.685 s]
[INFO] Apache Jena - GeoSPARQL Engine ..................... SUCCESS [ 23.934 s]
[INFO] Apache Jena - Fuseki ............................... SUCCESS [ 0.054 s]
[INFO] Apache Jena - Fuseki Core Engine ................... SUCCESS [ 4.187 s]
[INFO] Apache Jena - Fuseki UI ............................ FAILURE [01:27 min]
[INFO] Apache Jena - Fuseki Data Access Control ........... SKIPPED
[INFO] Apache Jena - Fuseki Server Main ................... SKIPPED
[INFO] Apache Jena - Fuseki MOD - GeoSPARQL ............... SKIPPED
[INFO] Apache Jena - Fuseki Server Jar .................... SKIPPED
[INFO] Apache Jena - Fuseki Docker Tools .................. SKIPPED
[INFO] Apache Jena - Fuseki Binary Distribution ........... SKIPPED
[INFO] Apache Jena - Fuseki with GeoSPARQL Engine ......... SKIPPED
[INFO] Apache Jena - CommonsRDF for Jena .................. SKIPPED
[INFO] Apache Jena - Query Builder ........................ SKIPPED
[INFO] Apache Jena - Integration Testing .................. SKIPPED
[INFO] Apache Jena - Distribution ......................... SKIPPED
[INFO] Apache Jena - Code Examples ........................ SKIPPED
[INFO] Apache Jena - BOM .................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 07:16 min
[INFO] Finished at: 2026-11-10T10:35:32Z
[INFO] ------------------------------------------------------------------------
Are you interested in making a pull request?
Yes
- 主要言語
- Java
- スター
- 1.5k
- フォーク
- 733
- 平均マージ
- 1日 4時間
- マージ済み PR(30日)
- 48
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/jena のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信
-
rset command throws NPE in ResultsFormat.guessSyntax対応中かも @Ostrzyciel が 19 日前に担当しました。 オープンbug Cmd
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
bug JSON-LD
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
IRI resolution against a same-scheme base rewrites absolute info: IRIs (info:a/b -> info:a/a/b) since jena-iri removal対応中かも @afs が 4 日前に担当しました。 オープン
apache/jena#4388 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
apache/jena#4364 · コメント 15 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
Type: bug
難易度 1/5 1時間未満 初心者へのやさしさ 83/100
apache/parquet-java#3941 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
objectionary/sabj25#47 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
jakartaee/expression-language#501 ·
メンテナーはふだん 7 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
objectionary/hone-maven-plugin#1392 ·
メンテナーはふだん 1 日以内に返信