Article - CS381777

InfluxDB Persistence Providers should support initial first-time connection retry attempts in ThingWorx Platform

Modified: 18-Nov-2024   


Applies To

  • ThingWorx Platform 9.3 to 9.6
  • InfluxDB

Description

  • InfluxDB (Influx) Persistence Provider fails to start during ThingWorx platform restart
    Data is not written to InfluxDB
  • InfluxDB Persistence Provider does not retry database connections if the initial connection attempt fails
  • Retry parameters that are present on other Persistence Providers (such as PostgresPersistenceProviderPackage) are not present on the InfluxPersistenceProviderPackage or Influx2PersistenceProviderPackage
  • Influx Persistence Provider > Configuration tab is missing the following retry parameters
    • Acquire Retry Attempts
    • Acquire Retry Delay
  • One of following errors are logged within the ThingWorx logs located in <ThingworxStorage>\logs
    • ApplicationLog.log
      • [L: ERROR] [O: c.t.p.i.Influxdb2DataExceptionTranslator] [I: ] [U: SuperUser] [S: ] [P: ] [T: ForkJoinPool-2-worker-51] runtime error @4:5-4:36: distinct: schema collision: cannot group float and boolean types together
        [L: ERROR] [O: c.t.s.m.BaseManager] [I: ] [U: SuperUser] [S: ] [P: ] [T: ForkJoinPool-2-worker-51] Unable To Initialize Entity <Influx Persistence Provider> in PersistenceProviders: runtime error @4:5-4:36: distinct: schema collision: cannot group float and boolean types together
      • [L: ERROR] [O: c.t.p.i.InfluxdbDataExceptionTranslator] [I: ] [U: SuperUser] [S: ] [P: ] [T: ForkJoinPool-2-worker-45] java.net.SocketTimeoutException: Read timed out
        [L: ERROR] [O: c.t.s.m.BaseManager] [I: ] [U: SuperUser] [S: ] [P: ] [T: ForkJoinPool-2-worker-45] Unable To Initialize Entity <Influx Persistence Provider> in PersistenceProviders: java.net.SocketTimeoutException: Read timed out
      • [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: SuperUser] [S: ] [P: ] [T: ForkJoinPool-3-worker-3] java.net.SocketTimeoutException: timeout 
        [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: SuperUser] [S: ] [P: ] [T: ForkJoinPool-3-worker-3] Unable To Initialize Entity <Influx Persistence Provider> in PersistenceProviders: java.net.SocketTimeoutException: timeout 
    • ErrorLog.log
      • [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: SuperUser] [S: ] [P: ] [T: TWEventProcessor-12] [1,018] Data store unknown error: [Error occurred while accessing the data provider.] java.lang.NullPointerException: null
        	at com.thingworx.persistence.influxdb.dao.InfluxdbValueStreamDao.getEntries(InfluxdbValueStreamDao.java:226)
        	... 45 common frames omitted
        Wrapped by: com.thingworx.common.exceptions.DataAccessException: [1,018] Data store unknown error: [Error occurred while accessing the data provider.]
        	at com.thingworx.persistence.influxdb.InfluxdbDataExceptionTranslator.rethrowTranslated(InfluxdbDataExceptionTranslator.java:34)
        	at com.thingworx.persistence.influxdb.dao.InfluxdbValueStreamDao.getEntries(InfluxdbValueStreamDao.java:239)
        	at com.thingworx.persistence.influxdb.dataprovider.InfluxdbValueStreamDataProvider.queryValueCollections(InfluxdbValueStreamDataProvider.java:204)
        	at com.thingworx.persistence.common.ValueStreamEngine.lambda$queryEntries$11(ValueStreamEngine.java:306)
        	at com.thingworx.persistence.TransactionFactory.supplyInTransaction(TransactionFactory.java:182)
                ...
This is a printer-friendly version of Article 381777 and may be out of date. For the latest version click CS381777