Repeated Data Definition Group
I had a user report this, Bryce Roberts from Stone Ridge. Here is his report below:
When investigating an unusual issue with content, I found that there appears to be an underlying bug in Cascade related to repeated data definition groups. During moving/adding/delete of a repeated group ( like the accordion), the structure can become disassociated with the correct content, when an update operation (submit or draft) is occurring at the same time as change operation(move,add, or delete). I saw this occur with a draft update when a section was moved and the content of one section repeated (replacing another section). I also saw this on a submission and received the follow 500 error attached below. This is effecting both Standard Template sites and custom sites that use data definitions with repeatable groups.
I do not have a good test case since this appears to be something related to timing/post back interactions.
Sincerely,
Bryce
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.hannonhill.cascade.view.struts.request.SiteFilter.doFilter(SiteFilter.java:67)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
com.hannonhill.cascade.view.struts.security.AuthProtectFilter.doFilter(AuthProtectFilter.java:131)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
com.hannonhill.cascade.view.struts.request.ThreadLocalCacheFilter.doFilter(ThreadLocalCacheFilter.java:47)
com.hannonhill.cascade.view.struts.request.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
root cause
java.lang.IndexOutOfBoundsException: Index: 188, Size: 181
java.util.ArrayList.RangeCheck(ArrayList.java:547)
java.util.ArrayList.get(ArrayList.java:322)
org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:433)
org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:340)
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:684)
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:884)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.hannonhill.cascade.view.struts.request.SiteFilter.doFilter(SiteFilter.java:67)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
com.hannonhill.cascade.view.struts.security.AuthProtectFilter.doFilter(AuthProtectFilter.java:131)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
com.hannonhill.cascade.view.struts.request.ThreadLocalCacheFilter.doFilter(ThreadLocalCacheFilter.java:47)
com.hannonhill.cascade.view.struts.request.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
Discussions are closed to public comments.
If you need help with Cascade CMS please
start a new discussion.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
1 Posted by Ryan Griffith on 19 Aug, 2014 03:03 PM
Hi Steve,
Based on Bryce's description, it sounds as though he is running into this known defect in which field values may become offset when adding/removing fields too quickly or when the auto-save draft is triggered while modifying fields.
We actually released a fix for this issue in Cascade Server 7.12, so upgrading should resolve the behavior.
Please let me know if you have any questions.
Thanks!
2 Posted by scolli9 on 19 Aug, 2014 04:20 PM
Thanks, will forward you comment to him.
3 Posted by Ryan Griffith on 19 Aug, 2014 05:56 PM
Not a problem at all, Steve. I'm going to go ahead and close this discussion, please feel free to comment or reply to re-open if you have any additional questions.
Have a great day!
Ryan Griffith closed this discussion on 19 Aug, 2014 05:56 PM.