roller-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Glen Mazza (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (ROL-1480) Poor handling of database exception in blog Settings screen
Date Mon, 03 Jun 2013 12:51:20 GMT

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

Glen Mazza resolved ROL-1480.
-----------------------------

    Resolution: Fixed

Fixed some time ago (and part of already closed ROL-1479 as well), JavaScript and/or HTML
limits in place to prohibit entry of descriptions longer than 255 characters, hence no DB
should occur.  Thanks for letting us know!
                
> 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

Mime
View raw message