How long should a Mango system update take?
-
OK I will upgrade the system to 2.8.8 first and this will give me the debug log change for the history correct? Which was the one reason I wanted to upgrade in the first place so I can see history results.
I'm putting enterprise into the same opt/mango directory- reapply the licence.
- restore the database backup OR can I just drop in the database from the system I just broke?
- convert the database to noSQL
- backup
Is this the right approach?
-
No, perhaps I should have been more clear. I made the change but we didn't release it yet. I also made the history generation a little more efficient (but from what we know now, I think using SQL for the pointValues table is the problem). Also I did that in the 3.x stream.
I would personally restore your systems using a JSON backup into a new database and then migrating the data in. I see no problem using the existing database in place. I don't believe its pointValues table will be purged by the NoSQL module, so that will just linger, but to what detriment I couldn't specifically say. You could manually purge it yourself at the sql console, as well, and in time the database file may shrink.
Edit: You will probably need to email us about the license.
-
OK Phil I have enterprise v back up and the last backup database restored however curiously dashboards that were working before are not now rendering anything on the serial charts or the pie charts? Is there a licensing issue here as well? Or does noSQL require a different query format?
-
Did you do the data migration i mentioned two posts ago? Did its status report complete?
-
Yes I am almost finished. I realized the safest way was your json method and then we have a clean noSQL db. So one by one I am adding the datasources back and then syncing the es data back and then we will see if there is a speed difference as I will do those metapoint histories again. I changed some of the scripts so it will sync everything.
-
Successfully imported 60 million records into the noSQL db. :)
-
Does recalculating history cause duplicate values to be created or will it update the existing value?
-
You cannot have two values for the same point at the same time in the NoSQL system, so it updates.
-
Phil, I had everything imported into our cloud server and into noSQL (62 million timevalues and another 40 million meta points on those all in over the weekend and I was cleaning up junk files on the server when I accidentally deleted several files in the mango directory!! Oh no. I killed the process and restored the missing files and Mango kept running and all the data appeared normal but I was worried because at least one file was in the database folder but not read only and a mango restart would likely treat the db as corrupt so I did full backup. This morning I restarted and yes it gave me a new db and everything gone. So now I'm trying restore and version 2.8.8. it saved a complete backup in the backup folder but restore -> get backups does not populate the listbox with the backup files in this folder and all dir info is correct. Any ideas?
-
Hi Phillip,
Whoa. You are using the H2 restore tool ("SQL database backup" section of system settings, must press "Get backups" to populate the list)? And you have a Mango/backup/core-database-H2*.zip file? Or, do you have a Mango-Configuration-*.json file? Might want to just post the ls of your
Mango/backups
directory -
Yes I asked it to do a full backup over night and
this is it... and it is in the back folder and I click get backups but nothing shows in the listbox.. -
Hmm. Well, it looks like you have a JSON backup and a NoSQL data backup. The JSON can be imported through the emport tools, then you can use the "Restore Database" tab on the /mango_no_sql.shtm page to get the data back. You may wish to post a picture of your SQL Database backup settings. I would guess either Mango wasn't running at the time the backup was set for, or it isn't configured to do H2 backups.
-
Whoops! I appear to have overlooked something. You do need to have the point ids to be able to restore this way. What happened to your existing H2 database? If it is gone entirely, you may need to look either further back to get the data point ID to XID set from your database prior to this process, or you'll have to start over.
-
Not sure but I did change the backup type from incremental to full last night and mango was running all night with no issues. And all data was there this morning. It was lunchtime today that I restarted mango and that's when it cleared out the database. Which I half expected to be honest. (
-
No no I started with a fresh noSQL database and imported the json structure then imported 62 million data values from the two ES boxes then I ran meta data on these for another 40 million timevalues. So the old db was gone from the start.
Does mango inspect the backup file integrity before listing it because if a file or database subfolder was missing, would that not cause a faulty backup in itself?
-
Hmm. Nothing would have removed your database. Has your env.properties file changed?
ls Mango/databases
du -sh Mango/databases/*
Do you have any errors while starting Mango?
-
It appears there are 400mb under the database folder..
du -sh results
516K databases/mah2.h2.db
483M databases/mangoTSDB
8.0K databases/reports -
512kB does seem small for an H2 database, but it doesn't make sense to me how your H2 database would have been removed, unless you removed it. So, you have no datapoints at all in the system? Are you sure the db.url in your env.properties didn't change? Do you have an mah2 file somewhere else in your Mango/ directory?
Without an H2 backup you cannot restore the point IDs and will be forced to import the data again.
-
I did not physically remove it ... but is entirely possible I just have no clue what I am doing. To get a clean noSQL database I simply erased everything in the database folder and started mango. I assumed it would work as it did with the mysql version and create a new db on restart. But after I imported all the records I did further meta calculations and all the data was showing up on the watchlists.
the ma.log shows the last shutdown and restart and it seems to indicate the database directory was empty on restart..
ERROR 2017-05-22 09:54:12,029 (com.serotonin.m2m2.meta.MetaPointLocatorRT.execute:311) -
java.lang.NullPointerException
FATAL 2017-05-22 09:54:12,049 (com.infiniteautomation.nosql.MangoNoSqlBatchWriteBehindManager$PointWrittenEntry.writeBatch:504) - Should never happen, data loss for unknown reason
java.lang.NullPointerException
FATAL 2017-05-22 09:54:12,050 (com.infiniteautomation.nosql.MangoNoSqlBatchWriteBehindManager$PointWrittenEntry.writeBatch:504) - Should never happen, data loss for unknown reason
java.lang.NullPointerException
FATAL 2017-05-22 09:54:12,224 (com.infiniteautomation.nosql.MangoNoSqlBatchWriteBehindManager$PointWrittenEntry.writeBatch:504) - Should never happen, data loss for unknown reason
java.lang.NullPointerException
FATAL 2017-05-22 09:54:12,225and on restart.......
INFO 2017-05-22 09:54:34,558 (com.serotonin.m2m2.Main.main:82) - Starting Mango 2.8.8 with Schema Version: 13
INFO 2017-05-22 09:54:35,153 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'controlcore', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,172 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'opcda', v1.7.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,174 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'openv4j', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,175 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'serial', v1.3.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,178 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'graphicalViews', v1.7.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,193 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'log4JReset', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,194 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'vmstat', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,198 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'dashboards', v3.3.1 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,238 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'dataPointDetailsView', v1.1.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,241 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'excelReports', v1.1.2 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,245 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'ssh', v1.2.1 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,247 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'http', v1.6.2 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,250 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'asciiFile', v1.3.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,252 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'persistent', v1.7.2 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,255 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'jspViews', v2.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,259 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'virtualDS', v1.6.1 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,262 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'dataImport', v1.5.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,264 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'log4jDS', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,267 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'sqlConsole', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,269 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'sstTheme', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,269 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'egauge', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,272 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'mangoNoSqlDatabase', v1.3.6 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,274 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'maintenanceEvents', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,276 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'pop3', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,279 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'mbus', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,281 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'dnp3', v1.7.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,284 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'reports', v2.3.2 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,286 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'loggingConsole', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,289 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'sqlds', v1.7.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,291 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'dataFile', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,294 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'jsonFileImport', v1.2.2 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,296 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'sstGraphics', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,299 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'pointLinks', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,302 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'watchlists', v1.8.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,305 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'templateConfig', v1.1.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,308 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'internal', v1.6.2 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,310 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'onewire', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,312 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'BACnet', v2.3.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,314 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'mangoApi', v1.2.1 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,316 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'modbus', v1.8.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,318 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'scheduledEvents', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,320 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'scripting', v1.2.1 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,322 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'sstGlobalScripts', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,324 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'envcands', v1.2.1 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,325 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'TCPIP', v1.2.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,327 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'meta', v2.3.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,329 (com.serotonin.m2m2.Main.loadModules:416) - Loading module 'snmp', v1.6.0 by Infinite Automation Systems Inc.
INFO 2017-05-22 09:54:35,848 (com.serotonin.m2m2.Lifecycle.initialize:216) - Initializing Spring Object Mapper
INFO 2017-05-22 09:54:36,314 (com.serotonin.m2m2.Lifecycle.loadLic:471) - Checking license...
ERROR 2017-05-22 09:54:36,417 (com.serotonin.m2m2.Lifecycle.freemarkerInitialize:596) - Exception defining Freemarker template directory
java.io.FileNotFoundException: /opt/mango/ftl does not exist.
at freemarker.cache.FileTemplateLoader$1.run(FileTemplateLoader.java:125)
at java.security.AccessController.doPrivileged(Native Method)
at freemarker.cache.FileTemplateLoader.<init>(FileTemplateLoader.java:122)
at freemarker.cache.FileTemplateLoader.<init>(FileTemplateLoader.java:108)
at com.serotonin.m2m2.Lifecycle.freemarkerInitialize(Lifecycle.java:583)
at com.serotonin.m2m2.Lifecycle.initialize(Lifecycle.java:283)
at com.serotonin.m2m2.Main.main(Main.java:115)
INFO 2017-05-22 09:54:36,433 (com.serotonin.m2m2.db.H2Proxy.initializeImpl:42) - Initializing H2 connection manager
INFO 2017-05-22 09:54:36,957 (com.infiniteautomation.nosql.MangoNoSqlProxy.initialize:69) - Starting MangoNoSql Database
INFO 2017-05-22 09:54:36,991 (com.infiniteautomation.tsdb.impl.IasTsdbImpl.<init>:139) - Database started
INFO 2017-05-22 09:54:37,070 (com.infiniteautomation.tsdb.impl.IasTsdbImpl.<init>:168) - Empty dir delete took 48ms
INFO 2017-05-22 09:54:37,535 (com.serotonin.m2m2.rt.RuntimeManager.initialize:141) - Starting 0 Publishers...
INFO 2017-05-22 09:54:37,535 (com.serotonin.m2m2.rt.RuntimeManager.initialize:153) - 0 Publisher's started in 1ms
INFO 2017-05-22 09:54:39,980 (com.serotonin.m2m2.web.mvc.spring.security.RestSecurityConfiguration.configure:80) - Core allowing full access to URL: /login.htm
INFO 2017-05-22 09:54:40,166 (com.serotonin.m2m2.web.M2M2ContextListener.contextInitialized:31) - Mango Automation context starting
INFO 2017-05-22 09:54:40,167 (com.serotonin.m2m2.web.M2M2ContextListener.contextInitialized:39) - Mango Automation context started
WARN 2017-05-22 09:54:40,792 (org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.registerHandlers:115) - Neither 'urlMap' nor 'mappings' set on SimpleUrlHandlerMapping
INFO 2017-05-22 09:54:41,519 (com.serotonin.m2m2.web.mvc.rest.v1.ModbusDiscoveryRestController.<init>:54) - Creating Discovery Rest Controller
INFO 2017-05-22 09:54:41,560 (com.serotonin.m2m2.web.mvc.rest.v1.DataPointRestController.<init>:69) - Creating Data Point Rest Controller.
INFO 2017-05-22 09:54:41,577 -
It looks like you also deleted /opt/mango/ftl
You could copy this directory from a complete Mango