You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2013/02/27 15:47:15 UTC

[jira] [Commented] (WICKET-5023) Page store process is broken if an exception occurs at commit request phase.

    [ https://issues.apache.org/jira/browse/WICKET-5023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13588395#comment-13588395 ] 

Martin Grigorov commented on WICKET-5023:
-----------------------------------------

There is not much can be done at that phase. The response is already written to the client when the page is being stored.
The best can be done in this case is to write a log message and assume that the page is stateful and store it.
An error can occur later too, for example if the disk is full, but I see no way to do something in this case. The developer will see the logs and the user will experience PageExpiredException.
                
> Page store process is broken if an exception occurs at commit request phase.
> ----------------------------------------------------------------------------
>
>                 Key: WICKET-5023
>                 URL: https://issues.apache.org/jira/browse/WICKET-5023
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.5.9, 6.5.0
>         Environment: ubuntu 12.10
> jdk 1.6.0_30
>            Reporter: Anton
>         Attachments: brokenPageStoringTestCase.zip
>
>
> Wicket generates non-working links on custom error page if an exception occurs at commit request phase. Click on any link causes PageExpiredException.
> This happens because page is not stored during request processing.
> Steps to reproduce:
> - Add RequestCycleListener handling all exceptions and redirecting to custom error page (see. WicketApplication.init)
> - Add security check (see. WicketApplication.init). This example contains simplified security check.
> - Create error page (ErrorPage)
> - Create login page (LoginPage)
> - Create secured page (HomePage) containing:
>   -- Point 5. A component causing an exception at render phase
>   -- Point 6. Another component causing an exception at stateless check
> - Start application. LoginPage appears.
> - LoginPage: Click "Login". ErrorPage appears.
> - ErrorPage: Click "Back to Main". PageExpiredException occurs and ErrorPage appears again.
> see attached test case.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira