You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by "Glen Mazza (JIRA)" <ji...@apache.org> on 2013/01/07 02:17:12 UTC

[jira] [Assigned] (ROL-1480) Poor handling of database exception in blog Settings screen

     [ https://issues.apache.org/jira/browse/ROL-1480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Glen Mazza reassigned ROL-1480:
-------------------------------

    Assignee: Glen Mazza  (was: Roller Unassigned)
    
> Poor handling of database exception in blog Settings screen
> -----------------------------------------------------------
>
>                 Key: ROL-1480
>                 URL: https://issues.apache.org/jira/browse/ROL-1480
>             Project: Roller
>          Issue Type: Bug
>          Components: Configuration & Settings
>    Affects Versions: 3.1
>         Environment: WebSphere Platform 6.0 [BASE 6.0.2.15 cf150636.04]
>            Reporter: Andy Stevens
>            Assignee: Glen Mazza
>            Priority: Minor
>
> If I edit the General Settings for a blog and type more than 255 characters into the Description field, when I try to submit the changes I get an error page that reads
> Unexpected Exception
> Roller has encountered and logged an unexpected exception.
> Checking the server log file, I find the following messages:
> [16/07/07 11:53:08:747 BST] 00000020 ServletWrappe E   SRVE0068E: Could not invoke the service() method on servlet action. Exception thrown : javax.servlet.ServletException
> 	at org.apache.roller.ui.authoring.struts.actions.WebsiteFormAction.update(WebsiteFormAction.java:215)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
> 	at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
> 	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
> 	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
> ...
> ---- Begin backtrace for Nested Throwables
> org.apache.roller.RollerException
> 	at org.apache.roller.business.hibernate.HibernatePersistenceStrategy.flush(HibernatePersistenceStrategy.java:228)
> 	at org.apache.roller.business.hibernate.HibernateRollerImpl.flush(HibernateRollerImpl.java:109)
> 	at org.apache.roller.ui.authoring.struts.actions.WebsiteFormAction.update(WebsiteFormAction.java:184)
> ...
> --- ROOT CAUSE ---
> org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
> 	at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:91)
> 	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:79)
> 	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
> 	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
> 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
> 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
> 	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
> 	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
> 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009)
> 	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:356)
> 	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
> 	at org.apache.roller.business.hibernate.HibernatePersistenceStrategy.flush(HibernatePersistenceStrategy.java:222)
> 	at org.apache.roller.business.hibernate.HibernateRollerImpl.flush(HibernateRollerImpl.java:109)
> 	at org.apache.roller.ui.authoring.struts.actions.WebsiteFormAction.update(WebsiteFormAction.java:184)
> ...
> Caused by: java.sql.BatchUpdateException: Data truncation: Data too long for column 'description' at row 1
> 	at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:647)
> 	at com.mysql.jdbc.jdbc2.optional.StatementWrapper.executeBatch(StatementWrapper.java:681)
> 	at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.pmiExecuteBatch(WSJdbcStatement.java:1173)
> 	at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeBatch(WSJdbcStatement.java:516)
> 	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
> 	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
> This should be handled in a much more friendly fashion.
> Given that textarea's rows & cols attributes only determine the size and don't restrict the amount of text that can be entered, the action should validate the length of this value before trying to save it.  Ideally, there'd be some javascript checking it client-side as well, before allowing the form to be submitted.

--
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