アーティクル - CS321821

関連するキューが ThingWorx Platform でいっぱいの場合、Remote Things の lastConnectionTime プロパティを更新すると、デッドロック シナリオが作成される可能性があります

修正日: 22-Nov-2022   


注記:ここに記載されている情報は、お客様の利便性向上のため機械翻訳ソフトを使用しています。PTCは、ここに記載されている情報の翻訳の正確性について、一切の責任を負いませんので、ご了承ください。英語の原文を参照するには、こちら。この機械翻訳に関する詳細は、こちら。
お知らせいただき、ありがとうございます。この機械翻訳をレビューします。

適用対象

  • ThingWorx Platform 8.1 to 8.5

説明

  • 多数の Remote Thing が一度に接続すると ThingWorx Platform が不安定になる
  • lastConnectionTimeプロパティの更新は、ThingWorx のパフォーマンスに関連しているようです
  • ThingWorx プラットフォームのパフォーマンスが低い
  • ThingWorx Platform が動作を停止し、Composer にアクセスできなくなりました
  • スレッド ダンプは、java.util.concurrent.locks.ReentrantLock$NonfairSync で待機している多数のスレッドを示しています。
    • ブロックされたスレッド
      "https-jsse-nio-8443-exec-85" tid=0x7746d in WAITINGBlocked: 2696[-1ms], Waited: 879194[-1ms]
      User CPU: 35m26s
          - synchronizer <0x143fa594> (a java.util.concurrent.ThreadPoolExecutor$Worker)
          at sun.misc.Unsafe.park(Native Method)
          - waiting on <0x37c62d09> (a java.util.concurrent.locks.ReentrantLock$NonfairSync), held by https-jsse-nio-8443-exec-84
          at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
          at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
          at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
          at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
          at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
          at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
          at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.processBindMessage(DispatchingServerCommunicationModule.java:471)
          at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.processCompletedBindMessage(DispatchingServerCommunicationModule.java:348)
          at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.processBindRequestMessage(DispatchingServerCommunicationModule.java:267)
          at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.process(DispatchingServerCommunicationModule.java:146)
          at com.thingworx.communications.server.endpoints.DispatchingServerEndpoint.messageReceived(DispatchingServerEndpoint.java:116)
          at com.thingworx.communications.server.connection.jsr356.Jsr356ServerConnection.onMessage(Jsr356ServerConnection.java:338)
          at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43
      • ロックスレッド:
        "https-jsse-nio-8443-exec-84" tid=0x77467 in WAITINGBlocked: 2755[-1ms], Waited: 881187[-1ms]
        User CPU: 38m20s
            - synchronizer <0x37c62d09> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
            - synchronizer <0x3f476c55> (a java.util.concurrent.ThreadPoolExecutor$Worker)
            at sun.misc.Unsafe.park(Native Method)
            - waiting on <0x6f66f64> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
            at java.util.concurrent.LinkedBlockingDeque.putLast(LinkedBlockingDeque.java:396)
            at java.util.concurrent.LinkedBlockingDeque.put(LinkedBlockingDeque.java:649)
            at com.thingworx.persistence.provider.StreamEntryProcessor.queueEntry(StreamEntryProcessor.java:142)
            at com.thingworx.system.managers.ThingManager$PersistentPropertyCache.put(ThingManager.java:796)
            at com.thingworx.things.Thing.rawSetPropertyVTQ(Thing.java:4103)
            at com.thingworx.things.Thing.rawSetPropertyVTQ(Thing.java:4063)
            at com.thingworx.things.connected.RemoteThing.updateLastConnection(RemoteThing.java:322)
            at com.thingworx.things.connected.RemoteThing.setConnected(RemoteThing.java:291)
            at com.thingworx.things.connected.RemoteThing.setCommunicationEndpoint(RemoteThing.java:359)
            at com.thingworx.things.connected.RemoteThing.bindEndpoint(RemoteThing.java:419)
        	...
      最新バージョンはこちらを参照ください CS321821