#710 NHaystack 2.1.2 Error

Paul Quinn Tue 4 Jun 2019

I'm running NHaystack 2.1.2 on a rather large Supervisor with 10,000+ points. I just started getting this rebuild cache error. It is obviously a Niagara history error but I have no way of finding this needle in a haystack of 10,000 points! (No pun intended)

I'm not in a position it test the 3.0 driver on this installation. Any insight on how I might find the history causing the error? Can the driver log the specific history name?

Failed [08:49:15 04-Jun-19] Job Failed javax.baja.history.HistoryException

at com.tridium.history.db.BLocalHistoryDatabase.lambda$getTable$7(BLocalHistoryDatabase.java:908)
at java.security.AccessController.doPrivileged(Native Method)
at com.tridium.history.db.BLocalHistoryDatabase.getTable(BLocalHistoryDatabase.java:891)
at com.tridium.history.db.BLocalDbHistory.getTable(BLocalDbHistory.java:234)
at com.tridium.history.db.BLocalDbHistory.getConfig(BLocalDbHistory.java:130)
at nhaystack.collection.HistoryDbIterator.next(HistoryDbIterator.java:40)
at nhaystack.server.Cache.rebuildHistoryCache_secondPass(Cache.java:528)
at nhaystack.server.Cache.rebuild(Cache.java:63)
at nhaystack.server.BNHaystackRebuildCacheJob.run(BNHaystackRebuildCacheJob.java:45)
at javax.baja.job.BSimpleJob$JobThread.run(Unknown Source)

Caused by: com.tridium.history.SchemaChangeException: Record length has changed: 12 != 16

at com.tridium.history.file.fixed.PageManager.open(PageManager.java:73)
at com.tridium.history.file.fixed.BFixedLengthHistoryTable.openDataSection(BFixedLengthHistoryTable.java:106)
at com.tridium.history.file.BFileHistoryTable$DoOpenPrivilegedAction.run(BFileHistoryTable.java:512)
at java.security.AccessController.doPrivileged(Native Method)
at com.tridium.history.file.BFileHistoryTable.doOpen(BFileHistoryTable.java:444)
at com.tridium.history.db.BHistoryDbTable.open(BHistoryDbTable.java:162)
at com.tridium.history.db.BLocalHistoryDatabase.lambda$getTable$7(BLocalHistoryDatabase.java:900)
... 9 more
com.tridium.history.SchemaChangeException: Record length has changed: 12 != 16
   at com.tridium.history.file.fixed.PageManager.open(PageManager.java:73)
   at com.tridium.history.file.fixed.BFixedLengthHistoryTable.openDataSection(BFixedLengthHistoryTable.java:106)
   at com.tridium.history.file.BFileHistoryTable$DoOpenPrivilegedAction.run(BFileHistoryTable.java:512)
   at java.security.AccessController.doPrivileged(Native Method)
   at com.tridium.history.file.BFileHistoryTable.doOpen(BFileHistoryTable.java:444)
   at com.tridium.history.db.BHistoryDbTable.open(BHistoryDbTable.java:162)
   at com.tridium.history.db.BLocalHistoryDatabase.lambda$getTable$7(BLocalHistoryDatabase.java:900)
   at java.security.AccessController.doPrivileged(Native Method)
   at com.tridium.history.db.BLocalHistoryDatabase.getTable(BLocalHistoryDatabase.java:891)
   at com.tridium.history.db.BLocalDbHistory.getTable(BLocalDbHistory.java:234)
   at com.tridium.history.db.BLocalDbHistory.getConfig(BLocalDbHistory.java:130)
   at nhaystack.collection.HistoryDbIterator.next(HistoryDbIterator.java:40)
   at nhaystack.server.Cache.rebuildHistoryCache_secondPass(Cache.java:528)
   at nhaystack.server.Cache.rebuild(Cache.java:63)
   at nhaystack.server.BNHaystackRebuildCacheJob.run(BNHaystackRebuildCacheJob.java:45)
   at javax.baja.job.BSimpleJob$JobThread.run(Unknown Source)

Paul Quinn Wed 5 Jun 2019

This issue turned out to be a bad history extension. For some reason double precision data types in Niagara histories cause this problem. The problem also shows up in Niagara in that you can't expand the history tree to view histories.

Richard McElhinney Thu 6 Jun 2019

Hi Paul,

Glad to hear that you sorted out the issue. I can look at adding some more logging into the code that you can turn on and off so that better feedback can be provided in situations like this.

Cheers, Richard

Login or Signup to reply.