000030658 - The RSA Governance and Lifecycle AFX Test Connector Settings button results in timeout although Test Connector capabilities work (or vice versa)

Document created by RSA Customer Support Employee on Jul 5, 2016Last modified by RSA Customer Support Employee on Apr 22, 2017
Version 4Show Document
  • View in full screen mode

Article Content

Article Number000030658
Applies ToRSA Product Set: Identity Management and Governance
RSA Product/Service Type: Enterprise Software
RSA Version/Condition: 6.9.x, 7.0.x
Issue
  • The AFX Test Connector Settings button results in timeout although Test Connector Capabilities works and can add accounts.
  • This issue has also occurred after an AFX server crashed with insufficient disk space. After the space issue was resolved, AFX came up apparently fine, but this time the Test Connector Settings button was successful and the Test Connector Capabilities had a timeout. 
  • For this issue to match all connections utilizing the same AFX Connector type would fail regardless of the target host.  Even targeting an invalid hostname results in a timeout instead of the expected connection failure messages.
  • There are no useful logs within the AFX/Mule directory structure.
  • Collect and examine the activemq.log under <install path>/AFX/activemq/data and look for errors resembling:

2015-06-25 20:41:15,780 | ERROR | Failed to fill batch | org.apache.activemq.broker.region.cursors.AbstractStoreCursor | 
Queue:AFX-SETTINGS-MySQL-Database
java.lang.RuntimeException: java.lang.ClassCastException: org.apache.activemq.store.kahadb.data.KahaProducerAuditCommand
cannot be cast to org.apache.activemq.store.kahadb.data.KahaAddMessageCommand
    at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:265)
    at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:110)
    at org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157)
    at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1678)
    at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1898)
    at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1425)
    at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
    at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
Caused by: java.lang.ClassCastException: org.apache.activemq.store.kahadb.data.KahaProducerAuditCommand cannot be cast to
org.apache.activemq.store.kahadb.data.KahaAddMessageCommand
    at org.apache.activemq.store.kahadb.KahaDBStore.loadMessage(KahaDBStore.java:956)
    at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:494)
    at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
    at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:485)
    at org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:88)
    at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97)
    at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:262)
    ... 7 more
2015-06-25 20:41:15,781 | ERROR | Failed to page in more queue messages  | org.apache.activemq.broker.region.Queue |
Queue:AFX-SETTINGS-MySQL-Database
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: org.apache.activemq.store.kahadb.data.KahaProducerAuditCommand
cannot be cast to org.apache.activemq.store.kahadb.data.KahaAddMessageCommand
    at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:113)
    at org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157)
    at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1678)
    at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1898)
    at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1425)
    at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
    at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
Caused by: java.lang.RuntimeException: java.lang.ClassCastException: org.apache.activemq.store.kahadb.data.KahaProducerAuditCommand
cannot be cast to org.apache.activemq.store.kahadb.data.KahaAddMessageCommand
    at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:265)
    at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:110)

CauseThere is one or more items in the activemq batch that are malformed or corrupt that are preventing new instructions from being batched.
WorkaroundTo workaround this issue, try to perform this task when there aren't AFX transactions that are actively being processed. (Removing the queue will purge the pending items.)
  1. First stop AFX.
  2. Then within <install path>/AFX/activemq/data, issue the following command:
    mv kahadb kahadb.old

  3. Now start AFX.
  4. In ACM you should now be able to successfully test both the connector settings and connector capabilities, as the queue was recreated.

Attachments

    Outcomes