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

Feature: MergeManyChangeSets for Cache ChangeSets with List ChangeSets #790

Merged

Conversation

dwcullop
Copy link
Member

@dwcullop dwcullop commented Dec 10, 2023

Description

Implements the MergeManyChangeSets operator for Cache ChangeSets source and List ChangeSet children. This PR also adds an IEqualityComparer to the List-to-List version that was omitted before.

Other Changes

  • Rename MergeManyCacheChangeSetsSourceCompareFixture to MergeManyChangeSetsCacheSourceCompareFixture for consistency
  • Rename Completed to IsCompleted property on Cache Aggregator for consistency
  • Created a Stress Test helper extension methods and test helper code

@dwcullop dwcullop marked this pull request as ready for review December 13, 2023 02:55
@RolandPheasant
Copy link
Collaborator

RolandPheasant commented Dec 13, 2023

Code wise, it looks great and only one minor request which is to seal classes when possible.

Aside from that I ran the stress tests and managed to produce some intermittent errors.

image

and on a subsequent run

image

I think the stress tests are a brilliant idea, but I wonder whether that test performance wizard @JakenVeina has any suggestions how those tests can be made to run fast,

@JakenVeina
Copy link
Collaborator

I think the stress tests are a brilliant idea, but I wonder whether that test performance wizard @JakenVeina has any suggestions how those tests can be made to run fast,

Would be happy to, if the branch would build. ;)

SourceErrorsImmediately_SubscriptionReceivesError is now re-enabled I ran on a loop test and passed every time
@ChrisPulman
Copy link
Member

The problem now is that the Stress tests take an infinite period of time to run.

@ChrisPulman
Copy link
Member

I think the stress tests are a brilliant idea, but I wonder whether that test performance wizard @JakenVeina has any suggestions how those tests can be made to run fast,

Would be happy to, if the branch would build. ;)

@JakenVeina The branch should build now, if you have time

@dwcullop
Copy link
Member Author

dwcullop commented Dec 15, 2023

Code wise, it looks great and only one minor request which is to seal classes when possible.

Agree about sealing the classes, but I can't find any that weren't already sealed (or static).

Aside from that I ran the stress tests and managed to produce some intermittent errors.

Been fighting these for a few days now, but I hope I've got them under control now.

I think the stress tests are a brilliant idea, but I wonder whether that test performance wizard @JakenVeina has any suggestions how those tests can be made to run fast,

I'm open to any suggestions.

Copy link
Collaborator

@RolandPheasant RolandPheasant left a comment

Choose a reason for hiding this comment

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

I have not followed the entire conversation on Slack, owning to being away for a couple days. Instead for now I'll approve and leave to the discretion of @dwcullop whether it is ready to be merged.

@dwcullop dwcullop merged commit 32ce42b into reactivemarbles:main Dec 16, 2023
1 check passed
@dwcullop dwcullop deleted the feature/cache-list-mergemanychangesets branch December 16, 2023 19:29
@dwcullop dwcullop self-assigned this Dec 20, 2023
Copy link

github-actions bot commented Jan 4, 2024

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants