Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.
HTTP Image Retriever not logging images
-
An HTTP Image retriever datasource with the datapoint set to log all data does not show any images and this error shows up in the logging console. this is on a mangoES.
ERROR 2016-02-04 20:44:58,856 (com.serotonin.m2m2.rt.maint.BackgroundProcessing$1.run:53) - Error in work item com.serotonin.ShouldNeverHappenException: Images are not supported at com.infiniteautomation.nosql.PointValueTimeSerializer.toByteArray(PointValueTimeSerializer.java:99) at com.infiniteautomation.nosql.PointValueTimeSerializer.toByteArray(PointValueTimeSerializer.java:25) at org.tinytsdb.impl.Series.write(Series.java:139) at org.tinytsdb.impl.TinyTSDBImpl.write(TinyTSDBImpl.java:258) at com.infiniteautomation.nosql.MangoNoSqlPointValueDao.savePointValueSync(MangoNoSqlPointValueDao.java:66) at com.serotonin.m2m2.rt.dataImage.PointValueCache.savePointValue(PointValueCache.java:92) at com.serotonin.m2m2.rt.dataImage.DataPointRT.savePointValue(DataPointRT.java:303) at com.serotonin.m2m2.rt.dataImage.DataPointRT.updatePointValue(DataPointRT.java:189) at com.serotonin.m2m2.http.rt.HttpImageDataSourceRT$ImageRetriever.executeImpl(HttpImageDataSourceRT.java:191) at com.serotonin.m2m2.http.rt.HttpImageDataSourceRT$ImageRetriever.execute(HttpImageDataSourceRT.java:145) at com.serotonin.m2m2.rt.maint.BackgroundProcessing$1.run(BackgroundProcessing.java:49) 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)
-
Hi Craig,
I have started a discussion about this issue. Mango has only ever offered to save the images to disk in my understanding, so the NoSQL dao shouldn't need to support them any differently than the SQL did. Is it possible to use MySQL or H2 currently?
-
Hi Phil,
the SQL database stored the point id and timestamp and the file was saved with the point id as the filename and saved to the filesystem. We had a build that saved the images in a YYYY/YYYY-mm-dd/ directory structure so we would have a folder for every day of the year with all of the images for all of the datapoints.
We had another patch that overlayed the date and time on the image, and some point names and values, so the images provided a visual record of a stream level.
I don't I understand the question about using MySQL or H2 currently. Mango system information shows the mangoES has a H2 database, which looks like a SQL database that has replaced derby. Are you suggesting that the image storage and retrieval functions will work if I remove the noSQL module?
Let us know what is the outcome of the discussion of this issue
Craig
-
Yes, not using the NoSQL module will help, because the NoSQL module tries to store all pointValues (including Image pointValues) but the support for images was never added. i believe using MySQL or H2 will solve the problem. It is a fairly simple thing to add the functionality from the SQL Point Value Dao to the NoSQL if that gets traction. We'll keep you posted.