Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-4973

Use the non-blocking query to know if a course has lectures enabled

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 15.2.6
    • Component/s: None
    • Labels:
      None

      Description

      Use the non-locking query to know if lectures are enabled or not in a course.

      ajp-nio2-127.0.0.1-8009-exec-71  Runnable Thread ID: 29962
        java.net.SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) SocketInputStream.java
        java.net.SocketInputStream.socketRead(FileDescriptor, byte[], int, int, int) SocketInputStream.java:116
        java.net.SocketInputStream.read(byte[], int, int, int) SocketInputStream.java:171
        java.net.SocketInputStream.read(byte[], int, int) SocketInputStream.java:141
        org.postgresql.core.VisibleBufferedInputStream.readMore(int, boolean) VisibleBufferedInputStream.java:161
        org.postgresql.core.VisibleBufferedInputStream.ensureBytes(int, boolean) VisibleBufferedInputStream.java:128
        org.postgresql.core.VisibleBufferedInputStream.ensureBytes(int) VisibleBufferedInputStream.java:113
        org.postgresql.core.VisibleBufferedInputStream.read() VisibleBufferedInputStream.java:73
        org.postgresql.core.PGStream.receiveChar() PGStream.java:370
        org.postgresql.core.v3.QueryExecutorImpl.processResults(ResultHandler, int) QueryExecutorImpl.java:2043
        org.postgresql.core.v3.QueryExecutorImpl.execute(Query, ParameterList, ResultHandler, int, int, int) QueryExecutorImpl.java:312
        org.postgresql.jdbc.PgStatement.executeInternal(CachedQuery, ParameterList, int) PgStatement.java:448
        org.postgresql.jdbc.PgStatement.execute(CachedQuery, ParameterList, int) PgStatement.java:369
        org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(int) PgPreparedStatement.java:153
        org.postgresql.jdbc.PgPreparedStatement.executeQuery() PgPreparedStatement.java:103
        org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery() DelegatingPreparedStatement.java:122  <2 recursive calls>
        org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(PreparedStatement) ResultSetReturnImpl.java:57
        org.hibernate.loader.Loader.getResultSet(PreparedStatement, RowSelection, LimitHandler, boolean, SharedSessionContractImplementor) Loader.java:2341
        org.hibernate.loader.Loader.executeQueryStatement(String, QueryParameters, boolean, List, SharedSessionContractImplementor) Loader.java:2094
        org.hibernate.loader.Loader.executeQueryStatement(QueryParameters, boolean, List, SharedSessionContractImplementor) Loader.java:2056
        org.hibernate.loader.Loader.doQuery(SharedSessionContractImplementor, QueryParameters, boolean, ResultTransformer) Loader.java:953
        org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(SharedSessionContractImplementor, QueryParameters, boolean, ResultTransformer) Loader.java:350
        org.hibernate.loader.Loader.doList(SharedSessionContractImplementor, QueryParameters, ResultTransformer) Loader.java:2887
        org.hibernate.loader.Loader.doList(SharedSessionContractImplementor, QueryParameters) Loader.java:2869
        org.hibernate.loader.Loader.listIgnoreQueryCache(SharedSessionContractImplementor, QueryParameters) Loader.java:2701
        org.hibernate.loader.Loader.list(SharedSessionContractImplementor, QueryParameters, Set, Type[]) Loader.java:2696
        org.hibernate.loader.hql.QueryLoader.list(SharedSessionContractImplementor, QueryParameters) QueryLoader.java:506
        org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(SharedSessionContractImplementor, QueryParameters) QueryTranslatorImpl.java:400
        org.hibernate.engine.query.spi.HQLQueryPlan.performList(QueryParameters, SharedSessionContractImplementor) HQLQueryPlan.java:219
        org.hibernate.internal.SessionImpl.list(String, QueryParameters) SessionImpl.java:1415
        org.hibernate.query.internal.AbstractProducedQuery.doList() AbstractProducedQuery.java:1565
        org.hibernate.query.internal.AbstractProducedQuery.list() AbstractProducedQuery.java:1533
        org.hibernate.query.Query.getResultList() Query.java:165
        org.olat.repository.manager.RepositoryEntryDAO.loadForUpdate(RepositoryEntry) RepositoryEntryDAO.java:86
        org.olat.modules.lecture.manager.LectureServiceImpl.getRepositoryEntryLectureConfiguration(RepositoryEntry) LectureServiceImpl.java:197
        org.olat.course.run.CourseRuntimeController.isLectureEnabled() CourseRuntimeController.java:630
        org.olat.course.run.CourseRuntimeController.initToolsMenuRuntime(Dropdown, UserCourseEnvironmentImpl) CourseRuntimeController.java:581
        org.olat.course.run.CourseRuntimeController.initToolsMenu(Dropdown) CourseRuntimeController.java:503
        org.olat.course.run.CourseRuntimeController.initToolbar(Dropdown) CourseRuntimeController.java:470
        org.olat.repository.ui.RepositoryEntryRuntimeController.initToolbar() RepositoryEntryRuntimeController.java:329
        org.olat.repository.ui.RepositoryEntryRuntimeController.<init>(UserRequest, WindowControl, RepositoryEntry, RepositoryEntrySecurity, RepositoryEntryRuntimeController$RuntimeControllerCreator, boolean, boolean) RepositoryEntryRuntimeController.java:261
        org.olat.course.run.CourseRuntimeController.<init>(UserRequest, WindowControl, RepositoryEntry, RepositoryEntrySecurity, RepositoryEntryRuntimeController$RuntimeControllerCreator, boolean, boolean) CourseRuntimeController.java:255
        org.olat.repository.handlers.CourseHandler.createLaunchController(RepositoryEntry, RepositoryEntrySecurity, UserRequest, WindowControl) CourseHandler.java:555
        org.olat.course.site.CourseSiteContextEntryControllerCreator.createLaunchController(RepositoryEntry, UserRequest, WindowControl) CourseSiteContextEntryControllerCreator.java:124
        org.olat.course.site.CourseSiteContextEntryControllerCreator.createController(List, UserRequest, WindowControl) CourseSiteContextEntryControllerCreator.java:76
        org.olat.NewControllerFactory.launch(UserRequest, WindowControl) NewControllerFactory.java:244
        org.olat.NewControllerFactory.launch(String, UserRequest, WindowControl) NewControllerFactory.java:149
        org.olat.repository.ui.author.AuthorListController.launch(UserRequest, AuthoringEntryRow) AuthorListController.java:1174
        org.olat.repository.ui.author.AuthorListController.formInnerEvent(UserRequest, FormItem, FormEvent) AuthorListController.java:720
        org.olat.core.gui.components.form.flexible.impl.FormBasicController.event(UserRequest, Component, Event) FormBasicController.java:430
        org.olat.repository.ui.author.AuthorListController.event(UserRequest, Component, Event) AuthorListController.java:522
        org.olat.core.gui.control.DefaultController.dispatchEvent(UserRequest, Component, Event) DefaultController.java:214
        org.olat.core.gui.components.AbstractComponent$1.run() AbstractComponent.java:240
        org.olat.core.logging.activity.ThreadLocalUserActivityLoggerInstaller.runWithUserActivityLogger(Runnable, IUserActivityLogger) ThreadLocalUserActivityLoggerInstaller.java:108
        org.olat.core.gui.components.AbstractComponent.fireEvent(UserRequest, Event) AbstractComponent.java:238
        org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.fireFormEvent(UserRequest, FormEvent) FormWrapperContainer.java:136
        org.olat.core.gui.components.form.flexible.impl.Form.fireFormEvent(UserRequest, FormEvent) Form.java:737
        org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableElementImpl.doSelect(UserRequest, String, int) FlexiTableElementImpl.java:1697
        org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableElementImpl.doSelect(UserRequest) FlexiTableElementImpl.java:1015
        org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableElementImpl.evalFormRequest(UserRequest) FlexiTableElementImpl.java:1002
        org.olat.core.gui.components.form.flexible.impl.Form$EvaluatingFormComponentVisitor.visit(FormItem, UserRequest) Form.java:646
        org.olat.core.util.component.FormComponentTraverser.doVisit(FormItem, UserRequest) FormComponentTraverser.java:70  <2 recursive calls>
        org.olat.core.util.component.FormComponentTraverser.visitAll(UserRequest) FormComponentTraverser.java:60
        org.olat.core.gui.components.form.flexible.impl.Form.evalFormRequest(UserRequest) Form.java:285
        org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.doDispatchRequest(UserRequest) FormWrapperContainer.java:105
        org.olat.core.gui.components.AbstractComponent.dispatchRequest(UserRequest) AbstractComponent.java:193
        org.olat.core.gui.components.Window.doDispatchToComponent(UserRequest, StringBuilder) Window.java:1259
        org.olat.core.gui.components.Window.dispatchRequest(UserRequest, boolean) Window.java:439
        org.olat.core.gui.components.Window.doDispatchRequest(UserRequest) Window.java:320
        org.olat.core.gui.components.AbstractComponent.dispatchRequest(UserRequest) AbstractComponent.java:193
        org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(UserRequest, UserSession, HttpServletRequest, HttpServletResponse) AuthenticatedDispatcher.java:282
        org.olat.dispatcher.AuthenticatedDispatcher.execute(HttpServletRequest, HttpServletResponse) AuthenticatedDispatcher.java:194
        org.olat.core.servlets.OpenOLATServlet.executeUserRequest(HttpServletRequest, HttpServletResponse) OpenOLATServlet.java:269
        org.olat.core.servlets.OpenOLATServlet.doPost(HttpServletRequest, HttpServletResponse) OpenOLATServlet.java:216
        javax.servlet.http.HttpServlet.service(HttpServletRequest, HttpServletResponse) HttpServlet.java:660
        org.olat.core.servlets.OpenOLATServlet.service(HttpServletRequest, HttpServletResponse) OpenOLATServlet.java:160
        javax.servlet.http.HttpServlet.service(ServletRequest, ServletResponse) HttpServlet.java:741
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) ApplicationFilterChain.java:231
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) ApplicationFilterChain.java:166
        org.apache.tomcat.websocket.server.WsFilter.doFilter(ServletRequest, ServletResponse, FilterChain) WsFilter.java:53
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) ApplicationFilterChain.java:193
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) ApplicationFilterChain.java:166
        org.olat.core.servlets.HeadersFilter.doFilter(ServletRequest, ServletResponse, FilterChain) HeadersFilter.java:97
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) ApplicationFilterChain.java:193
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) ApplicationFilterChain.java:166
        org.apache.catalina.core.StandardWrapperValve.invoke(Request, Response) StandardWrapperValve.java:202
        org.apache.catalina.core.StandardContextValve.invoke(Request, Response) StandardContextValve.java:96
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(Request, Response) AuthenticatorBase.java:541
        org.apache.catalina.core.StandardHostValve.invoke(Request, Response) StandardHostValve.java:139
        org.apache.catalina.valves.ErrorReportValve.invoke(Request, Response) ErrorReportValve.java:92
        org.apache.catalina.core.StandardEngineValve.invoke(Request, Response) StandardEngineValve.java:74
        org.apache.catalina.connector.CoyoteAdapter.service(Request, Response) CoyoteAdapter.java:343
        org.apache.coyote.ajp.AjpProcessor.service(SocketWrapperBase) AjpProcessor.java:431
        org.apache.coyote.AbstractProcessorLight.process(SocketWrapperBase, SocketEvent) AbstractProcessorLight.java:65
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(SocketWrapperBase, SocketEvent) AbstractProtocol.java:868
        org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun() Nio2Endpoint.java:1675
        org.apache.tomcat.util.net.SocketProcessorBase.run() SocketProcessorBase.java:49
        org.apache.tomcat.util.net.AbstractEndpoint.processSocket(SocketWrapperBase, SocketEvent, boolean) AbstractEndpoint.java:1104
        org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Integer, ByteBuffer) Nio2Endpoint.java:599
        org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Object, Object) Nio2Endpoint.java:577
        sun.nio.ch.Invoker.invokeUnchecked(CompletionHandler, Object, Object, Throwable) Invoker.java:126
        sun.nio.ch.Invoker$2.run() Invoker.java:218
        sun.nio.ch.AsynchronousChannelGroupImpl$1.run() AsynchronousChannelGroupImpl.java:112
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1149
        java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:624
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run() TaskThread.java:61
        java.lang.Thread.run() Thread.java:748
      

        Attachments

          Activity

            People

            Assignee:
            srosse Stéphane Rossé
            Reporter:
            stephan Stephan Clemenz
            Tester:
            Mandy Menzel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: