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

TASK: Introduce rebase failed exception and deprecate WorkspaceRebaseFailed #4965

Merged
merged 6 commits into from
Apr 10, 2024

Conversation

nezaniel
Copy link
Member

@nezaniel nezaniel commented Mar 29, 2024

This deprecates the WorkspaceRebaseFailed event with a likewise named exception.

Applications like the Neos UI need detailed information about what exactly failed. Storing this in an event incapacitates the event store quite fast since the amount of data gets quickly out of hand.

Also, we currently have no application for handling the stored data asynchronously. For endpoints like the Neos UI BackendServiceController we need the feedback directly anyway, so instead of waiting for the event to be serialized and deserialized again, they can deal with an exception a lot better.

All necessary information is stored in said exception and thrown with it, readily available for the initiating user to deal with it

Upgrade instructions

nothing yet

Review instructions

I'm not 100% sure about the workspace / content stream state handling. The conflict state is probably no longer necessary

Related: #4545

Checklist

  • Code follows the PSR-12 coding style
  • Tests have been created, run and adjusted as needed
  • The PR is created against the 9.0 branch
  • Reviewer - PR Title is brief but complete and starts with FEATURE|TASK|BUGFIX
  • Reviewer - The first section explains the change briefly for change-logs
  • Reviewer - Breaking Changes are marked with !!! and have upgrade-instructions

Copy link
Member

@kitsunet kitsunet left a comment

Choose a reason for hiding this comment

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

I think one of those "merge rather now than later" kind of changes.

Copy link
Member

@bwaidelich bwaidelich left a comment

Choose a reason for hiding this comment

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

Looks great and the change makes a lot of sense IMO.

Unfortunately, this still does not seem to allow discarding personal changes in order to solve a conflict:

4965-screenrecording.mov

is that expected?

@nezaniel
Copy link
Member Author

yes, the whole publishing/discarding will be overhauled in neos/neos-ui#3744

@bwaidelich bwaidelich merged commit d102455 into 9.0 Apr 10, 2024
10 checks passed
@bwaidelich bwaidelich deleted the rebaseFailedException branch April 10, 2024 11:56
@mhsdesign mhsdesign changed the title Rebase failed exception TASK: Introduce rebase failed exception and deprecate WorkspaceRebaseFailed Apr 25, 2024
@github-actions github-actions bot added the Task label Apr 25, 2024
@mhsdesign
Copy link
Member

Question: what happens with \Neos\ContentRepository\Core\Projection\Workspace\WorkspaceStatus::OUTDATED_CONFLICT the doc comment is now at least outdated and we never use it anymore besides writing for legacy event but we never query those?

So can we get rid of this status ?

@nezaniel
Copy link
Member Author

Yep, it's no longer needed afais

mhsdesign added a commit to mhsdesign/neos-development-collection that referenced this pull request Oct 17, 2024
Via neos#4965 the status REBASE_ERROR is obsolete.
Instead of still using this status on replay we mimic the new logic:
> In case of a [rebase error}, reopen the old content stream and remove the newly created

Additionally, to not break `findContentStreams` when fetching all content streams we make sure that the streams with `REBASE_ERROR` are transformed to `NO_LONGER_IN_USE` so they can be cleaned up.

Related neos#5101
mhsdesign added a commit to mhsdesign/neos-development-collection that referenced this pull request Jan 26, 2025
…ng the exception message)

While before neos#4965 a even `WorkspaceRebaseFailed` would contain bloats of data which grew a lot.
A small message in the closed even is not a problem though.
mhsdesign added a commit to mhsdesign/neos-development-collection that referenced this pull request Jan 27, 2025
…ng the exception message)

While before neos#4965 a even `WorkspaceRebaseFailed` would contain bloats of data which grew a lot.
A small message in the closed even is not a problem though.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants