技术文章 - CS324718
java.util.ConcurrentModificationException:在 ThingWorx 中每 5 分钟记录一次 null
已修改: 06-Jan-2023
适用于
- ThingWorx Platform 8.1 to 9.0
说明
- Application.log充满错误:
[1,018] 数据存储未知错误:[访问属性提供程序时发生错误。]
无法保留条目,因为 [1,018] 数据存储未知错误:[访问属性提供程序时发生错误。]
- 5-10 分钟后重复错误
- Error.log包含以下内容:
[L: ERROR] [O: EcqlcLogger] [I: ] [U: SuperUser] [S: ] [P: ] [T: pool-18-thread-20] [1,018] 数据存储未知错误:[Error occurred while访问属性提供者。] java.util.ConcurrentModificationException: null
在 java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
在 java.util.ArrayList$Itr.next(ArrayList.java:859)
在 com.thingworx.types.InfoTable.toBinary(InfoTable.java:1184)
在 com.thingworx.types.InfoTable.writeToStream(InfoTable.java:1279)
在 com.thingworx.types.primitives.InfoTablePrimitive.writeToStream(InfoTablePrimitive.java:260)
在 com.thingworx.types.BaseTypes.WritePrimitiveToByteArray(BaseTypes.java:963)
在 com.thingworx.persistence.postgres.PostgresPersistencePropertyProvider.setPreparedStatementUpsertValues(PostgresPersistencePropertyProvider.java:155)
在 com.thingworx.persistence.postgres.PostgresPersistencePropertyProvider.updateProperty(PostgresPersistencePropertyProvider.java:107)
... 省略了 11 个常见框架
包装者:com.thingworx.common.exceptions.PropertyAccessException:[1,018] 数据存储未知错误:[访问属性提供程序时发生错误。]
在 com.thingworx.persistence.postgres.PostgresPropertyExceptionTranslator.rethrowTranslated(PostgresPropertyExceptionTranslator.java:27)
在 com.thingworx.persistence.postgres.PostgresPersistencePropertyProvider.updateProperty(PostgresPersistencePropertyProvider.java:133)
在 com.thingworx.persistence.postgres.PostgresPersistencePropertyProvider.setPropertyVTQ(PostgresPersistencePropertyProvider.java:86)
在 com.thingworx.persistence.provider.PersistentPropertyDataProcessor.persistEntries(PersistentPropertyDataProcessor.java:114)
在 com.thingworx.persistence.provider.DefaultStreamEntryProcessor.processEntries(DefaultStreamEntryProcessor.java:27)
在 com.thingworx.persistence.provider.StreamEntryProcessor$StreamQueueChecker.run(StreamEntryProcessor.java:515)
在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在 java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
在 java.lang.Thread.run(Thread.java:748)
在 java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
在 java.util.ArrayList$Itr.next(ArrayList.java:859)
在 com.thingworx.types.InfoTable.toBinary(InfoTable.java:1184)
在 com.thingworx.types.InfoTable.writeToStream(InfoTable.java:1279)
在 com.thingworx.types.primitives.InfoTablePrimitive.writeToStream(InfoTablePrimitive.java:260)
在 com.thingworx.types.BaseTypes.WritePrimitiveToByteArray(BaseTypes.java:963)
在 com.thingworx.persistence.postgres.PostgresPersistencePropertyProvider.setPreparedStatementUpsertValues(PostgresPersistencePropertyProvider.java:155)
在 com.thingworx.persistence.postgres.PostgresPersistencePropertyProvider.updateProperty(PostgresPersistencePropertyProvider.java:107)
... 省略了 11 个常见框架
包装者:com.thingworx.common.exceptions.PropertyAccessException:[1,018] 数据存储未知错误:[访问属性提供程序时发生错误。]
在 com.thingworx.persistence.postgres.PostgresPropertyExceptionTranslator.rethrowTranslated(PostgresPropertyExceptionTranslator.java:27)
在 com.thingworx.persistence.postgres.PostgresPersistencePropertyProvider.updateProperty(PostgresPersistencePropertyProvider.java:133)
在 com.thingworx.persistence.postgres.PostgresPersistencePropertyProvider.setPropertyVTQ(PostgresPersistencePropertyProvider.java:86)
在 com.thingworx.persistence.provider.PersistentPropertyDataProcessor.persistEntries(PersistentPropertyDataProcessor.java:114)
在 com.thingworx.persistence.provider.DefaultStreamEntryProcessor.processEntries(DefaultStreamEntryProcessor.java:27)
在 com.thingworx.persistence.provider.StreamEntryProcessor$StreamQueueChecker.run(StreamEntryProcessor.java:515)
在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在 java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
在 java.lang.Thread.run(Thread.java:748)
这是文章 324718 的 PDF 版本,可能已过期。最新版本 CS324718