Testing Ignition Edge Easy Chart Error

Hi, I recently installed Ignition edge, I created 3 memory tags with history and an Easy Chart. Sometime I get an error but it’s still working, I leaved all night and I get more than 1000 errors. I tried installing in other computer and I get one error. Why do these errors occur?

First Computer




Second Computer


java.lang.Exception: Error running query:
TagHistory(paths=[prov:edge:/tag:Tag 1, prov:edge:/tag:Tag 2, prov:edge:/tag:Tag 3], start=Fri Apr 07 21:25:42 CLT 2017, end=Fri Apr 07 21:30:42 CLT 2017, flags=0)@1000ms
On: Main Window.Root Container.Easy Chart 1
	at com.inductiveautomation.factorypmi.application.gateway.QueryManager$QueryExecutor.run(QueryManager.java:317)
	at java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Requested timestamp is previous to an already requested time. All requests must go forward in time. Received '-1' after '0'
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:332)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:306)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.runTagHistoryQuery(GatewayInterface.java:715)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.runTagHistoryQuery(GatewayInterface.java:684)
	at com.inductiveautomation.factorypmi.application.gateway.GWITagHistoryProvider.query(GWITagHistoryProvider.java:16)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.StandardCacheBucket.loadData(StandardCacheBucket.java:229)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.StandardCacheBucket.getData(StandardCacheBucket.java:194)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.SubCache$BucketHit.getData(SubCache.java:224)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.SubCache.getData(SubCache.java:160)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.TagHistoryCache.query(TagHistoryCache.java:254)
	at com.inductiveautomation.factorypmi.application.gateway.TagHistoryQuery.execute(TagHistoryQuery.java:34)
	at com.inductiveautomation.factorypmi.application.gateway.QueryManager$Query.execute(QueryManager.java:690)
	at com.inductiveautomation.factorypmi.application.gateway.QueryManager$Query.access$500(QueryManager.java:663)
	at com.inductiveautomation.factorypmi.application.gateway.QueryManager$QueryExecutor.run(QueryManager.java:314)
	... 1 more
Caused by: java.lang.IllegalArgumentException: Requested timestamp is previous to an already requested time. All requests must go forward in time. Received '-1' after '0'
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.processing.Interpolator.getValueAt(Interpolator.java:73)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.columns.DefaultHistoryColumn.finishAggregationWindow(DefaultHistoryColumn.java:152)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.columns.DefaultHistoryColumn.process(DefaultHistoryColumn.java:110)
	at com.inductiveautomation.gateway.tags.history.tsdb.HistorianQueryExecutor.processData(HistorianQueryExecutor.java:188)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.HistoryWriter.readData(HistoryWriter.java:318)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.HistoryWriter.execute(HistoryWriter.java:238)
	at com.inductiveautomation.ignition.gateway.sqltags.SQLTagsManagerImpl.queryHistory(SQLTagsManagerImpl.java:1282)
	at com.inductiveautomation.ignition.gateway.project.ProjectSettingsCache$ProjectDefaultTagManagerFacade.queryHistory(ProjectSettingsCache.java:635)
	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.QueryTagHistory.invoke(QueryTagHistory.java:127)
	at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:391)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:85)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:837)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
	at org.eclipse.jetty.server.Server.handle(Server.java:518)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
	at java.lang.Thread.run(null)

Ignition v7.9.2-rc1 (b2017032721)
Java: Oracle Corporation 1.8.0_66

According to the error message, your start time is greater than your end time. Check the binding properties on the chart, my guess is you have them backwards. If you wanted to show the last 5 minutes, then end time should be something like now()
and start time should be something like dateArithmetic(now(), -5, “minutes”)

I can’t replicate the error in the current dev version of 7.9.2. I know there were some fixes in tag history after RC1 was released, so I’m going to cross my fingers that your issue has been fixed as well.

[quote=“abishur”]According to the error message, your start time is greater than your end time. Check the binding properties on the chart, my guess is you have them backwards. If you wanted to show the last 5 minutes, then end time should be something like now()
and start time should be something like dateArithmetic(now(), -5, “minutes”)[/quote]

The Easy chart it doesn’t have any modification to the properties, it’s in real time.

