Repeated Data Definition Group

scolli9's Avatar

scolli9

19 Aug, 2014 12:49 PM

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.
  1. 1 Posted by Ryan Griffith on 19 Aug, 2014 03:03 PM

    Ryan Griffith's Avatar

    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. 2 Posted by scolli9 on 19 Aug, 2014 04:20 PM

    scolli9's Avatar

    Thanks, will forward you comment to him.

  3. 3 Posted by Ryan Griffith on 19 Aug, 2014 05:56 PM

    Ryan Griffith's Avatar

    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!

  4. Ryan Griffith closed this discussion on 19 Aug, 2014 05:56 PM.

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

 

26 Aug, 2016 01:19 PM
25 Aug, 2016 03:02 PM
25 Aug, 2016 12:50 PM
24 Aug, 2016 08:43 PM
24 Aug, 2016 07:20 PM
21 Aug, 2016 01:20 PM