[ 
http://mifosforge.jira.com/browse/MIFOS-4184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kay Chau updated MIFOS-4184:
----------------------------

    Status: Ready to Ship / Verified  (was: Ready for Showcase)

> Problem with question groups functionality: Data too long for column 
> change_log_detail.field_name
> -------------------------------------------------------------------------------------------------
>
>                 Key: MIFOS-4184
>                 URL: http://mifosforge.jira.com/browse/MIFOS-4184
>             Project: mifos
>          Issue Type: Bug
>          Components: QuestionGroups/Surveys/PPI
>    Affects Versions: Release 2.0.0
>            Reporter: Milan Patel
>            Assignee: Udai Gupta
>            Priority: Major
>              Labels: community
>             Fix For: Elsie F - Iteration 10, Elsie F
>
>
> I created a new client, and the client creation process includes a survey 
> based on Question Groups.
> Upon submitting the client to save to database, I get an error on 
> front-end:"An unhandled error has occurred. Please contact your system 
> administrator."
> Log has error message at bottom of this description--significantly stating 
> "com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for 
> column 'field_name' at row 1"
> Upon reviewing MYSQL insert statement, I find following transactions:
> insert into change_log (entity_id, entity_type, modifier_name, changed_by, 
> changed_date) values (1201, 1, 'mifos', 1, '2010-11-19')
> insert into change_log_detail (field_name, old_value, new_value, 
> change_log_id) values ('Activos y Pasivos/Cuales son sus activos (del negocio 
> y de la casa)?/Vehiculos (Valor, COP)', '-', '600000', 10)
> insert into change_log_detail (field_name, old_value, new_value, 
> change_log_id) values ('Activos y Pasivos/Otras preguntas/Tiene relacion con 
> el sector financiero?', '-', 'No', 10)
> insert into change_log_detail (field_name, old_value, new_value, 
> change_log_id) values ('Activos y Pasivos/Cuales son sus activos (del negocio 
> y de la casa)?/Maquinaria  y equipo (Valor, COP)', '-', '400000', 10)
> Note 3 insert statement-- value for field "field_name" is 'Activos y 
> Pasivos/Otras preguntas/Tiene relacion con el sector financiero?'.  This is 
> 102 characters, where field itself is set to 100.   If statement is run 
> directly in MYSQL workbench, statement is inserted, but field value is 
> truncated by 2 characters.
> This problem is related to Question Groups, as the insert statement is 
> related to a response from question groups--the field name itself is in 
> format question group name / section heading /question.  
> I am trying workaround of expanding the database field 
> change_log_detail.field_name, but I don't know if this is sensible in a 
> production environment or not.  
> Nov 19, 2010 11:19:02 AM org.apache.catalina.core.StandardWrapperValve invoke
> SEVERE: Servlet.service() for servlet Controller threw exception
> com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 
> 'field_name' at row 1
>       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3561)
>       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3495)
>       at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
>       at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
>       at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2693)
>       at 
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2102)
>       at 
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2395)
>       at 
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2313)
>       at 
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2298)
>       at 
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
>       at 
> org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)
>       at 
> org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
>       at 
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2329)
>       at 
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2836)
>       at 
> org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
>       at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)
>       at 
> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
>       at 
> org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
>       at 
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
>       at 
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
>       at 
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
>       at 
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
>       at 
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
>       at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:677)
>       at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:669)
>       at 
> org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:252)
>       at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:392)
>       at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:335)
>       at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204)
>       at 
> org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:425)
>       at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:362)
>       at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:338)
>       at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204)
>       at org.hibernate.engine.Cascade.cascade(Cascade.java:161)
>       at 
> org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:476)
>       at 
> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:354)
>       at 
> org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
>       at 
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
>       at 
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
>       at 
> org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
>       at 
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
>       at 
> org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
>       at 
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
>       at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:705)
>       at org.hibernate.impl.SessionImpl.save(SessionImpl.java:693)
>       at org.hibernate.impl.SessionImpl.save(SessionImpl.java:689)
>       at 
> org.mifos.framework.components.audit.persistence.AuditPersistence.save(AuditPersistence.java:42)
>       at 
> org.mifos.framework.components.audit.business.AuditLog.save(AuditLog.java:94)
>       at 
> org.mifos.framework.components.audit.business.service.AuditLogServiceImpl.addAuditLogRegistry(AuditLogServiceImpl.java:94)
>       at 
> org.mifos.platform.questionnaire.service.QuestionnaireServiceFacadeImpl.saveResponses(QuestionnaireServiceFacadeImpl.java:140)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>       at 
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>       at 
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>       at 
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
>       at $Proxy40.saveResponses(Unknown Source)
>       at 
> org.mifos.application.questionnaire.struts.QuestionnaireFlowAdapter.saveResponses(QuestionnaireFlowAdapter.java:122)
>       at 
> org.mifos.customers.client.struts.action.ClientCustAction.create(ClientCustAction.java:469)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
>       at 
> org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
>       at 
> org.mifos.framework.struts.action.BaseAction.execute(BaseAction.java:161)
>       at 
> org.mifos.framework.struts.action.MifosRequestProcessor.processActionPerform(MifosRequestProcessor.java:195)
>       at 
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
>       at 
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
>       at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.mifos.servlet.filters.MifosAccessLogFilter.doFilter(MifosAccessLogFilter.java:72)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.mifos.framework.persistence.DatabaseInitFilter.doFilter(DatabaseInitFilter.java:51)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)
>       at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>       at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188)
>       at 
> org.mifos.security.authentication.MifosLegacyUsernamePasswordAuthenticationFilter.doFilter(MifosLegacyUsernamePasswordAuthenticationFilter.java:102)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>       at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
>       at 
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)
>       at 
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>       at 
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>       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:233)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>       at java.lang.Thread.run(Thread.java:662)

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Mifos-issues mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-issues

Reply via email to