-
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
-
Funded by:
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