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

JAMES-3777 Mitigate performance problems with JMAP filters #1519

Merged
merged 5 commits into from
Apr 22, 2023

Conversation

chibenwa
Copy link
Contributor

Uses a read projection (optional)

This prevents loading the full aggregate history (O(n2)) and doing LWTs upon receiving emails.

A route allows resetting the projection.

Possible enhancement:

  • Allow individual filter addition, removal (history in O(N) )
  • (Snapshots for the event sourcing system in James ?)

@chibenwa chibenwa self-assigned this Apr 14, 2023
@chibenwa chibenwa force-pushed the JAMES-3777 branch 3 times, most recently from fee4459 to 68d4715 Compare April 15, 2023 15:43
@Arsnael
Copy link
Contributor

Arsnael commented Apr 20, 2023

Just realising... last commit is a fixup correct?

Version can be deduced from the events generated by the writes without conducting
further reads.
Writes is still O(n2) but using the read projection allows
reads to be O(n). It also enables avoiding LWTs upon reads.
@chibenwa chibenwa merged commit a133d07 into apache:master Apr 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants