Skip to content
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

Handle aborted get requests and null domain objects when using ObjectAPI #7276

Conversation

scottbell
Copy link
Contributor

@scottbell scottbell commented Dec 5, 2023

Closes #7275

Describe your changes:

  1. Check to see if request was aborted and the domain object is null before blindly applying get interceptors
  2. Ensure migrations can handle a null returned domain object due to a request abort.

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Is this change backwards compatible? For example, developers won't need to change how they are calling the API or how they've extended core plugins such as Tables or Plots.

Author Checklist

  • Changes address original issue?
  • Tests included and/or updated with changes?
  • Command line build passes?
  • Has this been smoke tested?
  • Testing instructions included in associated issue OR is this a dependency/testcase change?

Reviewer Checklist

  • Changes appear to address issue?
  • Reviewer has tested changes by following the provided instructions?
  • Changes appear not to be breaking changes?
  • Appropriate automated tests included?
  • Code style and in-line documentation are appropriate?
  • Has associated issue been labelled unverified? (only applicable if this PR closes the issue)
  • Has associated issue been labelled bug? (only applicable if this PR is for a bug fix)

@scottbell scottbell linked an issue Dec 5, 2023 that may be closed by this pull request
7 tasks
Copy link

deploysentinel bot commented Dec 5, 2023

Current Playwright Test Results Summary

✅ 15 Passing - ⚠️ 1 Flaky

Run may still be in progress, this comment will be updated as current testing workflow or job completes...

(Last updated on 12/05/2023 05:43:28pm UTC)

Run Details

Running Workflow e2e-couchdb on Github Actions

Commit: f9737a5

Started: 12/05/2023 05:37:58pm UTC

⚠️ Flakes

📄   functional/plugins/displayLayout/displayLayout.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Display Layout When multiple plots are contained in a layout, we only ask for annotations once @couchdb
Retry 1Initial Attempt
0% (0) 0 / 46 runs
failed over last 7 days
15.22% (7) 7 / 46 runs
flaked over last 7 days

View Detailed Build Results


Current Playwright Test Results Summary

✅ 164 Passing - ⚠️ 5 Flaky

Run may still be in progress, this comment will be updated as current testing workflow or job completes...

(Last updated on 12/05/2023 05:43:28pm UTC)

Run Details

Running Job e2e-stable on CircleCI

Commit: f9737a5

Started: 12/05/2023 05:35:54pm UTC

⚠️ Flakes

📄   functional/plugins/tabs/tabs.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Tabs View Renders tabbed elements
Retry 1Initial Attempt
0% (0) 0 / 56 runs
failed over last 7 days
7.14% (4) 4 / 56 runs
flaked over last 7 days

📄   functional/plugins/telemetryTable/telemetryTable.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Telemetry Table unpauses and filters data when paused by button and user changes bounds
Retry 1Initial Attempt
0% (0) 0 / 55 runs
failed over last 7 days
27.27% (15) 15 / 55 runs
flaked over last 7 days

📄   functional/planning/timelist.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Time List Create a Time List, add a single Plan to it and verify all the activities are displayed with no milliseconds
Retry 1Initial Attempt
2.53% (2) 2 / 79 runs
failed over last 7 days
58.23% (46) 46 / 79 runs
flaked over last 7 days

📄   functional/plugins/notebook/restrictedNotebook.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Restricted Notebook with a page locked and with an embed @addinit Allows embeds to be deleted if page unlocked @addinit
Retry 1Initial Attempt
0% (0) 0 / 57 runs
failed over last 7 days
33.33% (19) 19 / 57 runs
flaked over last 7 days

📄   functional/plugins/notebook/notebookSnapshots.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Snapshot image tests Can drop an image onto a notebook and create a new entry
Retry 1Initial Attempt
1.72% (1) 1 / 58 run
failed over last 7 days
62.07% (36) 36 / 58 runs
flaked over last 7 days

View Detailed Build Results


@scottbell
Copy link
Contributor Author

Network throttled to fast 3G and search debounce set to 10ms.
Before:

before.mov

After:

after.mov

@scottbell scottbell requested review from ozyx and jvigliotta December 5, 2023 11:11
Copy link

codecov bot commented Dec 5, 2023

Codecov Report

Merging #7276 (6ea14c9) into master (2d9c041) will decrease coverage by 0.10%.
The diff coverage is 50.00%.

❗ Current head 6ea14c9 differs from pull request most recent head f9737a5. Consider uploading reports for the commit f9737a5 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7276      +/-   ##
==========================================
- Coverage   55.98%   55.88%   -0.10%     
==========================================
  Files         655      655              
  Lines       26286    26290       +4     
  Branches     2540     2540              
==========================================
- Hits        14716    14693      -23     
- Misses      10857    10884      +27     
  Partials      713      713              
Flag Coverage Δ
e2e-full 41.87% <ø> (ø)
e2e-stable 58.36% <50.00%> (-0.11%) ⬇️
unit 49.17% <50.00%> (+<0.01%) ⬆️
Files Coverage Δ
src/plugins/objectMigration/Migrations.js 4.83% <ø> (ø)
src/api/objects/ObjectAPI.js 91.51% <50.00%> (-0.76%) ⬇️

... and 7 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2d9c041...f9737a5. Read the comment docs.

@scottbell scottbell added the pr:e2e:couchdb npm run test:e2e:couchdb label Dec 5, 2023
@scottbell scottbell added pr:e2e:couchdb npm run test:e2e:couchdb and removed pr:e2e:couchdb npm run test:e2e:couchdb labels Dec 5, 2023
@github-actions github-actions bot removed the pr:e2e:couchdb npm run test:e2e:couchdb label Dec 5, 2023
@ozyx ozyx added this to the Target:3.3.0 milestone Dec 5, 2023
Copy link
Contributor

@ozyx ozyx left a comment

Choose a reason for hiding this comment

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

This all LGTM! Just a note to remove one commented line

e2e/tests/functional/search.e2e.spec.js Outdated Show resolved Hide resolved
e2e/tests/functional/search.e2e.spec.js Show resolved Hide resolved
e2e/tests/functional/search.e2e.spec.js Show resolved Hide resolved
@scottbell scottbell added the pr:e2e:couchdb npm run test:e2e:couchdb label Dec 5, 2023
@github-actions github-actions bot removed the pr:e2e:couchdb npm run test:e2e:couchdb label Dec 5, 2023
@scottbell scottbell enabled auto-merge (squash) December 5, 2023 17:42
@scottbell scottbell merged commit 93e5219 into master Dec 5, 2023
8 checks passed
@scottbell scottbell deleted the 7275-couchdb-modifying-search-input-sometimes-causes-conflict-errors branch December 5, 2023 17:43
@ozyx
Copy link
Contributor

ozyx commented Dec 6, 2023

@scottbell need to cherry pick this onto release/3.3.0

scottbell added a commit that referenced this pull request Dec 6, 2023
…API (#7276)

* handle null domain objects

* add some test coverage for aborting search results

* to make test independent
@scottbell
Copy link
Contributor Author

@scottbell need to cherry pick this onto release/3.3.0

@ozyx #7279

ozyx pushed a commit that referenced this pull request Dec 8, 2023
…ts when using Object… (#7279)

Handle aborted get requests and null domain objects when using ObjectAPI (#7276)

* handle null domain objects

* add some test coverage for aborting search results

* to make test independent
@unlikelyzero unlikelyzero modified the milestones: Target:3.3.0, Target:4.0.0 Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[CouchDB] Modifying search input sometimes causes conflict errors
3 participants