flexion / ef-cms

An Electronic Filing / Case Management System.
23 stars 10 forks source link

BUG: User with many cases (4k+) cannot login #9882

Closed mmarcotte closed 1 year ago

mmarcotte commented 1 year ago

Describe the Bug

Users who are associated with a large amount of cases, mainly consolidated cases, can not login because the GET /cases endpoint attempts to return too much information. This triggers a 502 error.

Business Impact/Reason for Severity

In which environment did you see this bug?

Prod | Test

Who were you logged in as?

IRS Practitioner with bar number FH0290

What were you doing when you discovered this bug? (Using the application, demoing, smoke tests, testing other functionality, etc.)

Zendesk issue

To Reproduce

Steps to reproduce the behavior:

  1. Become the userId for that practitioner
  2. Attempt to login
  3. Observe the GET /cases 502
  4. Get logged out

Expected Behavior

GET /cases should 200, and the page should load all of the cases.

Actual Behavior

GET /cases 502s, and the user is logged out.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Cause of Bug, If Known

9599 and #9597 introduced consolidated logic to show consolidated cases in groups on user's dashboards. However, it's returning too much information about some of the consolidated cases that it looks up (docket entries, etc.)

Process for Logging a Bug:

Severity Definition:

Definition of Ready for Bugs(Created 10-4-21)

Definition used: A failure or flaw in the system which produces an incorrect or undesired result that deviates from the expected result or behavior. (Note: Expected results are use cases that have been documented in past user stories as acceptance criteria and test cases, and do not include strange behavior unrelated to use cases.)

The following criteria must be met in order for the development team to begin work on the bug.

The bug must:

Process: If the unexpected results are new use cases that have been identified, but not yet built, new acceptance criteria and test cases should be captured in a new user story and prioritized by the product owner.

If the Court is not able to reproduce the bug, add the “Unable to reproduce” tag. This will provide visibility into the type of support that may be needed by the Court. In the event that the Court cannot reproduce the bug, the Court will work with Flexion to communicate what type of troubleshooting help may be needed.

Definition of Done (Updated 4-14-21)

Product Owner

Engineering

mmarcotte commented 1 year ago

Reduced the responseSize to around a meg for a user that has 4,200 cases. That would suggest that at present the most number of cases a user can have and this solution continue to work is around 21,000.

Here's a screenshot for two users experiencing the bug in production with the deployed fix in test:

Screenshot 2023-03-15 at 10 02 18 AM