Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-1149

After updating mail template - an ORA-12899 value too large for column is trown

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Medium Medium
    • None
    • 1.4.3
    • Database
    • None
    • Crowd on Jboss 2.2.4 with Oracle 10G expres (type-mapping in datasource is also set to Oracle10g)

      After clicking update on the mail template this is shown:

      org.springframework.jdbc.UncategorizedSQLException: Hibernate flushing: Could not execute JDBC batch update; uncategorized SQLException for SQL [update "SERVERPROPERTY" set "NAME"=?, "VALUE"=? where "ID"=?]; SQL state [72000]; error code [12899]; ORA-12899: value too large for column "CROWDUSER"."SERVERPROPERTY"."VALUE" (actual: 257, maximum: 255) ; nested exception is java.sql.BatchUpdateException: ORA-12899: value too large for column "CROWDUSER"."SERVERPROPERTY"."VALUE" (actual: 257, maximum: 255)
      
      org.springframework.jdbc.UncategorizedSQLException: Hibernate flushing: Could not execute JDBC batch update; uncategorized SQLException for SQL [update "SERVERPROPERTY" set "NAME"=?, "VALUE"=? where "ID"=?]; SQL state [72000]; error code [12899]; ORA-12899: value too large for column "CROWDUSER"."SERVERPROPERTY"."VALUE" (actual: 257, maximum: 255)
      ; nested exception is java.sql.BatchUpdateException: ORA-12899: value too large for column "CROWDUSER"."SERVERPROPERTY"."VALUE" (actual: 257, maximum: 255)
      
      	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:124)
      	at org.springframework.orm.hibernate3.HibernateTransactionManager.convertJdbcAccessException(HibernateTransactionManager.java:750)
      	at org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:736)
      	at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:614)
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
      	at com.atlassian.crowd.console.interceptor.XWorkTransactionInterceptor$1.beforeResult(XWorkTransactionInterceptor.java:99)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:202)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
      	at com.atlassian.crowd.console.interceptor.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:111)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
      	at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
      	at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)
      	at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
      	at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
      	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
      	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
      	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      	at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
      	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      	at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
      	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      	at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
      	at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
      	at com.atlassian.crowd.console.filter.CrowdOpenSessionInViewFilter.doFilterInternal(CrowdOpenSessionInViewFilter.java:26)
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:88)
      	at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:64)
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
      	at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.atlassian.crowd.console.filter.LicenceFilter.doFilterInternal(LicenceFilter.java:55)
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
      	at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:38)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:33)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
      	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
      	at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
      	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      	at java.lang.Thread.run(Thread.java:619)
      Caused by: java.sql.BatchUpdateException: ORA-12899: value too large for column "CROWDUSER"."SERVERPROPERTY"."VALUE" (actual: 257, maximum: 255)
      
      	at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
      	at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10720)
      	at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:519)
      	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
      	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
      	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
      	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
      	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
      	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
      	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
      	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
      	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
      	at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:606)
      	... 91 more
      
       Referer : http://crowd.eden.klm.com/console/secure/admin/mailtemplate.action
      
      Build Information :
      Version : 1.4.3 (Build:#303 - Jun 04, 2008)
      
      Memory Information :
      Total Memory : 141 MB
      Free Memory : 75 MB
      Used Memory : 65 MB
      
      Request Information :
      - Request URL : http://crowd.eden.klm.com/console/500.jsp
      - Scheme : http
      - Server : crowd.eden.klm.com
      - Port : 80
      - URI : /console/500.jsp
      - Context Path :
      - - Servlet Path : /console/500.jsp
      - - Path Info : null
      - - Query String :
      
      Request Attributes :
      - javax.servlet.forward.request_uri : /console/secure/admin/mailtemplate!update.action
      - javax.servlet.forward.context_path :
      - javax.servlet.forward.servlet_path : /console/secure/admin/mailtemplate!update.action
      - javax.servlet.forward.path_info : /console/500.jsp
      - interface com.atlassian.crowd.integration.http.HttpAuthenticator.REQUEST_SSO_COOKIE_COMMITTED : true
      - javax.servlet.error.status_code : 500
      - javax.servlet.error.servlet_name : default
      - __cleanup_counter : 0
      - com.atlassian.gzipfilter.GzipFilter_already_filtered : true
      - com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
      - gzipMimeTypes : text/html,text/javascript,text/css,text/plain,application/x-javascript,application/javascript
      - javax.servlet.error.message :
      - webwork.valueStack : com.opensymphony.xwork.util.OgnlValueStack@1fed233
      - sessioninview.FILTERED : true
      - __sitemesh__filterapplied : true
      - javax.servlet.error.exception : javax.servlet.ServletException: org.springframework.jdbc.UncategorizedSQLException: Hibernate flushing: Could not execute JDBC batch update; uncategorized SQLException for SQL [update "SERVERPROPERTY" set "NAME"=?, "VALUE"=? where "ID"=?]; SQL state [72000]; error code [12899]; ORA-12899: value too large for column "CROWDUSER"."SERVERPROPERTY"."VALUE" (actual: 257, maximum: 255) ; nested exception is java.sql.BatchUpdateException: ORA-12899: value too large for column "CROWDUSER"."SERVERPROPERTY"."VALUE" (actual: 257, maximum: 255)
      - __acegi_filterSecurityInterceptor_filterApplied : true
      - javax.servlet.error.request_uri : /console/secure/admin/mailtemplate!update.action
      - licenceFilter.FILTERED : true
      - crowd.token_key : CWC8JRuKS0QInIh1Efgdbw00
      

            [CWD-1149] After updating mail template - an ORA-12899 value too large for column is trown

            We'll track this issue as CWD-310.

            David O'Flynn [Atlassian] added a comment - We'll track this issue as CWD-310 .

            Erik Post added a comment -

            A better solution in my opinion would be a larger maximum size for the mail template (instead of the current limit of 256 characters), or allow a file to be uploaded.

            Erik Post added a comment - A better solution in my opinion would be a larger maximum size for the mail template (instead of the current limit of 256 characters), or allow a file to be uploaded.

            Alright so it does not have anything to do with configuration errors.

            Thanks,

            I hope it will be fixed in the next release.
            In the meantime we will check the string length ourselves I guess.

            Arno Koehler added a comment - Alright so it does not have anything to do with configuration errors. Thanks, I hope it will be fixed in the next release. In the meantime we will check the string length ourselves I guess.

            The mail template has a maximum size of 256 characters. This error is thrown when the template being saved is longer than this.

            We should a) check length before saving, and b) handle the error gracefully.

            David O'Flynn [Atlassian] added a comment - The mail template has a maximum size of 256 characters. This error is thrown when the template being saved is longer than this. We should a) check length before saving, and b) handle the error gracefully.

              doflynn David O'Flynn [Atlassian]
              arno.koehler Arno Koehler
              Affected customers:
              2 This affects my team
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: