I use an event detector on the last update of a data point that i know changes on a regular basis. So far, so good.
Best posts made by Brad_GMI
-
RE: Mango persistent TCP
Latest posts made by Brad_GMI
-
Database Reporting
Good Evening,
We are exploring accessing/exporting point data to an external database reporting software to enhance some of our internal processes with our equipment.
Is anyone using a specific software or technique to expose the data point data to a external service?
Thank You!
-
RE: Corrupt H2 Database
I've attempted several recoveries from the available backups. They are all producing these errors once the restore process completes:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id]; nested exception is org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement: SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at com.serotonin.m2m2.web.filter.WebContextFilter.doFilter(WebContextFilter.java:43) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at com.serotonin.m2m2.web.filter.LoggedInFilter.doFilter(LoggedInFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at com.serotonin.m2m2.web.filter.UrlSecurityFilter.doFilter(UrlSecurityFilter.java:206) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at com.serotonin.web.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:37) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:364) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:87) at com.serotonin.m2m2.web.filter.MangoShallowEtagHeaderFilter.doFilterInternal(MangoShallowEtagHeaderFilter.java:47) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:121) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at com.serotonin.m2m2.web.mvc.spring.security.CsrfHeaderFilter.doFilterInternal(CsrfHeaderFilter.java:41) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) Caused by: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id]; nested exception is org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement: SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:231) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:645) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:680) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:712) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:722) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:772) at com.serotonin.db.DaoUtils.query(DaoUtils.java:308) at com.serotonin.m2m2.db.dao.EventDetectorDao.getWithSourceId(EventDetectorDao.java:177) at com.serotonin.m2m2.db.dao.DataPointDao.setEventDetectors(DataPointDao.java:460) at com.serotonin.m2m2.db.dao.DataPointDao.setRelationalData(DataPointDao.java:288) at com.serotonin.m2m2.db.dao.DataPointDao.getDataPoint(DataPointDao.java:167) at com.serotonin.m2m2.db.dao.DataPointDao.getDataPoint(DataPointDao.java:159) at com.serotonin.m2m2.web.mvc.controller.DataPointDetailsController.handleRequest(DataPointDetailsController.java:78) at com.serotonin.m2m2.web.mvc.UrlHandlerController.handleRequest(UrlHandlerController.java:36) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) ... 74 more Caused by: org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement: SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:179) at org.h2.message.DbException.get(DbException.java:155) at org.h2.command.Parser.readTableOrView(Parser.java:5227) at org.h2.command.Parser.readTableFilter(Parser.java:1221) at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1860) at org.h2.command.Parser.parseSelectSimple(Parser.java:1969) at org.h2.command.Parser.parseSelectSub(Parser.java:1854) at org.h2.command.Parser.parseSelectUnion(Parser.java:1675) at org.h2.command.Parser.parseSelect(Parser.java:1663) at org.h2.command.Parser.parsePrepared(Parser.java:433) at org.h2.command.Parser.parse(Parser.java:305) at org.h2.command.Parser.parse(Parser.java:277) at org.h2.command.Parser.prepareCommand(Parser.java:242) at org.h2.engine.Session.prepareLocal(Session.java:446) at org.h2.engine.Session.prepareCommand(Session.java:388) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1189) at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:72) at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:277) at org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.createPreparedStatement(JdbcTemplate.java:1516) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:623) ... 90 more REQUEST URL http://localhost:8080/exception/error.jsp REQUEST PARAMETERS REQUEST HEADERS Cookie=MANGO8080=1oorhho5d8upo1gbk0m2mlbznz; XSRF-TOKEN=f1840133-71be-4aaf-9ff9-e5cc0422867d Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Upgrade-Insecure-Requests=1 User-Agent=Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0 Referer=http://localhost:8080/modules.shtm Connection=keep-alive Host=localhost:8080 Accept-Language=en-US,en;q=0.5 Accept-Encoding=gzip, deflate REQUEST ATTRIBUTES javax.servlet.forward.context_path= org.springframework.web.context.request.async.WebAsyncManager.WEB_ASYNC_MANAGER=org.springframework.web.context.request.async.WebAsyncManager@5252d6dd javax.servlet.error.status_code=500 javax.servlet.forward.servlet_path=/data_point_details.shtm org.springframework.web.servlet.DispatcherServlet.CONTEXT=WebApplicationContext for namespace 'springDispatcher-servlet': startup date [Mon Feb 18 15:00:34 EST 2019]; parent: Root WebApplicationContext javax.servlet.jsp.jstl.fmt.localizationContext.request=org.springframework.web.servlet.support.JstlUtils$SpringLocalizationContext@1bc9424c org.springframework.web.servlet.HandlerMapping.introspectTypeLevelMapping=false org.eclipse.jetty.server.error_page=/exception/error.jsp __spring_security_session_mgmt_filter_applied=true urlSecurity=true org.springframework.web.servlet.DispatcherServlet.LOCALE_RESOLVER=org.springframework.web.servlet.i18n.SessionLocaleResolver@6a6a2a03 org.springframework.web.servlet.HandlerMapping.bestMatchingPattern=/data_point_details.shtm org.springframework.web.servlet.DispatcherServlet.OUTPUT_FLASH_MAP=FlashMap [attributes={}, targetRequestPath=null, targetRequestParams={}] javax.servlet.error.exception_type=class org.springframework.web.util.NestedServletException org.springframework.web.servlet.DispatcherServlet.FLASH_MAP_MANAGER=org.springframework.web.servlet.support.SessionFlashMapManager@3b093a20 lang=en javax.servlet.forward.request_uri=/data_point_details.shtm availableLanguages=[] javax.servlet.http.HttpServletResponse=org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterResponse@3893bdbb __spring_security_filterSecurityInterceptor_filterApplied=true _csrf=org.springframework.security.web.csrf.DefaultCsrfToken@d43e349 javax.servlet.error.servlet_name=springDispatcher javax.servlet.error.message=org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id]; nested exception is org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement: SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181] org.springframework.web.servlet.DispatcherServlet.THEME_SOURCE=WebApplicationContext for namespace 'springDispatcher-servlet': startup date [Mon Feb 18 15:00:34 EST 2019]; parent: Root WebApplicationContext instanceDescription=My Mango Automation NEW_ID=-1 org.springframework.web.servlet.HandlerMapping.pathWithinHandlerMapping=/data_point_details.shtm org.springframework.security.web.csrf.CsrfToken=org.springframework.security.web.csrf.DefaultCsrfToken@d43e349 javax.servlet.error.request_uri=/data_point_details.shtm org.springframework.web.servlet.DispatcherServlet.THEME_RESOLVER=org.springframework.web.servlet.theme.FixedThemeResolver@3642fad0 javax.servlet.jsp.jstl.fmt.locale.request=en_US javax.servlet.error.exception=org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id]; nested exception is org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement: SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181] SESSION ATTRIBUTES org.springframework.security.web.csrf.HttpSessionCsrfTokenRepository.CSRF_TOKEN=org.springframework.security.web.csrf.DefaultCsrfToken@d43e349 sessionUser=User [id=1, username=admin, password={BCRYPT}$2a$10$geXLtQkG69172R6A5oHyGO4uv4UrMwPNVg0/XiNvsttNfgDK9m0wC, email=admin@yourMangoDomain.com, phone=, disabled=false, homeUrl=null, lastLogin=0, receiveAlarmEmails=-3, receiveOwnAuditEvents=false, timezone=null, permissions=superadmin] LONG_POLL_DATA_TIMEOUT=1550520355793 SPRING_SECURITY_CONTEXT=org.springframework.security.core.context.SecurityContextImpl@eefb1197: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@eefb1197: Principal: User [id=1, username=admin, password={BCRYPT}$2a$10$geXLtQkG69172R6A5oHyGO4uv4UrMwPNVg0/XiNvsttNfgDK9m0wC, email=admin@yourMangoDomain.com, phone=, disabled=false, homeUrl=null, lastLogin=0, receiveAlarmEmails=-3, receiveOwnAuditEvents=false, timezone=null, permissions=superadmin]; Credentials: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_superadmin, ROLE_ADMIN LONG_POLL_DATA=[com.serotonin.m2m2.web.dwr.longPoll.LongPollData@360ca62, com.serotonin.m2m2.web.dwr.longPoll.LongPollData@8d8250d, com.serotonin.m2m2.web.dwr.longPoll.LongPollData@4c78eef5, com.serotonin.m2m2.web.dwr.longPoll.LongPollData@1df20e14] CONTEXT ATTRIBUTES org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern=.*\.jar$ DwrContainer=org.directwebremoting.impl.DefaultContainer@11ab28ec LocalDeviceDwr=com.serotonin.ma.bacnet.device.LocalDeviceDwr@309ec473 constants.EventType.EventTypeNames.AUDIT=AUDIT constants.SystemEventType.TYPE_USER_LOGIN=USER_LOGIN constants.Permissions.DataPointAccessTypes.READ=1 org.directwebremoting.ContainerList=[org.directwebremoting.impl.DefaultContainer@11ab28ec] constants.DataTypes.BINARY=1 constants.UserComment.TYPE_EVENT=1 constants.SystemEventType.TYPE_SYSTEM_STARTUP=SYSTEM_STARTUP constants.SystemEventType.TYPE_REJECTED_WORK_ITEM=REJECTED_WORK_ITEM constants.AuditEventType.TYPE_EVENT_DETECTOR=EVENT_DETECTOR javax.servlet.ServletConfig=org.eclipse.jetty.servlet.ServletHolder$Config@3482d47c javax.servlet.http.HttpServlet=org.directwebremoting.servlet.DwrServlet@31342b54 org.eclipse.jetty.tmpdirConfigured=true constants.EventType.EventTypeNames.DATA_POINT=DATA_POINT clientSideMessages={common.alarmLevel.lifeSafety=com.serotonin.m2m2.i18n.TranslatableMessage@1c71626, common.disabled=com.serotonin.m2m2.i18n.TranslatableMessage@be9bfeff, header.mute=com.serotonin.m2m2.i18n.TranslatableMessage@43df3cba, header.unmute=com.serotonin.m2m2.i18n.TranslatableMessage@d635aa93, common.alarmLevel.critical=com.serotonin.m2m2.i18n.TranslatableMessage@2b076d7, js.help.related=com.serotonin.m2m2.i18n.TranslatableMessage@3dce6ae3, js.help.lastUpdated=com.serotonin.m2m2.i18n.TranslatableMessage@729293fd, js.email.addAddress=com.serotonin.m2m2.i18n.TranslatableMessage@cbb9a38a, js.help.error=com.serotonin.m2m2.i18n.TranslatableMessage@f876c0, js.email.addUser=com.serotonin.m2m2.i18n.TranslatableMessage@49cc77b5, js.email.addMailingList=com.serotonin.m2m2.i18n.TranslatableMessage@6fa4a69f, js.email.noRecipForEmail=com.serotonin.m2m2.i18n.TranslatableMessage@4b694592, common.access.set=com.serotonin.m2m2.i18n.TranslatableMessage@a3e5309b, common.access.read=com.serotonin.m2m2.i18n.TranslatableMessage@d8bff83d, common.loading=com.serotonin.m2m2.i18n.TranslatableMessage@cf5f0419, common.sendTestEmail=com.serotonin.m2m2.i18n.TranslatableMessage@8fd89c9f, common.disabledToggle=com.serotonin.m2m2.i18n.TranslatableMessage@d7f89333, common.alarmLevel.none=com.serotonin.m2m2.i18n.TranslatableMessage@223c1a70, common.administrator=com.serotonin.m2m2.i18n.TranslatableMessage@a467f3ea, common.enabledToggle=com.serotonin.m2m2.i18n.TranslatableMessage@ea5c2f12, common.alarmLevel.urgent=com.serotonin.m2m2.i18n.TranslatableMessage@8fa9c879, common.minimize=com.serotonin.m2m2.i18n.TranslatableMessage@5d740b21, js.email.noRecipients=com.serotonin.m2m2.i18n.TranslatableMessage@d78563d2, common.user=com.serotonin.m2m2.i18n.TranslatableMessage@8a9479ce, events.silence=com.serotonin.m2m2.i18n.TranslatableMessage@8376c0ac, js.email.testSent=com.serotonin.m2m2.i18n.TranslatableMessage@f59d9881, common.alarmLevel.ignore=com.serotonin.m2m2.i18n.TranslatableMessage@7a97f30a, common.maximize=com.serotonin.m2m2.i18n.TranslatableMessage@c752a74f, common.alarmLevel.doNotLog=com.serotonin.m2m2.i18n.TranslatableMessage@9d8a4f14, events.unsilence=com.serotonin.m2m2.i18n.TranslatableMessage@29ad6533, common.alarmLevel.info=com.serotonin.m2m2.i18n.TranslatableMessage@2239cfe6} constants.SystemEventType.TYPE_SET_POINT_HANDLER_FAILURE=SET_POINT_HANDLER_FAILURE MangoApiSystemSettingsDwr=com.infiniteautomation.mangoApi.web.MangoApiSystemSettingsDwr@799089d6 constants.DataTypes.ALPHANUMERIC=4 constants.Permissions.DataPointAccessTypes.ADMIN=4 constants.Permissions.DataPointAccessTypes.SET=2 constants.AuditEventType.TYPE_DATA_SOURCE=DATA_SOURCE constants.SystemEventType.TYPE_EMAIL_SEND_FAILURE=EMAIL_SEND_FAILURE constants.SystemEventType.TYPE_UPGRADE_CHECK=UPGRADE_CHECK constants.Permissions.DataPointAccessTypes.NONE=0 org.directwebremoting.impl.ServerContext=org.directwebremoting.impl.DefaultServerContext@3f6b67cb constants.EventType.EventTypeNames.PUBLISHER=PUBLISHER org.eclipse.jetty.containerInitializers=[ContainerInitializer{org.eclipse.jetty.apache.jsp.JettyJasperInitializer,interested=[],applicable=[],annotated=[]}] org.eclipse.jetty.server.Executor=qtp1324514662{STARTED,10<=10<=200,i=6,q=0} constants.EventType.EventTypeNames.DATA_SOURCE=DATA_SOURCE constants.SystemEventType.TYPE_LICENSE_CHECK=LICENSE_CHECK org.springframework.web.context.WebApplicationContext.ROOT=Root WebApplicationContext: startup date [Mon Feb 18 15:00:31 EST 2019]; root of context hierarchy org.springframework.web.context.support.ServletContextScope=org.springframework.web.context.support.ServletContextScope@1de8756e constants.SystemEventType.TYPE_SYSTEM_SHUTDOWN=SYSTEM_SHUTDOWN SystemSettingsDwr=com.serotonin.m2m2.web.dwr.SystemSettingsDwr@d16830c mangoMessageKeys=[Ljava.lang.String;@38290674 org.directwebremoting.WebContextFactory$WebContextBuilder=org.directwebremoting.impl.DefaultWebContextBuilder@140411b3 org.apache.jasper.runtime.JspApplicationContextImpl=org.apache.jasper.runtime.JspApplicationContextImpl@4a994558 javax.servlet.context.tempdir=C:\EnsureSmart\work constants.DataTypes.MULTISTATE=2 org.apache.tomcat.InstanceManager=org.apache.tomcat.SimpleInstanceManager@732ea1e4 org.apache.catalina.jsp_classpath=C:\EnsureSmart\web\modules\sqlConsole\classes;C:\EnsureSmart\web\modules\sqlConsole\lib\m2m2-sqlConsole-1.6.0.jar;C:\EnsureSmart\web\modules\sstGraphics\classes;C:\EnsureSmart\web\modules\sstGraphics\lib\m2m2-sstGraphics-1.2.0.jar;C:\EnsureSmart\web\modules\TCPIP\classes;C:\EnsureSmart\web\modules\TCPIP\lib\m2m2-TCPIP-1.2.0.jar;C:\EnsureSmart\web\modules\dataPointDetailsView\classes;C:\EnsureSmart\web\modules\dataPointDetailsView\lib\m2m2-dataPointDetailsView-1.1.0.jar;C:\EnsureSmart\web\modules\jsonFileImport\classes;C:\EnsureSmart\web\modules\jsonFileImport\lib\m2m2-jsonFileImport-1.2.2.jar;C:\EnsureSmart\web\modules\mbus\classes;C:\EnsureSmart\web\modules\mbus\lib\commons-beanutils-1.8.3.jar;C:\EnsureSmart\web\modules\mbus\lib\commons-collections-3.2.2.jar;C:\EnsureSmart\web\modules\mbus\lib\commons-lang-2.5.jar;C:\EnsureSmart\web\modules\mbus\lib\commons-logging-1.1.1.jar;C:\EnsureSmart\web\modules\mbus\lib\ezmorph-1.0.6.jar;C:\EnsureSmart\web\modules\mbus\lib\json-lib-2.4-jdk15.jar;C:\EnsureSmart\web\modules\mbus\lib\m2m2-mbus-1.2.0.jar;C:\EnsureSmart\web\modules\mbus\lib\mbus4j-core-1.0.0.jar;C:\EnsureSmart\web\modules\mbus\lib\mbus4j-master-1.0.0.jar;C:\EnsureSmart\web\modules\mbus\lib\spsw-java-0.0.7.jar;C:\EnsureSmart\web\modules\twilio\classes;C:\EnsureSmart\web\modules\twilio\lib\m2m2-twilio-1.2.0.jar;C:\EnsureSmart\web\modules\twilio\lib\twilio-java-sdk-3.4.1-jar-with-dependencies.jar;C:\EnsureSmart\web\modules\pop3\classes;C:\EnsureSmart\web\modules\pop3\lib\m2m2-pop3-1.6.0.jar;C:\EnsureSmart\web\modules\vmstat\classes;C:\EnsureSmart\web\modules\vmstat\lib\m2m2-vmstat-1.6.0.jar;C:\EnsureSmart\web\modules\egauge\classes;C:\EnsureSmart\web\modules\egauge\lib\m2m2-egauge-1.2.0.jar;C:\EnsureSmart\web\modules\scripting\classes;C:\EnsureSmart\web\modules\scripting\lib\m2m2-scripting-1.2.0.jar;C:\EnsureSmart\web\modules\opcda\classes;C:\EnsureSmart\web\modules\opcda\lib\j-interop-2.0.10.jar;C:\EnsureSmart\web\modules\opcda\lib\j-interopdeps-2.01.jar;C:\EnsureSmart\web\modules\opcda\lib\jcifs-1.2.19.jar;C:\EnsureSmart\web\modules\opcda\lib\m2m2-opcda-1.7.0.jar;C:\EnsureSmart\web\modules\opcda\lib\org.openscada.opc.dcom_0.7.0.201203290910.jar;C:\EnsureSmart\web\modules\opcda\lib\org.openscada.opc.lib_0.9.0.201203290910.jar;C:\EnsureSmart\web\modules\opcda\lib\org.openscada.utils_0.17.0.201203290908.jar;C:\EnsureSmart\web\modules\loggingConsole\classes;C:\EnsureSmart\web\modules\loggingConsole\lib\m2m2-loggingConsole-1.2.0.jar;C:\EnsureSmart\web\modules\asciiFile\classes;C:\EnsureSmart\web\modules\asciiFile\lib\m2m2-asciiFile-1.3.0.jar;C:\EnsureSmart\web\modules\dashboards\classes;C:\EnsureSmart\web\modules\dashboards\lib\m2m2-dashboards-3.3.1.jar;C:\EnsureSmart\web\modules\dataImport\classes;C:\EnsureSmart\web\modules\dataImport\lib\m2m2-dataImport-1.5.0.jar;C:\EnsureSmart\web\modules\serial\classes;C:\EnsureSmart\web\modules\serial\lib\m2m2-serial-1.3.0.jar;C:\EnsureSmart\web\modules\onewire\classes;C:\EnsureSmart\web\modules\onewire\lib\m2m2-onewire-1.6.0.jar;C:\EnsureSmart\web\modules\onewire\lib\OneWireAPI.jar;C:\EnsureSmart\web\modules\onewire\lib\RXTXcomm.jar;C:\EnsureSmart\web\modules\ssh\classes;C:\EnsureSmart\web\modules\ssh\lib\jsch-0.1.51.jar;C:\EnsureSmart\web\modules\ssh\lib\m2m2-ssh-1.2.0.jar;C:\EnsureSmart\web\modules\sstGlobalScripts\classes;C:\EnsureSmart\web\modules\sstGlobalScripts\lib\m2m2-sstGlobalScripts-1.6.0.jar;C:\EnsureSmart\web\modules\BACnet\classes;C:\EnsureSmart\web\modules\BACnet\lib\bacnet4j-3.2.4.jar;C:\EnsureSmart\web\modules\BACnet\lib\m2m2-BACnet-2.3.0.jar;C:\EnsureSmart\web\modules\mangoApi\classes;C:\EnsureSmart\web\modules\mangoApi\lib\apache-log4j-extras-1.2.17.jar;C:\EnsureSmart\web\modules\mangoApi\lib\m2m2-mangoApi-1.2.1.jar;C:\EnsureSmart\web\modules\modbus\classes;C:\EnsureSmart\web\modules\modbus\lib\m2m2-modbus-1.8.0.jar;C:\EnsureSmart\web\modules\modbus\lib\modbus4j-3.0.3.jar;C:\EnsureSmart\web\modules\excelReports\classes;C:\EnsureSmart\web\modules\excelReports\lib\m2m2-excelReports-1.1.2.jar;C:\EnsureSmart\web\modules\dglux\classes;C:\EnsureSmart\web\modules\dglux\lib\gentlyWEB-utils-1.1.jar;C:\EnsureSmart\web\modules\dglux\lib\JoSQL-2.2.jar;C:\EnsureSmart\web\modules\dglux\lib\m2m2-dglux-1.4.0.jar;C:\EnsureSmart\web\modules\virtualDS\classes;C:\EnsureSmart\web\modules\virtualDS\lib\m2m2-virtualDS-1.6.1.jar;C:\EnsureSmart\web\modules\scheduledEvents\classes;C:\EnsureSmart\web\modules\scheduledEvents\lib\m2m2-scheduledEvents-1.6.0.jar;C:\EnsureSmart\web\modules\jspViews\classes;C:\EnsureSmart\web\modules\jspViews\lib\m2m2-jspViews-2.2.0.jar;C:\EnsureSmart\web\modules\log4jDS\classes;C:\EnsureSmart\web\modules\log4jDS\lib\m2m2-log4jDS-1.2.0.jar;C:\EnsureSmart\web\modules\snmp\classes;C:\EnsureSmart\web\modules\snmp\lib\m2m2-snmp-1.6.0.jar;C:\EnsureSmart\web\modules\snmp\lib\SNMP4J.jar;C:\EnsureSmart\web\modules\pointLinks\classes;C:\EnsureSmart\web\modules\pointLinks\lib\m2m2-pointLinks-1.6.0.jar;C:\EnsureSmart\web\modules\sqlds\classes;C:\EnsureSmart\web\modules\sqlds\lib\m2m2-sqlds-1.7.0.jar;C:\EnsureSmart\web\modules\controlcore\classes;C:\EnsureSmart\web\modules\controlcore\lib\m2m2-controlcore-1.2.0.jar;C:\EnsureSmart\web\modules\meta\classes;C:\EnsureSmart\web\modules\meta\lib\m2m2-meta-2.3.0.jar;C:\EnsureSmart\web\modules\dnp3\classes;C:\EnsureSmart\web\modules\dnp3\lib\dnp34j.jar;C:\EnsureSmart\web\modules\dnp3\lib\m2m2-dnp3-1.7.0.jar;C:\EnsureSmart\web\modules\maintenanceEvents\classes;C:\EnsureSmart\web\modules\maintenanceEvents\lib\m2m2-maintenanceEvents-1.6.0.jar;C:\EnsureSmart\web\modules\graphicalViews\classes;C:\EnsureSmart\web\modules\graphicalViews\lib\m2m2-graphicalViews-1.7.0.jar;C:\EnsureSmart\web\modules\persistent\classes;C:\EnsureSmart\web\modules\persistent\lib\m2m2-persistent-1.7.2.jar;C:\EnsureSmart\web\modules\templateConfig\classes;C:\EnsureSmart\web\modules\templateConfig\lib\m2m2-templateConfig-1.1.0.jar;C:\EnsureSmart\web\modules\internal\classes;C:\EnsureSmart\web\modules\internal\lib\m2m2-internal-1.6.2.jar;C:\EnsureSmart\web\modules\http\classes;C:\EnsureSmart\web\modules\http\lib\m2m2-http-1.6.2.jar;C:\EnsureSmart\web\modules\log4JReset\classes;C:\EnsureSmart\web\modules\log4JReset\lib\m2m2-log4JReset-1.2.0.jar;C:\EnsureSmart\web\modules\reports\classes;C:\EnsureSmart\web\modules\reports\lib\m2m2-reports-2.3.2.jar;C:\EnsureSmart\web\modules\dataFile\classes;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-api.jar;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-core.jar;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-impl.jar;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-jxc.jar;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-xjc.jar;C:\EnsureSmart\web\modules\dataFile\lib\m2m2-dataFile-1.2.0.jar;C:\EnsureSmart\web\modules\watchlists\classes;C:\EnsureSmart\web\modules\watchlists\lib\m2m2-watchlists-1.8.0.jar constants.UserComment.TYPE_POINT=2 org.directwebremoting.Container=org.directwebremoting.impl.DefaultContainer@11ab28ec constants.DataTypes.IMAGE=5 org.apache.jasper.compiler.TldCache=org.apache.jasper.compiler.TldCache@286acdad org.springframework.web.servlet.FrameworkServlet.CONTEXT.springDispatcher=WebApplicationContext for namespace 'springDispatcher-servlet': startup date [Mon Feb 18 15:00:34 EST 2019]; parent: Root WebApplicationContext constants.Permissions.DataPointAccessTypes.DATA_SOURCE=3 constants.EventType.EventTypeNames.SYSTEM=SYSTEM constants.SystemEventType.TYPE_PROCESS_FAILURE=PROCESS_FAILURE constants.AuditEventType.TYPE_DATA_POINT=DATA_POINT constants.SystemEventType.TYPE_MAX_ALARM_LEVEL_CHANGED=MAX_ALARM_LEVEL_CHANGED constants.DataTypes.NUMERIC=3 constants.Common.NEW_ID=-1 MiscDwr=com.serotonin.m2m2.web.dwr.MiscDwr@1c57d89a constants.AuditEventType.TYPE_EVENT_HANDLER=EVENT_HANDLER
-
Corrupt H2 Database
Good Afternoon All,
I am receiving this error on one of our client systems in the field:
File corrupted while reading record: "[360329] stream data key:16680 pos:11 remaining:0". Possible solution: use the recovery tool [90030-181] 90030/90030 (Help)
Based on a quick search it looks like there are varying degrees of success in recovering the database file.
Has anyone had any experience in recovering a Mango H2 database?
Thanks!
-
RE: Mango persistent TCP
I use an event detector on the last update of a data point that i know changes on a regular basis. So far, so good.
-
RE: 100% CPU after user login attempt
This is a enterprise install with NoSQL.
There are currently ~35 Persistent TCP datasources in this install.
I did notice today that the datasource page will not load the datasources, but the dashboard and datapoints pages appear to be displaying the data properly.
I'm going to check an older database and see if that helps.
-
RE: 100% CPU after user login attempt
It appears as though I am back in business. This has apparently been going on since July 5.
I restored the backup from July 4 and all appears to be functioning.
The database is sitting at 3 GB now. Any idea what would cause such a dramatic increase?
Thank you for the assistance!
-
RE: 100% CPU after user login attempt
Thanks for the information. I suspect that will get me going in the right direction.
The lastest piece of the puzzle is the service will not shutdown.
The server stops listening on 8080, but a portion of the persistent connections still remain connected according to netstat.
If I kill the PID, I suspect the lock will not be released?
-
RE: 100% CPU after user login attempt
This is version 2.8.
The systems resides in an AWS EC2 instance. Currently the mah2.h2.db file is 12 GB.
I don't have any additional event handling that I am aware of.
Currently, there is a lock file that is hindering the web console.
I'm not familiar with the H2 database, so I don't want to get to far away from home. If i move this lock file, I should be able to clean the event table?
-
100% CPU after user login attempt
Our central server is having an issue where, when a user attempts to login, CPU utilization grows until it reaches 100%.
Occasionally, a user will be authorized, but nothing will load.
This is one entry from a recent log that seems related:
ERROR 2018-07-30 10:37:48,116 (com.serotonin.m2m2.rt.RuntimeManager.stopDataSourceShutdown:413) - Data source 'Zirkle Facility D' failed proper termination. org.springframework.dao.CannotAcquireLockException: PreparedStatementCallback; SQL [SELECT dp.id,dp.data,dp.xid,dp.dataSourceId,dp.name,dp.deviceName,dp.enabled,dp.pointFolderId,dp.loggingType,dp.intervalLoggingPeriodType,dp.intervalLog$ SELECT dp.id,dp.data,dp.xid,dp.dataSourceId,dp.name,dp.deviceName,dp.enabled,dp.pointFolderId,dp.loggingType,dp.intervalLoggingPeriodType,dp.intervalLoggingPeriod,dp.intervalLoggingType,dp.tolerance,dp.purgeOverride,dp.purgeType,dp.purg$ SELECT dp.id,dp.data,dp.xid,dp.dataSourceId,dp.name,dp.deviceName,dp.enabled,dp.pointFolderId,dp.loggingType,dp.intervalLoggingPeriodType,dp.intervalLoggingPeriod,dp.intervalLoggingType,dp.tolerance,dp.purgeOverride,dp.purgeType,dp.purg$ at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:259) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:645) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:680) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:712) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:722) at com.serotonin.db.spring.ExtendedJdbcTemplate.queryForObject(ExtendedJdbcTemplate.java:39) at com.serotonin.db.DaoUtils.queryForObject(DaoUtils.java:332) at com.serotonin.m2m2.db.dao.AbstractBasicDao.get(AbstractBasicDao.java:549) at com.serotonin.m2m2.vo.permission.Permissions.hasEventTypePermission(Permissions.java:248) at com.serotonin.m2m2.rt.EventManager.deactivateEvents(EventManager.java:316) at com.serotonin.m2m2.rt.EventManager.cancelEventsForDataPoint(EventManager.java:529) at com.serotonin.m2m2.rt.dataImage.DataPointRT.terminate(DataPointRT.java:699) at com.serotonin.m2m2.rt.RuntimeManager.stopDataPointShutdown(RuntimeManager.java:561) at com.serotonin.m2m2.rt.RuntimeManager.stopDataSourceShutdown(RuntimeManager.java:402) at com.serotonin.m2m2.rt.DataSourceGroupTerminator$DataSourceSubGroupTerminator.run(DataSourceGroupTerminator.java:141) at com.serotonin.timer.TimerTask.runTask(TimerTask.java:148) at com.serotonin.timer.TimerTask.run(TimerTask.java:119) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.h2.jdbc.JdbcSQLException: Timeout trying to lock table "DATAPOINTS"; SQL statement: SELECT dp.id,dp.data,dp.xid,dp.dataSourceId,dp.name,dp.deviceName,dp.enabled,dp.pointFolderId,dp.loggingType,dp.intervalLoggingPeriodType,dp.intervalLoggingPeriod,dp.intervalLoggingType,dp.tolerance,dp.purgeOverride,dp.purgeType,dp.purg$ at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:179) at org.h2.message.DbException.get(DbException.java:155) at org.h2.table.RegularTable.doLock1(RegularTable.java:504) at org.h2.table.RegularTable.lock(RegularTable.java:469) at org.h2.table.TableFilter.lock(TableFilter.java:146) at org.h2.command.dml.Select.queryWithoutCache(Select.java:630) at org.h2.command.dml.Query.query(Query.java:322) at org.h2.command.dml.Query.query(Query.java:290) at org.h2.command.dml.Query.query(Query.java:36) at org.h2.command.CommandContainer.query(CommandContainer.java:90) at org.h2.command.Command.executeQuery(Command.java:197) at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:108) at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:688) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:629) ... 18 more
Any ideas?
-
Point Hierarchy in Report Template
Is there a way to address the point hierarchy of a point in a report template?
Based on what I can find in the code, I don't see any record of that information being based to the report module.