MID-9998 Fix stale page recovery after view-source#642
Open
kay1313 wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixed
MID-9998: internal server error after viewing page source and returning to midPoint.The issue was caused by
StalePageExceptionbeing handled byLoggingRequestCycleListeneras an unexpected rendering error and converted toPageError, which produced a user-facing HTTP 500.StalePageExceptionis a Wicket stale page/render-count recovery case, for example after browserview-source, back/forward navigation, duplicate tabs, or similar stale page requests. It should be recovered by re-rendering the stale page instead of being converted to the generic error page.Changes
StalePageExceptioninLoggingRequestCycleListener.RenderPageRequestHandlerwithRedirectPolicy.ALWAYS_REDIRECT.LoggingRequestCycleListenerTestto verify thatStalePageExceptionis recovered withRenderPageRequestHandlerand is not converted toPageError.MID-9998.Testing
Added unit test:
LoggingRequestCycleListenerTest.testStalePageExceptionIsRecoveredInsteadOfConvertedToPageErrorManually verified original reproduction scenario:
Ctrl+Uto display page source.Expected result: no HTTP 500 is shown. The stale page is recovered/re-rendered. A second click may be needed to perform the original navigation after recovery.