Some of these might be caused by a quirk (generous term for “bug”) of the client tag history cache. You can disable it by going to Project>Properties in the designer project resource tree, and then Client>General>“Disable Tag History Data Cache”. Save the project, and see if that makes a difference. Let us know if it does!

3 Likes

Just to add weight to the topic (for developer info)… I had a similar issue running Ignition v7.92.

Disabling the client tag history data cache stopped the errors from accumulating.

java.lang.Exception: Error running query:
TagHistory(paths=[histprov:Database:/prov:default:/tag:Substation/Substation RTAC/M1/Real Power/Scaled Value/Scaled Value, histprov:Database:/prov:default:/tag:Calculations/MET/POA Irradiance Avg], start=Wed May 24 03:12:31 CDT 2017, end=Wed May 24 15:12:31 CDT 2017, flags=0)@5000ms
On: Weather Trend.Weather Trend.Container.Ambient Temperature Chart
	at com.inductiveautomation.factorypmi.application.gateway.QueryManager$QueryExecutor.run(QueryManager.java:317)
	at java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Requested timestamp is previous to an already requested time. All requests must go forward in time. Received '-1' after '1'
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:332)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:306)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.runTagHistoryQuery(GatewayInterface.java:715)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.runTagHistoryQuery(GatewayInterface.java:684)
	at com.inductiveautomation.factorypmi.application.gateway.GWITagHistoryProvider.query(GWITagHistoryProvider.java:16)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.StandardCacheBucket.loadData(StandardCacheBucket.java:229)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.StandardCacheBucket.getData(StandardCacheBucket.java:194)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.SubCache$BucketHit.getData(SubCache.java:224)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.SubCache.getData(SubCache.java:160)
	at com.inductiveautomation.ignition.common.sqltags.history.cache.TagHistoryCache.query(TagHistoryCache.java:254)
	at com.inductiveautomation.factorypmi.application.gateway.TagHistoryQuery.execute(TagHistoryQuery.java:34)
	at com.inductiveautomation.factorypmi.application.gateway.QueryManager$Query.execute(QueryManager.java:690)
	at com.inductiveautomation.factorypmi.application.gateway.QueryManager$Query.access$500(QueryManager.java:663)
	at com.inductiveautomation.factorypmi.application.gateway.QueryManager$QueryExecutor.run(QueryManager.java:314)
	... 1 more
Caused by: java.lang.IllegalArgumentException: Requested timestamp is previous to an already requested time. All requests must go forward in time. Received '-1' after '1'
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.processing.Interpolator.getValueAt(Interpolator.java:73)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.columns.DefaultHistoryColumn.finishAggregationWindow(DefaultHistoryColumn.java:152)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.columns.DefaultHistoryColumn.process(DefaultHistoryColumn.java:110)
	at com.inductiveautomation.gateway.tags.history.query.DatasourceQueryExecutor.loadValue(DatasourceQueryExecutor.java:516)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.AbstractHistoryLoader.processData(AbstractHistoryLoader.java:162)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.AggregateHistoryQueryExecutor.processData(AggregateHistoryQueryExecutor.java:99)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.HistoryWriter.readData(HistoryWriter.java:318)
	at com.inductiveautomation.ignition.gateway.sqltags.history.query.HistoryWriter.execute(HistoryWriter.java:238)
	at com.inductiveautomation.ignition.gateway.sqltags.SQLTagsManagerImpl.queryHistory(SQLTagsManagerImpl.java:1282)
	at com.inductiveautomation.ignition.gateway.project.ProjectSettingsCache$ProjectDefaultTagManagerFacade.queryHistory(ProjectSettingsCache.java:635)
	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.QueryTagHistory.invoke(QueryTagHistory.java:127)
	at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:391)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:85)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:837)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
	at org.eclipse.jetty.server.Server.handle(Server.java:518)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
	at java.lang.Thread.run(null)


Ignition v7.9.2 (b2017041315)
Java: Oracle Corporation 1.8.0_131
1 Like

I found some topics on the forum with the same problem, one of this post it’s from 2013 and the error is still there. I also have other random errors (on Ignition) when I use zoom, the error is “The maximum row limit (1000) has been reached for this query” and there isn’t solutions, just some advices like “disable tag history data cache” or disable other properties from the easy chart. Now please tell me, How can I offer this software to my clients if I get so many random error? How can I do a presentation of Ignition to my clients hoping an error doesn’t show?