Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-19847

problem in error workflow in adding rosters in Site info

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.1
    • Fix Version/s: 2.9.0
    • Component/s: Site Info
    • Labels:
      None
    • 2.9 Status:
      Resolved

      Description

      If you try to add a roster to a course site that contains an invalid roster you get 2 errors:

      1) The alert in the ui is:
      "Alert: org.sakaiproject.site.tool.SiteAction@54347f25Problem encountered while editing the site participants."
      which is not informative at all

      2) In the logs one sees the error for the invalid group:
      2011-01-18 15:37:23,095 WARN TP-Processor11 org.sakaiproject.site.tool.SiteAction - org.sakaiproject.site.tool.SiteAction@54347f25.coursesIntoContext No org.sakaiproject.coursemanagement.api.Section found with id CET9999F,2011 sectionId=CET9999F,2011
      org.sakaiproject.coursemanagement.api.exception.IdNotFoundException: No org.sakaiproject.coursemanagement.api.Section found with id CET9999F,2011
      at org.sakaiproject.coursemanagement.impl.CourseManagementServiceFederatedImpl.getSection(CourseManagementServiceFederatedImpl.java:566)
      at sun.reflect.GeneratedMethodAccessor1041.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)

      However one gets a sting of failures with the class name prepended to the provider id for the rest of the id's

      2011-01-18 15:37:23,099 WARN TP-Processor11 org.sakaiproject.site.tool.SiteAction - org.sakaiproject.site.tool.SiteAction@54347f25.courseListFromStringIntoContext: cannot find section org.sakaiproject.site.tool.SiteAction$SectionObject@37a10c6PPH7072W,2011
      org.sakaiproject.coursemanagement.api.exception.IdNotFoundException: No org.sakaiproject.coursemanagement.api.Section found with id org.sakaiproject.site.tool.SiteAction$SectionObject@37a10c6PPH7072W,2011
      at org.sakaiproject.coursemanagement.impl.CourseManagementServiceFederatedImpl.getSection(CourseManagementServiceFederatedImpl.java:566)
      at sun.reflect.GeneratedMethodAccessor1041.invoke(Unknown Source)
      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:307)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy5.getSection(Unknown Source)
      at sun.reflect.GeneratedMethodAccessor1041.invoke(Unknown Source)
      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:307)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      at $Proxy5.getSection(Unknown Source)
      at org.sakaiproject.site.tool.SiteAction.courseListFromStringIntoContext(SiteAction.java:3606)
      at org.sakaiproject.site.tool.SiteAction.coursesIntoContext(SiteAction.java:3580)
      at org.sakaiproject.site.tool.SiteAction.buildContextForTemplate(SiteAction.java:1969)
      at org.sakaiproject.site.tool.SiteAction.buildMainPanelContext(SiteAction.java:1112)
      at sun.reflect.GeneratedMethodAccessor1331.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.sakaiproject.cheftool.VelocityPortletPaneledAction.toolModeDispatch(VelocityPortletPaneledAction.java:397)
      at org.sakaiproject.site.tool.SiteAction.toolModeDispatch(SiteAction.java:11627)
      at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:236)
      at org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1032)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
      at org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:591)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
      at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:512)
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1303)
      at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
      at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:839)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:652)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
      at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
      at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
      at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
      at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
      at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
      at java.lang.Thread.run(Thread.java:662)

      I was mimicking a problem reported when a course was withdrawn on our SIS. The following sql was used to update the provider id's:

      update SAKAI_REALM set provider_id='CHM6000W,2011+AAE4002W,2011+AAE4012W,2011+AAE5000H,2011+AAE5001W,2011+AAE7003W,2011+AAE2001S,2011+AAE7000W,2011+CET9999F,2011' where realm_id ='/site/445c317a-0213-48e1-9664-81d9e65bfcd9';

      Where all the provider id's are valid in our instance except the last one

        Gliffy Diagrams

          Zeplin

            Attachments

              Issue Links

                Activity

                  People

                  Assignee:
                  zqian Zhen Qian
                  Reporter:
                  dhorwitz David Horwitz
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration