Possible bug in 6.2.1 Reports Module : Unknown column 't1.DESCRIPTION'

Recently upgraded my starting project to 6.2.1 and got an error when flicking to the Reports option. (I actually have no reports defined yet - was just curious to check out Reports)

Error: MySQLSyntaxErrorException: Unknown column ‘t1.DESCRIPTION’ in ‘field list’

Full details:
com.haulmont.cuba.core.global.RemoteException:

javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.2.cuba6): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘t1.DESCRIPTION’ in ‘field list’
Error Code: 1054
Call: SELECT t1.ID AS a1, t1.CODE AS a2, t1.CREATE_TS AS a3, t1.CREATED_BY AS a4, t1.DESCRIPTION AS a5, t1.LOCALE_NAMES AS a6, t1.NAME AS a7, t1.REPORT_TYPE AS a8, t1.UPDATE_TS AS a9, t1.UPDATED_BY AS a10, t1.VERSION AS a11, t1.GROUP_ID AS a12, t0.ID AS a13, t0.CREATE_TS AS a14, t0.CREATED_BY AS a15, t0.LOCALE_NAMES AS a16, t0.TITLE AS a17, t0.UPDATE_TS AS a18, t0.UPDATED_BY AS a19, t0.VERSION AS a20 FROM REPORT_REPORT t1 LEFT OUTER JOIN REPORT_GROUP t0 ON (t0.ID = t1.GROUP_ID) LIMIT ?, ?
bind => [0, 50]
Query: ReadAllQuery(referenceClass=Report sql=“SELECT t1.ID AS a1, t1.CODE AS a2, t1.CREATE_TS AS a3, t1.CREATED_BY AS a4, t1.DESCRIPTION AS a5, t1.LOCALE_NAMES AS a6, t1.NAME AS a7, t1.REPORT_TYPE AS a8, t1.UPDATE_TS AS a9, t1.UPDATED_BY AS a10, t1.VERSION AS a11, t1.GROUP_ID AS a12, t0.ID AS a13, t0.CREATE_TS AS a14, t0.CREATED_BY AS a15, t0.LOCALE_NAMES AS a16, t0.TITLE AS a17, t0.UPDATE_TS AS a18, t0.UPDATED_BY AS a19, t0.VERSION AS a20 FROM REPORT_REPORT t1 LEFT OUTER JOIN REPORT_GROUP t0 ON (t0.ID = t1.GROUP_ID) LIMIT ?, ?”)
FetchGroup(){reportType, localeNames, code, updatedBy, createdBy, name, description, createTs, id, updateTs, version, group => {class java.lang.Object=FetchGroup(group){localeNames, updatedBy, createdBy, createTs, id, title, updateTs, version}}}

org.eclipse.persistence.exceptions.DatabaseException:
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘t1.DESCRIPTION’ in ‘field list’
Error Code: 1054
Call: SELECT t1.ID AS a1, t1.CODE AS a2, t1.CREATE_TS AS a3, t1.CREATED_BY AS a4, t1.DESCRIPTION AS a5, t1.LOCALE_NAMES AS a6, t1.NAME AS a7, t1.REPORT_TYPE AS a8, t1.UPDATE_TS AS a9, t1.UPDATED_BY AS a10, t1.VERSION AS a11, t1.GROUP_ID AS a12, t0.ID AS a13, t0.CREATE_TS AS a14, t0.CREATED_BY AS a15, t0.LOCALE_NAMES AS a16, t0.TITLE AS a17, t0.UPDATE_TS AS a18, t0.UPDATED_BY AS a19, t0.VERSION AS a20 FROM REPORT_REPORT t1 LEFT OUTER JOIN REPORT_GROUP t0 ON (t0.ID = t1.GROUP_ID) LIMIT ?, ?
bind => [0, 50]
Query: ReadAllQuery(referenceClass=Report sql=“SELECT t1.ID AS a1, t1.CODE AS a2, t1.CREATE_TS AS a3, t1.CREATED_BY AS a4, t1.DESCRIPTION AS a5, t1.LOCALE_NAMES AS a6, t1.NAME AS a7, t1.REPORT_TYPE AS a8, t1.UPDATE_TS AS a9, t1.UPDATED_BY AS a10, t1.VERSION AS a11, t1.GROUP_ID AS a12, t0.ID AS a13, t0.CREATE_TS AS a14, t0.CREATED_BY AS a15, t0.LOCALE_NAMES AS a16, t0.TITLE AS a17, t0.UPDATE_TS AS a18, t0.UPDATED_BY AS a19, t0.VERSION AS a20 FROM REPORT_REPORT t1 LEFT OUTER JOIN REPORT_GROUP t0 ON (t0.ID = t1.GROUP_ID) LIMIT ?, ?”)
FetchGroup(){reportType, localeNames, code, updatedBy, createdBy, name, description, createTs, id, updateTs, version, group => {class java.lang.Object=FetchGroup(group){localeNames, updatedBy, createdBy, createTs, id, title, updateTs, version}}}

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘t1.DESCRIPTION’ in ‘field list’
at com.haulmont.cuba.core.sys.ServiceInterceptor.aroundInvoke(ServiceInterceptor.java:83)
at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:620)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:609)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:68)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy147.loadList(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.haulmont.cuba.core.sys.remoting.LocalServiceInvokerImpl.invoke(LocalServiceInvokerImpl.java:84)
at com.haulmont.cuba.web.sys.remoting.LocalServiceProxy$LocalServiceInvocationHandler.invoke(LocalServiceProxy.java:130)
at com.sun.proxy.$Proxy19.loadList(Unknown Source)
at com.haulmont.cuba.client.sys.DataManagerClientImpl.loadList(DataManagerClientImpl.java:52)
at com.haulmont.cuba.gui.data.impl.GenericDataSupplier.loadList(GenericDataSupplier.java:100)
at com.haulmont.cuba.gui.data.impl.CollectionDatasourceImpl.loadData(CollectionDatasourceImpl.java:541)
at com.haulmont.cuba.gui.data.impl.CollectionDatasourceImpl.refresh(CollectionDatasourceImpl.java:147)
at com.haulmont.cuba.gui.data.impl.CollectionDatasourceImpl.refresh(CollectionDatasourceImpl.java:105)
at com.haulmont.cuba.gui.data.impl.GroupDatasourceImpl.setSuspended(GroupDatasourceImpl.java:171)
at com.haulmont.cuba.gui.data.impl.DsContextImpl.resumeSuspended(DsContextImpl.java:83)
at com.haulmont.cuba.gui.WindowManager.afterShowWindow(WindowManager.java:956)
at com.haulmont.cuba.web.WebWindowManager.showWindow(WebWindowManager.java:388)
at com.haulmont.cuba.gui.WindowManager.openWindow(WindowManager.java:590)
at com.haulmont.cuba.web.WebWindowManager.openWindow(WebWindowManager.java:123)
at com.haulmont.cuba.gui.config.MenuCommand.execute(MenuCommand.java:100)
at com.haulmont.cuba.web.sys.MenuBuilder$1.menuSelected(MenuBuilder.java:164)
at com.vaadin.ui.MenuBar.changeVariables(MenuBar.java:207)
at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:609)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:428)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:79)
at com.haulmont.cuba.web.sys.CubaVaadinServletService$CubaUidlRequestHandler.lambda$synchronizedHandleRequest$89(CubaVaadinServletService.java:307)
at com.haulmont.cuba.web.sys.CubaVaadinServletService.withUserSession(CubaVaadinServletService.java:188)
at com.haulmont.cuba.web.sys.CubaVaadinServletService$CubaUidlRequestHandler.synchronizedHandleRequest(CubaVaadinServletService.java:307)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1409)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:369)
at com.haulmont.cuba.web.sys.CubaApplicationServlet.serviceAppRequest(CubaApplicationServlet.java:249)
at com.haulmont.cuba.web.sys.CubaApplicationServlet.service(CubaApplicationServlet.java:164)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.haulmont.cuba.web.sys.CubaHttpFilter.handleNotFiltered(CubaHttpFilter.java:108)
at com.haulmont.cuba.web.sys.CubaHttpFilter.doFilter(CubaHttpFilter.java:95)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1526)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1482)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

Hi Simon
I had the same problem but it’s not a bug. I have updated database as suggested by CUBA team and it worked. This is because in new version there was an update in database and that needed update.

Mortoza

Thanks Mike. Yeah, I did do the updateDB but got the same error on the Reports side. I updated Studio to 2.2.1 this morning, and reran the Update Database scripts on the project. They finished successfully but got the same missing column error when accessing Reports in the web runtime.

I removed the Reports module from the project and re-added it to force download of the components. Same result.

I’ll look through the advice on the site but seems I need to force a DB update on the Reports entities specifically, which was not triggered in my case by changing the project version to 6.2.1. Will post anything I find here.

Didn’t manage to force the DB update, despite resetting some properties. So I manually added the DESCRIPTION column to table report_report and all is working fine now.

Sorted.