• cbyrne

    I really only want to set a low limit, what is a safe max for the datatype that holds the high set limit?

    posted in User help read more
  • cbyrne

    Trying to get a superscript on an axis title:

    options='{
        valueAxes:[{
            title: "m[baseline-shift: super]3[/]"
        }]
    }'
    

    produces the entire unformatted string as the title.

    posted in User help read more
  • cbyrne

    @mattfox Couldn't see much change unfortunately. When graphing at 1 hour deltas, at best it just brings the previous hour into the graph.

    posted in User help read more
  • cbyrne

    @craigweb Ah awesome! Thanks Craig.

    posted in Wishlist read more
  • cbyrne

    When creating a user account for a client, I have to set their password, send it to them and then request that they then change it themselves.

    Ideally, I'd like to be able to set a flag forcing the user to set a new password on login. Either that or perhaps create the user account via email invitation where the invitation link brings them to a page for password creation.

    posted in Wishlist read more
  • cbyrne

    Just wondering if there's been any movement on the delta statistics issue from a few months back?

    Associated thread: https://forum.infiniteautomation.com/topic/4413/rollup-value-calculations-and-no-values-for-15m-intervals
    Associated public github issue: https://github.com/infiniteautomation/ma-core-public/issues/1480

    Unfortunately, this issue is causing us problems as our clients' primary need is for correct energy usage statistics/graphs.

    Thanks!

    posted in User help read more
  • cbyrne

    Perfect, thanks @terrypacker! I'll try that and update this post.

    update 1:
    The H2 database shell doesn't recognise LIKE in CREATE TABLE. It may not be supported, The H2 command info for CREATE DATABASE doesn't show LIKE - https://www.h2database.com/html/commands.html#create_table

    update 2
    I just did a DELETE FROM EVENTS; instead.

    So yeah, there might have been a few too many events... 12 million. The database has gone from ~6 Gb to 76 Mb.

    posted in User help read more
  • cbyrne

    @terrypacker Hi Terry, I am just continuing @petermcs's work and have the jmap -hist outputs.

    Before:

     num     #instances         #bytes  class name
    ----------------------------------------------
       1:        173771      715822488  [I
       2:       3748110      508063720  [C
       3:       1945314      443221056  [B
       4:       1733728       41609472  java.lang.String
       5:       1973991       37379904  [Ljava.lang.Class;
       6:        478710       23272440  [Ljava.lang.Object;
       7:             1       16777232  [Lorg.h2.util.CacheObject;
       8:        151493       11321608  [Ljava.util.HashMap$Node;
       9:        228571       10971408  java.util.HashMap
      10:        168383       10776512  java.net.URL
      11:        318951       10206432  java.util.HashMap$Node
      12:         99723        9573408  java.util.jar.JarFile$JarFileEntry
      13:        101097        8896536  java.lang.reflect.Method
      14:         99443        7955440  java.util.zip.ZipEntry
      15:        194720        7788800  java.util.LinkedHashMap$Entry
      16:        262144        6291456  org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper
      17:        107562        6023472  java.util.LinkedHashMap
      18:        211916        5085984  java.lang.StringBuilder
      19:        155322        4970304  java.util.LinkedHashMap$LinkedEntryIterator
      20:        132436        4237952  java.util.ArrayList$Itr
      21:        106631        4096384  [Ljava.lang.String;
      22:         48305        3915312  [S
      23:        103984        3635760  [Ljava.lang.reflect.Method;
      24:        148571        3565704  java.util.ArrayList
      25:        145630        3495120  org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey
      26:        213448        3415168  java.util.HashSet
      27:         57295        3208520  org.springframework.asm.Label
      28:          5081        3195656  [J
      29:         37779        3022320  java.lang.reflect.Constructor
      30:         89701        2870432  java.io.File
      31:         59175        2840400  java.nio.HeapByteBuffer
      32:        168665        2698640  java.lang.Integer
      33:         16617        2641896  [Lorg.springframework.asm.Label;
      34:         73858        2363456  java.util.concurrent.ConcurrentHashMap$Node
      35:         89469        2147256  java.lang.Class$MethodArray
      36:         44728        2146944  org.springframework.core.ResolvableType
      37:         81522        1956528  java.util.LinkedList$Node
      38:         32363        1812328  org.springframework.asm.SymbolTable$Entry
      39:         15886        1783136  java.lang.Class
      40:         52571        1682272  java.util.LinkedHashMap$LinkedKeyIterator
      41:         22174        1596528  org.springframework.core.annotation.AnnotationAttributes
      42:         32146        1543008  org.springframework.util.ConcurrentReferenceHashMap$SoftEntryReference
      43:         57998        1391952  java.util.concurrent.CopyOnWriteArrayList$COWIterator
      44:         42207        1350624  org.springframework.asm.Type
      45:         29777        1191080  java.lang.ref.Finalizer
      46:         36791        1177312  java.util.AbstractList$Itr
      47:         65801        1052816  sun.reflect.ConstantPool
      48:          9550         993200  sun.net.www.protocol.file.FileURLConnection
      49:         19600         940800  org.springframework.asm.Frame
      50:         22090         883600  com.serotonin.bacnet4j.util.sero.ByteQueue
      51:         37028         864280  [Ljava.lang.reflect.Type;
      52:         35583         853992  org.springframework.asm.Edge
      53:          1968         826856  [Ljava.util.concurrent.ConcurrentHashMap$Node;
      54:         25594         819008  java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
      55:         50928         814848  java.lang.Object
      56:         25147         804704  java.util.LinkedHashMap$LinkedValueIterator
      57:         24671         789472  java.util.LinkedList
      58:         49091         785456  org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
      59:         13853         775768  org.springframework.core.type.classreading.MethodMetadataReadingVisitor
      60:         13740         769440  jdk.internal.org.objectweb.asm.Item
      61:         31486         755664  java.util.Arrays$ArrayList
      62:         46717         747472  java.util.LinkedHashSet
      63:         17178         687120  java.lang.invoke.MethodType
      64:          9400         676800  java.lang.reflect.Field
      65:         27985         671640  sun.reflect.generics.tree.SimpleClassTypeSignature
      66:         26545         637080  sun.reflect.generics.visitor.Reifier
      67:          2806         628544  org.springframework.asm.MethodWriter
      68:         11198         627088  java.lang.invoke.LambdaFormEditor$Transform
      69:         24021         576504  sun.reflect.generics.factory.CoreReflectionFactory
      70:         23902         573648  sun.reflect.generics.parser.SignatureParser
      71:         10093         565208  java.util.zip.ZipFile$ZipFileInputStream
      72:         10089         564984  java.util.zip.ZipFile$ZipFileInflaterInputStream
      73:         23307         559368  sun.reflect.generics.scope.ClassScope
      74:         17324         554368  java.lang.invoke.MethodType$ConcurrentWeakInternSet$WeakEntry
      75:         13514         540560  java.util.HashMap$KeyIterator
      76:         16637         532384  java.lang.ref.WeakReference
      77:         13288         531520  java.util.HashMap$EntryIterator
      78:          6026         530288  sun.net.www.protocol.jar.JarURLConnection
      79:         16281         520992  java.util.RegularEnumSet
      80:         31992         511872  java.util.LinkedHashMap$LinkedKeySet
      81:         18654         507960  [Ljava.lang.annotation.Annotation;
      82:         15760         504320  org.springframework.util.ConcurrentReferenceHashMap$1
      83:         30116         498104  [Lsun.reflect.generics.tree.TypeArgument;
      84:          7673         491072  org.springframework.core.MethodParameter
      85:          5066         486336  sun.net.www.protocol.jar.URLJarFile$URLJarFileEntry
      86:         14914         477248  java.util.LinkedList$ListItr
      87:          5921         476640  [Ljava.util.WeakHashMap$Entry;
      88:          7171         458944  com.serotonin.timer.OrderedTaskInfo
      89:           394         452912  [Lorg.springframework.asm.SymbolTable$Entry;
      90:         18617         446808  org.springframework.core.annotation.AnnotatedElementUtils$MergedAnnotationAttributesProcessor
      91:         27787         444592  sun.reflect.generics.tree.ClassTypeSignature
      92:         11069         442760  sun.nio.cs.UTF_8$Decoder
      93:          6897         441408  java.util.regex.Matcher
      94:         13780         440960  org.springframework.core.annotation.AnnotationUtils$$Lambda$48/1194398327
      95:          5356         428480  sun.net.www.protocol.jar.URLJarFile
      96:          7588         424928  com.serotonin.bacnet4j.npdu.NPCI
      97:         19494         420832  [Lorg.springframework.asm.Type;
      98:         12977         415264  java.lang.reflect.WeakCache$CacheKey
      99:         17180         412320  org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource$DefaultCacheKey
     100:         12269         392608  java.util.Hashtable$Entry
    
    Total      16594285     2034054440
    
    

    After opening a browser window and logging in, greeted by the admin page and an immediate "connectivity lost, restoring connection" toast message that never permenantly resolves.
    It then takes about 3-5 minutes to max out

    
     num     #instances         #bytes  class name
    ----------------------------------------------
       1:      51017979     3130737016  [C
       2:      51017618     1224422832  java.lang.String
       3:      10175891      895478408  com.serotonin.m2m2.rt.event.EventInstance
       4:      20380459      550396632  [Ljava.lang.Object;
       5:      20352135      488451240  com.serotonin.m2m2.i18n.TranslatableMessage
       6:      10175862      325627584  com.serotonin.m2m2.rt.event.type.DataSourceEventType
       7:        469887      198080400  [B
       8:       1599229       87706096  [Lorg.h2.value.Value;
       9:       1248203       39942496  org.h2.result.RowImpl
      10:        425490       30635280  org.h2.value.ValueLobDb
      11:        828920       26525440  org.h2.result.SimpleRowValue
      12:             1       16777232  [Lorg.h2.util.CacheObject;
      13:         45454       15596376  [I
      14:         31155       12509192  [J
      15:        438464        7015424  org.h2.value.ValueInt
      16:        265342        6368208  org.h2.value.ValueLong
      17:        262144        6291456  org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor$Log4jEventWrapper
      18:         30244        5475296  [Lorg.h2.result.Row;
      19:         85336        3413440  java.util.LinkedHashMap$Entry
      20:          2874        3363200  [Lorg.h2.result.SearchRow;
      21:         30243        3145272  org.h2.index.PageDataLeaf
      22:         28393        2498584  java.lang.reflect.Method
      23:         28704        2297592  [Ljava.util.HashMap$Node;
      24:         66713        2134816  java.util.HashMap$Node
      25:         60656        1940992  java.util.concurrent.ConcurrentHashMap$Node
      26:         16839        1888904  java.lang.Class
      27:         23457        1313592  java.util.LinkedHashMap
      28:         33277        1064864  org.h2.store.Data
      29:           608         741064  [Ljava.util.concurrent.ConcurrentHashMap$Node;
      30:          8489         611208  org.springframework.core.annotation.AnnotationAttributes
      31:         26206         593480  [Ljava.lang.Class;
      32:          7131         513432  java.lang.reflect.Field
      33:         31170         498720  java.lang.Object
      34:         10792         476208  [Ljava.lang.String;
      35:         18951         454824  java.util.ArrayList
      36:          9363         449424  java.util.HashMap
      37:         15410         369840  org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource$DefaultCacheKey
      38:          4273         341840  java.lang.reflect.Constructor
      39:          9479         303328  java.util.LinkedList
      40:          9008         288256  java.util.Hashtable$Entry
      41:         11579         277896  java.util.LinkedList$Node
      42:         17155         274480  org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
      43:         11080         265920  org.h2.value.ValueRow
      44:          2851         228080  org.h2.index.PageBtreeLeaf
      45:          4539         181560  java.lang.ref.SoftReference
      46:          2998         167888  java.lang.Class$ReflectionData
      47:         10089         161424  java.util.LinkedHashMap$LinkedEntrySet
      48:          9949         159184  java.util.LinkedHashSet
      49:          3796         151840  javax.servlet.jsp.tagext.TagAttributeInfo
      50:          2614         146384  java.lang.invoke.MemberName
      51:          6080         145920  java.util.jar.Attributes$Name
      52:          5878         141072  sun.reflect.generics.tree.SimpleClassTypeSignature
      53:          3514         140560  java.util.TreeMap$Entry
      54:          2734         140264  [Ljava.lang.reflect.Method;
      55:             4         131136  [Ljava.util.concurrent.ForkJoinTask;
      56:          1807         130104  org.springframework.web.method.HandlerMethod$HandlerMethodParameter
      57:          3164         126560  jdk.nashorn.internal.runtime.CompiledFunction
      58:          2488         119424  org.springframework.core.ResolvableType
      59:          1796         114944  java.net.URL
      60:          5878         109584  [Lsun.reflect.generics.tree.TypeArgument;
      61:          1890         105840  jdk.nashorn.internal.runtime.ScriptFunction
      62:           488         105720  [Ljava.util.Hashtable$Entry;
      63:          4046          97104  sun.reflect.annotation.AnnotationInvocationHandler
      64:          1483          94912  java.util.concurrent.ConcurrentHashMap
      65:          3898          93696  [Lorg.springframework.core.annotation.AnnotationAttributes;
      66:          1056          92928  org.h2.table.Column
      67:          5702          91232  sun.reflect.generics.tree.ClassTypeSignature
      68:           543          91224  org.springframework.beans.factory.support.RootBeanDefinition
      69:          5543          88688  java.lang.Integer
      70:          1485          83160  java.security.Provider$Service
      71:          1904          76160  java.lang.invoke.BoundMethodHandle$Species_LL
      72:          4608          73728  java.util.LinkedHashMap$LinkedKeySet
      73:           973          70056  org.springframework.core.type.classreading.AnnotationMetadataReadingVisitor
      74:          2944          70008  [Ljava.lang.reflect.Type;
      75:          2890          69360  java.security.Provider$ServiceKey
      76:           650          67600  org.h2.mvstore.Chunk
      77:          4151          66416  java.util.jar.Attributes
      78:          2063          66016  java.lang.ref.WeakReference
      79:          2036          65152  com.serotonin.bacnet4j.obj.PropertyTypeDefinition
      80:          2002          64064  jdk.nashorn.internal.runtime.FinalScriptFunctionData
      81:          1099          61544  java.lang.Package
      82:           162          61088  [Ljdk.nashorn.internal.runtime.PropertyHashMap$Element;
      83:          1507          60280  java.lang.invoke.MethodType
      84:          1497          59880  java.lang.ref.Finalizer
      85:           710          58992  [Ljava.util.WeakHashMap$Entry;
      86:            41          58216  [Ljava.nio.ByteBuffer;
      87:          2464          56256  [Ljava.lang.reflect.Constructor;
      88:           308          54208  org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$ConfigurationClassBeanDefinition
      89:          1123          53904  org.springframework.util.ConcurrentReferenceHashMap$SoftEntryReference
      90:          1648          52736  java.lang.invoke.DirectMethodHandle
      91:          1638          52416  jdk.nashorn.internal.runtime.PropertyHashMap$Element
      92:          1624          51968  java.lang.invoke.LambdaForm$Name
      93:           205          50840  com.serotonin.m2m2.vo.DataPointVO
      94:           880          49280  org.springframework.core.type.classreading.MethodMetadataReadingVisitor
      95:          2036          48864  com.serotonin.bacnet4j.obj.ObjectPropertyTypeDefinition
      96:          1519          48608  java.util.concurrent.locks.ReentrantLock$NonfairSync
      97:           432          48384  org.springframework.context.annotation.ScannedGenericBeanDefinition
      98:          1511          48352  java.lang.ref.ReferenceQueue
      99:          1508          48256  java.lang.invoke.MethodType$ConcurrentWeakInternSet$WeakEntry
     100:          1147          45880  java.math.BigInteger
    
    Total     169664483     7108600472
    

    I've limited it to the first 100 and totals, just to save post space. The full outputs ~7k can be sent on if needed.

    htop when things max out:
    0_1576156299362_htop.png

    posted in User help read more
  • cbyrne

    @terrypacker Just updated the module and saw that you added the filename regex, thanks so much!

    posted in User help read more
  • cbyrne

    Upgraded to 3.7 and all of my data file sources were broken.

    Solution was to view the data source in the legacy view and click save. Nothing was changed before the save, but it seems to have worked.

    Logs from upgrade/restart:

    INFO 2019-12-06T00:23:42,336 (com.serotonin.m2m2.Lifecycle.loadLic:583) - Checking license...
    INFO 2019-12-06T00:23:42,688 (com.serotonin.m2m2.db.H2Proxy.initializeImpl:61) - Initializing H2 connection manager
    WARN 2019-12-06T00:23:44,204 (com.serotonin.m2m2.db.upgrade.DBUpgrade.checkUpgrade:98) - Upgrading 'core' from 28 to 29
    INFO 2019-12-06T00:23:44,205 (com.serotonin.m2m2.db.upgrade.DBUpgrade.createUpdateLogOutputStream:169) - Writing upgrade log to /home/mango/mango_install/logs/com.serotonin.m2m2.db.upgrade.Upgrade28.log
    INFO 2019-12-06T00:23:44,207 (com.serotonin.m2m2.db.upgrade.Upgrade28.upgrade:76) - No duplicate email addresses on users, no user email addresses modified.
    INFO 2019-12-06T00:23:44,462 (com.serotonin.m2m2.db.upgrade.DBUpgrade.checkUpgrade:38) - Starting instance with core version 3.7.2, schema v29
    INFO 2019-12-06T00:23:49,711 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:133) - Spring context 'runtimeContext' refreshed: org.springframework.context.annotation.AnnotationConfigApplicationContext@72fb989b
    INFO 2019-12-06T00:23:49,725 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextStarted:147) - Spring context 'runtimeContext' started: org.springframework.context.annotation.AnnotationConfigApplicationContext@72fb989b
    INFO 2019-12-06T00:23:50,042 (com.serotonin.m2m2.rt.DataSourceGroupInitializer.initialize:77) - Initializing 6 NORMAL priority data sources in 8 threads.
    ERROR 2019-12-06T00:23:50,152 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize:151) - null java.lang.NullPointerException: null at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize(DataFileDataSourceRT.java:117) ~[?:?] at com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup(RuntimeManagerImpl.java:356) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.DataSourceGroupInitializer$DataSourceSubGroupInitializer.run(DataSourceGroupInitializer.java:152) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?]
    ERROR 2019-12-06T00:23:50,261 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize:151) - null java.lang.NullPointerException: null at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize(DataFileDataSourceRT.java:117) ~[?:?] at com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup(RuntimeManagerImpl.java:356) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.DataSourceGroupInitializer$DataSourceSubGroupInitializer.run(DataSourceGroupInitializer.java:152) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?]
    ERROR 2019-12-06T00:23:50,281 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize:151) - null java.lang.NullPointerException: null at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize(DataFileDataSourceRT.java:117) ~[?:?] at com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup(RuntimeManagerImpl.java:356) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.DataSourceGroupInitializer$DataSourceSubGroupInitializer.run(DataSourceGroupInitializer.java:152) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?]
    ERROR 2019-12-06T00:23:50,350 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize:151) - null java.lang.NullPointerException: null at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize(DataFileDataSourceRT.java:117) ~[?:?] at com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup(RuntimeManagerImpl.java:356) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.DataSourceGroupInitializer$DataSourceSubGroupInitializer.run(DataSourceGroupInitializer.java:152) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?]
    ERROR 2019-12-06T00:23:50,365 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize:151) - null java.lang.NullPointerException: null at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.initialize(DataFileDataSourceRT.java:117) ~[?:?] at com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup(RuntimeManagerImpl.java:356) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.DataSourceGroupInitializer$DataSourceSubGroupInitializer.run(DataSourceGroupInitializer.java:152) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?]
    INFO 2019-12-06T00:23:50,641 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS4 took 575ms to start
    INFO 2019-12-06T00:23:52,347 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS2 took 2282ms to start
    INFO 2019-12-06T00:23:52,349 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS3 took 2284ms to start
    INFO 2019-12-06T00:23:54,689 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS1 - Main took 4623ms to start
    INFO 2019-12-06T00:23:56,263 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source Mango Internal took 6215ms to start
    INFO 2019-12-06T00:23:58,333 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS5 - Main took 8289ms to start
    INFO 2019-12-06T00:23:58,411 (com.serotonin.m2m2.rt.DataSourceGroupInitializer.initialize:109) - Initialization of 6 NORMAL priority data sources took 8369ms
    WARN 2019-12-06T00:23:58,485 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll:368) - java.lang.NullPointerException com.serotonin.ShouldNeverHappenException: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadFileFailed(DataFileDataSourceRT.java:561) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:311) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFiles(DataFileDataSourceRT.java:238) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll(DataFileDataSourceRT.java:354) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPollNoSync(DataFileDataSourceRT.java:335) ~[?:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.scheduleTimeoutImpl(PollingDataSource.java:183) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource$1.scheduleTimeout(PollingDataSource.java:85) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.util.timeout.TimeoutTask.run(TimeoutTask.java:59) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection.run(OrderedThreadPoolExecutor.java:314) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:260) ~[?:?] ... 12 more
    WARN 2019-12-06T00:23:58,501 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll:368) - java.lang.NullPointerException com.serotonin.ShouldNeverHappenException: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadFileFailed(DataFileDataSourceRT.java:561) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:311) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFiles(DataFileDataSourceRT.java:238) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll(DataFileDataSourceRT.java:354) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPollNoSync(DataFileDataSourceRT.java:335) ~[?:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.scheduleTimeoutImpl(PollingDataSource.java:183) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource$1.scheduleTimeout(PollingDataSource.java:85) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.util.timeout.TimeoutTask.run(TimeoutTask.java:59) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection.run(OrderedThreadPoolExecutor.java:314) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:260) ~[?:?] ... 12 more
    WARN 2019-12-06T00:23:58,624 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll:368) - java.lang.NullPointerException com.serotonin.ShouldNeverHappenException: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadFileFailed(DataFileDataSourceRT.java:561) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:311) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFiles(DataFileDataSourceRT.java:238) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll(DataFileDataSourceRT.java:354) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPollNoSync(DataFileDataSourceRT.java:335) ~[?:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.scheduleTimeoutImpl(PollingDataSource.java:183) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource$1.scheduleTimeout(PollingDataSource.java:85) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.util.timeout.TimeoutTask.run(TimeoutTask.java:59) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection.run(OrderedThreadPoolExecutor.java:314) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:260) ~[?:?] ... 12 more
    INFO 2019-12-06T00:23:58,739 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initialize:176) - Starting 0 Publishers...
    INFO 2019-12-06T00:23:58,739 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initialize:188) - 0 Publisher's started in 3ms
    INFO 2019-12-06T00:24:01,964 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:133) - Spring context 'rootWebContext' refreshed: Root WebApplicationContext
    INFO 2019-12-06T00:24:03,906 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:133) - Spring context 'jspDispatcherContext' refreshed: WebApplicationContext for namespace 'JSP_DISPATCHER-servlet'
    INFO 2019-12-06T00:24:04,246 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: ModbusPublisherDwr
    INFO 2019-12-06T00:24:04,247 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: Log4jEditDwr
    INFO 2019-12-06T00:24:04,247 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: OPCDAEditDwr
    INFO 2019-12-06T00:24:04,247 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: TcpIpDataSourceEditDwr
    INFO 2019-12-06T00:24:04,247 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: ModbusEditDwr
    INFO 2019-12-06T00:24:04,247 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: MBusEditDwr
    INFO 2019-12-06T00:24:04,247 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: VirtualEditDwr
    INFO 2019-12-06T00:24:04,247 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: GraphicalViewDwr
    INFO 2019-12-06T00:24:04,247 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: MaintenanceEventsDwr
    INFO 2019-12-06T00:24:04,248 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: ControlCoreEditDwr
    INFO 2019-12-06T00:24:04,248 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: ScheduledEventsDwr
    INFO 2019-12-06T00:24:04,248 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: ScriptingEditDwr
    INFO 2019-12-06T00:24:04,248 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: BACnetMSTPEditDwr
    INFO 2019-12-06T00:24:04,248 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: DataFileDataSourceEditDwr
    INFO 2019-12-06T00:24:04,248 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: Log4JResetDwr
    INFO 2019-12-06T00:24:04,248 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: BACnetIPEditDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: EgaugeDataSourceDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: GlobalScriptsDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: PersistentPublisherDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: SqlEditDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: MetaEditDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: InternalEditDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: WatchListDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: TwilioPublisherDwr
    INFO 2019-12-06T00:24:04,249 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: AsciiFileEditDwr
    INFO 2019-12-06T00:24:04,250 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: EnvCanEditDwr
    INFO 2019-12-06T00:24:04,250 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: M2MReportImportDwr
    INFO 2019-12-06T00:24:04,250 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: LoggingConsoleDwr
    INFO 2019-12-06T00:24:04,250 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: PakBusEditDwr
    INFO 2019-12-06T00:24:04,250 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: HttpDataSourceDwr
    INFO 2019-12-06T00:24:04,250 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: SshDataSourceEditDwr
    INFO 2019-12-06T00:24:04,250 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: ReportsDwr
    INFO 2019-12-06T00:24:04,250 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: Pop3EditDwr
    INFO 2019-12-06T00:24:04,251 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: SerialEditDwr
    INFO 2019-12-06T00:24:04,260 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: PointLinksDwr
    INFO 2019-12-06T00:24:04,260 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: SNMPEditDwr
    INFO 2019-12-06T00:24:04,260 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: HttpPublisherDwr
    INFO 2019-12-06T00:24:04,260 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: DnpEditDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: VMStatEditDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: PersistentDataSourceDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: OneWireEditDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: StartupDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: BACnetPublisherDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: TemplateConfigDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: JSONFileImporterEditDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: LocalDeviceDwr
    INFO 2019-12-06T00:24:04,261 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: ThreadsDwr
    INFO 2019-12-06T00:24:04,262 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: MangoApiSystemSettingsDwr
    INFO 2019-12-06T00:24:04,262 (com.infiniteautomation.mango.webapp.servlets.MangoDwrServlet.configureDwr:101) - Added DWR definition for: HaystackDataSourceDwr
    INFO 2019-12-06T00:24:04,377 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:133) - Spring context 'restDispatcherContext' refreshed: WebApplicationContext for namespace 'REST_DISPATCHER-servlet'
    INFO 2019-12-06T00:24:05,699 (com.serotonin.m2m2.web.mvc.rest.v1.BacnetDiscoveryRestController.:54) - Creating Discovery Rest Controller
    INFO 2019-12-06T00:24:07,593 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:133) - Spring context 'restV1Context' refreshed: WebApplicationContext for namespace 'restV1DispatcherServlet-servlet'
    INFO 2019-12-06T00:24:12,406 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:133) - Spring context 'restV2Context' refreshed: WebApplicationContext for namespace 'restV2DispatcherServlet-servlet'
    WARN 2019-12-06T00:28:58,515 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll:368) - java.lang.NullPointerException com.serotonin.ShouldNeverHappenException: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadFileFailed(DataFileDataSourceRT.java:561) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:311) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFiles(DataFileDataSourceRT.java:238) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll(DataFileDataSourceRT.java:354) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPollNoSync(DataFileDataSourceRT.java:335) ~[?:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.scheduleTimeoutImpl(PollingDataSource.java:183) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource$1.scheduleTimeout(PollingDataSource.java:85) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.util.timeout.TimeoutTask.run(TimeoutTask.java:59) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection.run(OrderedThreadPoolExecutor.java:314) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:260) ~[?:?] ... 12 more
    WARN 2019-12-06T00:33:58,515 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll:368) - java.lang.NullPointerException com.serotonin.ShouldNeverHappenException: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadFileFailed(DataFileDataSourceRT.java:561) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:311) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFiles(DataFileDataSourceRT.java:238) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll(DataFileDataSourceRT.java:354) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPollNoSync(DataFileDataSourceRT.java:335) ~[?:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.scheduleTimeoutImpl(PollingDataSource.java:183) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource$1.scheduleTimeout(PollingDataSource.java:85) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.util.timeout.TimeoutTask.run(TimeoutTask.java:59) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection.run(OrderedThreadPoolExecutor.java:314) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:260) ~[?:?] ... 12 more
    INFO 2019-12-06T00:37:47,694 (com.serotonin.m2m2.rt.RuntimeManagerImpl.stopDataSourceShutdown:447) - Data source 'DS3' stopped
    INFO 2019-12-06T00:37:47,736 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS3 took 29ms to start
    WARN 2019-12-06T00:38:58,454 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll:368) - java.lang.NullPointerException com.serotonin.ShouldNeverHappenException: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadFileFailed(DataFileDataSourceRT.java:561) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:311) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFiles(DataFileDataSourceRT.java:238) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll(DataFileDataSourceRT.java:354) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPollNoSync(DataFileDataSourceRT.java:335) ~[?:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.scheduleTimeoutImpl(PollingDataSource.java:183) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource$1.scheduleTimeout(PollingDataSource.java:85) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.util.timeout.TimeoutTask.run(TimeoutTask.java:59) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection.run(OrderedThreadPoolExecutor.java:314) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:260) ~[?:?] ... 12 more
    WARN 2019-12-06T00:38:58,509 (com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll:368) - java.lang.NullPointerException com.serotonin.ShouldNeverHappenException: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadFileFailed(DataFileDataSourceRT.java:561) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:311) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFiles(DataFileDataSourceRT.java:238) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPoll(DataFileDataSourceRT.java:354) ~[?:?] at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.doPollNoSync(DataFileDataSourceRT.java:335) ~[?:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.scheduleTimeoutImpl(PollingDataSource.java:183) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource$1.scheduleTimeout(PollingDataSource.java:85) ~[mango-3.7.2.jar:?] at com.serotonin.m2m2.util.timeout.TimeoutTask.run(TimeoutTask.java:59) ~[mango-3.7.2.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.2.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.2.jar:?] at com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection.run(OrderedThreadPoolExecutor.java:314) ~[mango-3.7.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.lang.NullPointerException at com.infiniteautomation.datafilesource.rt.DataFileDataSourceRT.loadNewFile(DataFileDataSourceRT.java:260) ~[?:?] ... 12 more
    INFO 2019-12-06T00:39:03,410 (com.serotonin.m2m2.rt.RuntimeManagerImpl.stopDataSourceShutdown:447) - Data source 'DS4' stopped
    INFO 2019-12-06T00:39:03,442 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS4 took 25ms to start
    INFO 2019-12-06T00:39:37,180 (com.serotonin.m2m2.rt.RuntimeManagerImpl.stopDataSourceShutdown:447) - Data source 'DS2' stopped
    INFO 2019-12-06T00:39:37,205 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS2 took 4ms to start
    INFO 2019-12-06T00:41:18,326 (com.serotonin.m2m2.rt.RuntimeManagerImpl.stopDataSourceShutdown:447) - Data source 'DS5 - Main' stopped
    INFO 2019-12-06T00:41:21,120 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS5 - Main took 2784ms to start
    INFO 2019-12-06T00:43:44,930 (com.serotonin.m2m2.rt.RuntimeManagerImpl.stopDataSourceShutdown:447) - Data source 'DS1 - Main' stopped
    INFO 2019-12-06T00:43:45,574 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initializeDataSourceStartup:408) - Data source DS1 - Main took 632ms to start 
    

    The new datasource data file page itself has issues:

    • The help question mark bubble opens a blank help page
    • When adding poll arguments, you can't delete the first thing you add

    Image showing both issues:

    0_1575594615723_Selection_001.png

    Since there seems to be work being done on the data file module, I would like to request again that it only looks for "*.csv" files or incorporates some form of wildcard file selection. Some of our devices have the ability to create/use files in the same directory/sub-directory as their FTP csv drop and this currently breaks the import as mango tries to import everything.

    Thanks,
    C

    posted in User help read more
  • cbyrne

    @phildunlap Thanks Phil! The naming was just for show, it's named differently in our system for the exact reason you gave. Thanks for the note about permissions, fixed now.

    posted in User help read more
  • cbyrne

    Finally got a working solution. Posted the basic custom module below for anyone else who comes across this thread.

    define(['angular', 'require'], function(angular, require) {
    'use strict';
    
    var userModule = angular.module('userModule', ['maUiApp']);
    
    userModule.component('userComponent', {
        bindings: {},
        controller: ['$scope', '$http', 
            function($scope, $http){
                $scope.msg = null;
                $scope.sendPost = function(point_xid, date_from, date_to, email_recipients){
                    var from = JSON.stringify(date_from);
                    var to = JSON.stringify(date_to);
                    var emails = JSON.stringify(email_recipients);
                    var script = "send_HTTP_debug(point_xid, " + from + ", " + to + ", " + emails + ")"
    
                    var address= "/rest/v2/script/run";
                    var content = {'Content-Type': 'application/json;charset=UTF-8'};
                    var data = {
                          "context": [
                            {
                              "contextUpdate": true,
                              "variableName": "point_xid",
                              "xid": point_xid
                            },
                          ],
                          "logLevel": "DEBUG",
                          "permissions": [
                            "admin"
                          ],
                          "script": script,
                          "wrapInFunction": true
                    };
                    function success(response){$scope.msg=response;};
                    function error(response){$scope.msg=response;};
    
                    $http.post(address, JSON.stringify(data),content).then(success, error);
                };
            }],
        template: '\
        <div flex layout="column">\
            <md-input-container md-no-float="">\
                <label>Point</label>\
                <ma-point-list ng-model="point" query="query_tmpVal" start="start_tmpVal" limit="limit_tmpVal" sort="sort_tmpVal"></ma-point-list>\
            </md-input-container>\
            <div flex layout="row">\
                <md-input-container style="flex-grow:1">\
                <label>From</label>\
                    <ma-date-picker ng-model="date_from" mode="date" format="DD/MM/YYYY"></ma-date-picker>\
                </md-input-container>\
                <div style="width="10vw">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>\
                <md-input-container style="flex-grow:1">\
                    <label>To</label>\
                    <ma-date-picker ng-model="date_to" mode="date" format="DD/MM/YYYY"></ma-date-picker>\
                </md-input-container>\
            </div>\
            <md-input-container>\
                <ma-email-recipients ng-model="email_recipients"></ma-email-recipients>\
            </md-input-container>\
            <md-button class="md-primary md-raised" ng-click="sendPost(point.xid, date_from, date_to, email_recipients)">Request Report</md-button>\
            <p>{{msg}}</p>\
        </div>\
        '
    });
    
    return userModule;
    
    }); // define
    

    posted in User help read more
  • cbyrne

    @phildunlap After some work I got a little further but I've hit a stumbling block with the POST data spec

    {
      "context": [
        {
          "contextUpdate": true,
          "variableName": "string",
          "xid": "string"
        }
      ],
      "logLevel": "TRACE",
      "permissions": [
        "string"
      ],
      "resultDataType": "string",
      "script": "string",
      "wrapInFunction": true
    }
    

    The global function I want to call is something like send_http(point, start_time, end_time, email_addresses) and I have the four parameters. The point I presume I can send as the context, but I don't know how to send the other parameters.

    posted in User help read more
  • cbyrne

    @phildunlap thanks Phil, could you give me an example of how exactly to call the $http.post request? Sorry, I'm not fluent with angular at all. What I can find online does the whole var app = angular.module... boilerplate but I know I'm already in that context in the dashboard designer so I'm note sure how to define the function as I usually would in a scripting context.

    posted in User help read more
  • cbyrne

    Could anyone tell me how to call a global script from a dashboard?

    The layout would be pretty simple:

    • point selector
    • date range picker
    • email recipients
    • button

    The script takes values from the point selector, date range picker and email recipients. This I know how to do but I just don't know how to call the global script as the on-click action of the button.

    Thanks!

    posted in User help read more
  • cbyrne

    @phildunlap Hey Philip, it's actually the data point copy that throws the error, data source copies just fine. I have observed the same error over two separate installations running 3.6.4

    It also doesn't seem to depend on the data source type.

    posted in User help read more
  • cbyrne

    I'm using Data File sources which are still handled through the legacy UI. From a quick test, I don't think the new UI has this issue.

    Relevant console log:

    ERROR 2019-08-29T17:18:12,275 (com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter.doFilter:38) - DWR invocation exception com.serotonin.m2m2.vo.permission.PermissionException: Subclass DWRs must implement method to use 
    at com.serotonin.m2m2.web.dwr.AbstractDwr.getCopy(AbstractDwr.java:182) ~[mango-3.6.4.jar:?] 
    at com.serotonin.m2m2.web.dwr.DataPointDwr.getCopy(DataPointDwr.java:268) ~[mango-3.6.4.jar:?] 
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] 
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] 
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] 
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] 
    at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34) ~[dwr-2.0.11.jar:?] 
    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) ~[dwr-2.0.11.jar:?] 
    at com.serotonin.m2m2.web.dwr.util.TranslationsFilter.doFilter(TranslationsFilter.java:37) ~[mango-3.6.4.jar:?] 
    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) ~[dwr-2.0.11.jar:?] 
    at com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter.doFilter(ExceptionDetectionFilter.java:26) ~[mango-3.6.4.jar:?] 
    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) ~[dwr-2.0.11.jar:?] 
    at com.serotonin.m2m2.web.dwr.util.DwrPermissionFilter.doFilter(DwrPermissionFilter.java:46) ~[mango-3.6.4.jar:?] 
    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) ~[dwr-2.0.11.jar:?] 
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431) ~[dwr-2.0.11.jar:?] 
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283) ~[dwr-2.0.11.jar:?] 
    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52) ~[dwr-2.0.11.jar:?] 
    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101) ~[dwr-2.0.11.jar:?] 
    at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146) ~[dwr-2.0.11.jar:?] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) ~[javax.servlet-api-3.1.0.jar:3.1.0] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0] 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655) ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:108) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE] 
    at com.serotonin.m2m2.web.filter.MangoShallowEtagHeaderFilter.doFilterInternal(MangoShallowEtagHeaderFilter.java:95) ~[mango-3.6.4.jar:?] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:200) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at com.serotonin.m2m2.web.mvc.spring.security.RateLimitingFilter.doFilterInternal(RateLimitingFilter.java:56) ~[mango-3.6.4.jar:?] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at com.serotonin.m2m2.web.mvc.spring.security.PermissionExceptionFilter.doFilter(PermissionExceptionFilter.java:34) ~[mango-3.6.4.jar:?] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:155) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:74) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE] 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) ~[spring-security-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] 
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE] 
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[jetty-security-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:740) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.Server.handle(Server.java:503) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) ~[jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] 
    at java.lang.Thread.run(Thread.java:834) [?:?] 
    

    posted in User help read more
  • cbyrne

    @phildunlap Cool cool cool, sounds like a nice solution. Thanks for keeping us in the loop!

    posted in User help read more
  • cbyrne

    @phildunlap Thanks Phil, much appreciated!

    Similarly, would you consider adding a last_value-first value to the mango statistics object?

    There already are the values Start, First, and Last in terms of values. They are formally defined here: https://help.infiniteautomation.com/mango-rollups-and-statistics

    I should have been more specific on what I meant, I mean could the statistics object include a value which is equal to the last value minus the start value for the time period, essentially, the consumption or delta in my terms. For example, on the point details page in the point statistics card, it would be great to have one more value, the delta/consumption. But this is minor to the original issue.

    posted in User help read more