アーティクル - CS239982
ThingWorx が更新の永続化に失敗し、「データ プロバイダーへのアクセス中にエラーが発生しました」というエラーが返される
修正日: 13-Mar-2024
適用対象
- ThingWorx Platform 7.0 to 9.7
説明
- ThingWorx でカスタム サービスを実行しているときに、データ プロバイダーへのアクセス中にエラーが発生しました。エラー メッセージがThingworxStorage/logs/ApplicationLog.logに返されました。
- 移行/アップグレード後に ThingWorx の更新が失敗する
- ThingworxStorage/logs/ApplicationLog.logでDataTableサービスAddDataTableEntriesを実行中のエラー:
Unable to Invoke Service AddDataTableEntries on <DataTableName>: com.tingworx.common.exceptions.DataAccessException:[1,018] Data store unknown error: [Error occurred while accessing the data provider.]
- ThingworxStorage/logs/ApplicationLog.logのエラーにより、ThingWorx サーバーが一時的に動作不能になりました。
[message: [1,018] Data store unknown error: [Error occurred while accessing the model provider.]] Transactions could not be committed.
- ThingWorx では 1 日に数百件のデータベース デッドロックが発生しています
- ThingworxStorage/logs/ErrorLog.log は、デッドロックが主にmodel_index_pkeyインデックスで生成されたことを示しています。
com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 60) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction
- Tomcat を再起動すると、モデル プロバイダーの問題が一時的に解決されます
- アプリケーション ログに多くのBatchUpdateExceptionエラーがありました。
[L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: SuperUser] [S: ] [P: <HA_node_name>] [T: pool-31-thread-10] BatchUpdateException error occurred executing batch update of persistent properties [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: SuperUser] [S: ] [P: <HA_node_name>] [T: pool-31-thread-10] Could not commit the transaction. Rolling back... [L: ERROR] [O: E.c.q.l.c.Logger] [I: ] [U: SuperUser] [S: ] [P: <HA_node_name>] [T: pool-31-thread-10] Error occurred during commit for the ThingworxPersistenceProvider persistence provider. [L: ERROR] [O: E.c.t.p.p.PostgresModelExceptionTranslator] [I: ] [U: SuperUser] [S: ] [P: <HA_node_name>] [T: pool-19-thread-58] An I/O error occurred while sending to the backend.
最新バージョンはこちらを参照ください CS239982