[Building Sakai] sakai grade book exception

Sam Ottenhoff ottenhoff at longsight.com
Mon Sep 15 07:36:28 PDT 2014


The easiest solution: delete the getCachedUserEntry method and all
references to that method.  The org.sakaiproject.user.
api.UserDirectoryService.callCache is also caching the user data. There is
no need for the cache inside the JLDAPDirectoryProvider.

On Mon, Sep 15, 2014 at 10:29 AM, Ismail Naik <ismail.n at in.uaeexchange.com>
wrote:

> Hi Sam,
>
>
>
> Still we are facing the same issue, As requested attached the actual
> source we are using for JLDAP integration. We are using 2.9.3 version.
>
>
>
> We observed that it might be *the cached memory issue*, Any fix on this
> will be great.
>
>
>
> *Uncommented below cache related key-value entries in the sakai.properties
> file for ldap.*
>
>
>
> # User cache - ehcache default overrides (params = timeToLiveSeconds,
> timeToIdleSeconds, maxElementsInMemory)
>
> # NOTE: The defaults here are NOT safe for production, you will want to
> increase this to match your user base and server power
>
> # 24 hours - 86400, 12 hours - 43200, 1 hour – 3600
>
>
>
>
> memory.org.sakaiproject.user.api.UserDirectoryService.callCache=timeToLiveSeconds=86400,timeToIdleSeconds=900,maxElementsInMemory=20000
>
>
>
> # JLDAP cache - ehcache default overrides (only meaningful if using the
> JLDAP provider)
>
>
>
>
> edu.amc.sakai.user.JLDAPDirectoryProvider.userCache=timeToLiveSeconds=14400,timeToIdleSeconds=3600,maxElementsInMemory=20000
>
>
>
>
>
> *Thanks & Regards*
>
> *Ismail N**.* - IT Department
>
> *X**m* *Software** Solutions Pvt Ltd* | SKCL | CENTRAL SQUARE- 1
>
> CIPET Road | Thiru-Vi-Ka  Industrial  Estate| Guindy | Chennai- 600032.
>
> TEL: 044-30464899 | FAX: 044-30464861|
>
> Ext:613
>
> ismail.n at in.uaeexchange.com
>
>
>
> *From:* Ismail Naik [mailto:ismail.n at in.uaeexchange.com]
> *Sent:* 11 September 2014 19:54
> *To:* 'Sam Ottenhoff'
> *Cc:* 'Developers Sakai-Dev'; 'arunkumar.vr at in.uaeexchange.com'
> *Subject:* RE: [Building Sakai] sakai grade book exception
>
>
>
> Hmm… The thing is we are able authenticate AD users with JLdap
> integration,
>
> We are getting this after some time(may be after 30 or 6o mins) post
> “site” creation,  till then it fine, showing the grades and roster list.
> We will look into this mean while any solution will be greeted.
>
>
>
> *Thanks & Regards*
>
> *Ismail N**.* - IT Department
>
> *X**m** Software Solutions Pvt Ltd* | SKCL | CENTRAL SQUARE- 1
>
> CIPET Road | Thiru-Vi-Ka  Industrial  Estate| Guindy | Chennai- 600032.
>
> TEL: 044-30464899 | FAX: 044-30464861|
>
> Ext:613
>
> ismail.n at in.uaeexchange.com
>
>
>
> *From:* Sam Ottenhoff [mailto:ottenhoff at longsight.com]
> *Sent:* 11 September 2014 19:43
>
> *To:* Ismail Naik
> *Cc:* Developers Sakai-Dev; arunkumar.vr at in.uaeexchange.com
> *Subject:* Re: [Building Sakai] sakai grade book exception
>
>
>
> Okay, I can't help you then.  But the basics of Java debugging involve
> taking the stacktrace and then looking at your Java source code on that
> exact line.  In the case of NullPointerExceptions, debugging should be
> simple and straightforward.
>
>
>
> On Thu, Sep 11, 2014 at 10:05 AM, Ismail Naik <ismail.n at in.uaeexchange.com>
> wrote:
>
> That was extracted source code from jar file (sakai-jldap-provider-2.9.3.jar)
> which is running in production server there were comments in between it was
> removed so line were reduced.
>
>
>
> *Thanks & Regards*
>
> *Ismail N**.* - IT Department
>
> *X**m** Software Solutions Pvt Ltd* | SKCL | CENTRAL SQUARE- 1
>
> CIPET Road | Thiru-Vi-Ka  Industrial  Estate| Guindy | Chennai- 600032.
>
> TEL: 044-30464899 | FAX: 044-30464861|
>
> Ext:613
>
> ismail.n at in.uaeexchange.com
>
>
>
> *From:* Sam Ottenhoff [mailto:ottenhoff at longsight.com]
> *Sent:* 11 September 2014 19:14
>
>
> *To:* Ismail Naik
> *Cc:* Developers Sakai-Dev; arunkumar.vr at in.uaeexchange.com
> *Subject:* Re: [Building Sakai] sakai grade book exception
>
>
>
> This isn't the code you are running.  The code you are running provided a
> stack trace:
>
>
>
> caused by: java.lang.NullPointerException
>
>     at
> edu.amc.sakai.user.JLDAPDirectoryProvider.getCachedUserEntry(JLDAPDirectoryProvider.java:1228)
>
>
>
> But the code you sent contains only 1018 lines.
>
>
>
> On Thu, Sep 11, 2014 at 1:54 AM, Ismail Naik <ismail.n at in.uaeexchange.com>
> wrote:
>
> Greetings Sam,
>
>
>
> Attached custom JLDAP code.
>
>
>
> We observed one more point
>
>
>
> 1.       We couldn’t see the participants list for the site when trying
> to edit the site details and can’t able to change the role of the users.
>
>
>
> *We are getting exception when trying to access grade book with “admin”
> role the same is working fine if we login with “access” role.*
>
>
>
> *Thanks & Regards*
>
> *Ismail N**.* - IT Department
>
> *X**m** Software Solutions Pvt Ltd* | SKCL | CENTRAL SQUARE- 1
>
> CIPET Road | Thiru-Vi-Ka  Industrial  Estate| Guindy | Chennai- 600032.
>
> TEL: 044-30464899 | FAX: 044-30464861|
>
> Ext:613
>
> ismail.n at in.uaeexchange.com
>
>
>
> *From:* Sam Ottenhoff [mailto:ottenhoff at longsight.com]
> *Sent:* 10 September 2014 19:08
> *To:* Ismail Naik
> *Cc:* Developers Sakai-Dev; arunkumar.vr at in.uaeexchange.com
> *Subject:* Re: [Building Sakai] sakai grade book exception
>
>
>
> Please share your custom JLDAP code.
>
>
>
> On Wed, Sep 10, 2014 at 4:11 AM, Ismail Naik <ismail.n at in.uaeexchange.com>
> wrote:
>
> Greetings Team,
>
>
>
> We are using sakai 2.9.3 and we had customized
> (sakai-jldap-provider-2.9.3.jar )the code for ldap integration, till now
> everything is fine,  users can able to login with their AD details. But we
> got below exception *when trying to access grade book with admin role the
> same if we login with access role.*
>
>
>
> Whether *this is LDAP problem or application problem, any assistance is
> highly appreciable.*
>
>
>
> *Find below the log:*
>
>
>
>
>
> Technical Details
>
> This information will automatically be included in your bug report.
>
>
>
> org.sakaiproject.portal.api.PortalHandlerException:
> org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: An
> exception occurred processing JSP page /overview.jsp at line 12
>
>
>
> 9:                            <%@ include file="/inc/appMenu.jspf"%>
>
> 10:            </t:aliasBean>
>
> 11:
>
> 12:            <sakai:flowState bean="#{overviewBean}" />
>
> 13:
>
> 14:                          <h2><h:outputText
> value="#{msgs.appmenu_overview}"/></h2>
>
> 15:
>
>
>
>
>
> Stacktrace:
>
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:894)
>
> caused by: org.sakaiproject.tool.api.ToolException:
> javax.servlet.ServletException: An exception occurred processing JSP page
> /overview.jsp at line 12
>
>
>
> 9:                            <%@ include file="/inc/appMenu.jspf"%>
>
> 10:            </t:aliasBean>
>
> 11:
>
> 12:            <sakai:flowState bean="#{overviewBean}" />
>
> 13:
>
> 14:                          <h2><h:outputText
> value="#{msgs.appmenu_overview}"/></h2>
>
> 15:
>
>
>
>
>
> Stacktrace:
>
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1483)
>
> caused by: javax.servlet.ServletException: An exception occurred
> processing JSP page /overview.jsp at line 12
>
>
>
> 9:                            <%@ include file="/inc/appMenu.jspf"%>
>
> 10:            </t:aliasBean>
>
> 11:
>
> 12:            <sakai:flowState bean="#{overviewBean}" />
>
> 13:
>
> 14:                          <h2><h:outputText
> value="#{msgs.appmenu_overview}"/></h2>
>
> 15:
>
>
>
>
>
> Stacktrace:
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>
> caused by: javax.faces.FacesException: An exception occurred processing
> JSP page /overview.jsp at line 12
>
>
>
> 9:                            <%@ include file="/inc/appMenu.jspf"%>
>
> 10:            </t:aliasBean>
>
> 11:
>
> 12:            <sakai:flowState bean="#{overviewBean}" />
>
> 13:
>
> 14:                          <h2><h:outputText
> value="#{msgs.appmenu_overview}"/></h2>
>
> 15:
>
>
>
>
>
> Stacktrace:
>
>     at
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
>
> caused by: org.apache.jasper.JasperException: An exception occurred
> processing JSP page /overview.jsp at line 12
>
>
>
> 9:                            <%@ include file="/inc/appMenu.jspf"%>
>
> 10:            </t:aliasBean>
>
> 11:
>
> 12:            <sakai:flowState bean="#{overviewBean}" />
>
> 13:
>
> 14:                          <h2><h:outputText
> value="#{msgs.appmenu_overview}"/></h2>
>
> 15:
>
>
>
>
>
> Stacktrace:
>
>     at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
>
> caused by: java.lang.RuntimeException: getUsers(): RuntimeException during
> search eid = ally.antony]
>
>     at
> org.sakaiproject.user.impl.DbUserService$DbStorage.getUsersByIds(DbUserService.java:710)
>
> caused by: java.lang.NullPointerException
>
>     at
> edu.amc.sakai.user.JLDAPDirectoryProvider.getCachedUserEntry(JLDAPDirectoryProvider.java:1228)
>
>     at
> edu.amc.sakai.user.JLDAPDirectoryProvider.getUsers(JLDAPDirectoryProvider.java:665)
>
>     at
> org.sakaiproject.user.impl.DbUserService$DbStorage.getUsersByIds(DbUserService.java:710)
>
>     at
> org.sakaiproject.user.impl.BaseUserDirectoryService.getUsers(BaseUserDirectoryService.java:788)
>
>     at
> org.sakaiproject.authz.impl.SakaiSecurity.unlockUsers(SakaiSecurity.java:348)
>
>     at
> org.sakaiproject.component.section.sakai.SectionAwarenessImpl.getSiteEnrollments(SectionAwarenessImpl.java:177)
>
>     at
> org.sakaiproject.component.section.sakai.SectionAwarenessImpl.getSiteMembersInRole(SectionAwarenessImpl.java:145)
>
>     at
> org.sakaiproject.component.gradebook.BaseHibernateManager.getAllStudentUids(BaseHibernateManager.java:154)
>
>     at
> org.sakaiproject.tool.gradebook.business.impl.GradebookManagerHibernateImpl.getAssignmentsAndCourseGradeWithStats(GradebookManagerHibernateImpl.java:1525)
>
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
>     at java.lang.reflect.Method.invoke(Method.java:616)
>
>     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 $Proxy108.getAssignmentsAndCourseGradeWithStats(null:-1)
>
>     at
> org.sakaiproject.tool.gradebook.ui.OverviewBean.init(OverviewBean.java:201)
>
>     at
> org.sakaiproject.tool.gradebook.ui.InitializableBean.startRenderResponse(InitializableBean.java:69)
>
>     at
> org.sakaiproject.jsf.component.FlowState.encodeBegin(FlowState.java:131)
>
>     at
> javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:467)
>
>     at
> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:320)
>
>     at
> org.apache.jsp.overview_jsp._jspx_meth_sakai_005fflowState_005f0(overview_jsp.java:1450)
>
> *Thanks & Regards*
>
> *Ismail N**.* - IT Department
>
> *X**m** Software Solutions Pvt Ltd* | SKCL | CENTRAL SQUARE- 1
>
> CIPET Road | Thiru-Vi-Ka  Industrial  Estate| Guindy | Chennai- 600032.
>
> TEL: 044-30464899 | FAX: 044-30464861|
>
> Ext:613
>
> ismail.n at in.uaeexchange.com
>
>
>
> *Disclaimer*: This communication is intended solely for the use of the
> individual or entity to whom it is addressed and others authorized to
> receive it. It may contain confidential or legally privileged information.
> If you are not the intended recipient, you are hereby notified that any
> disclosure, copying, distribution, or action taken in reliance upon the
> information is strictly prohibited and is unlawful. If you have received
> this communication by error, please notify us immediately by responding to
> this email before deleting it from your system. UAE Exchange cannot be held
> responsible for the improper or incomplete transmission of information
> contained in this communication, or for any delay in its receipt.
> *Warning*: Internet communication cannot be guaranteed to be timely,
> secure, error-free or virus-free. It is the responsibility of the recipient
> to ensure that this email and its attachments, if any, are free from
> viruses. UAE Exchange doesn't accept liability for any damage that may
> result from viruses transmitted through this email.
> Please be informed that as per UAE Exchange Information Security policy,
> we will never request you to disclose your Account Number, Credit Card
> Information, User ID, Personal Identification Number (PIN), Telephone
> Identification Number (TIN), Password or any such information through
> e-mails or phone.
> Any e-mail or written communication received by you, which appears to have
> been sent from UAE Exchange seeking your personal & confidential
> information, should not be answered but advised to UAE Exchange at
> info.sec at uaeexchange.com.
> For further assistance email us at info.sec at uaeexchange.com.
>
>
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to
> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
> "unsubscribe"
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140915/0f00f9f7/attachment.html 


More information about the sakai-dev mailing list