000030081 - RSA Identity Governance & Lifecycle Access Fulfillment Express (AFX) connectors remain in a DEPLOYED state; could not locate data file dbXXX.log

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 3Show Document
  • View in full screen mode

Article Content

Article Number000030081
Applies ToRSA Product Set: RSA Identity Management and Governance
RSA Version/Condition: 6.9
  • All AFX connectors that were running prior to applying the patch remain stuck in a deployed (yellow) state in the UI. 
  • The AFX server is running.
  • A restart of AFX, L&G, and even a system reboot does not resolve this issue.
The mule_ee.log found in AFX/mule/logs/ shows all AFX applications as deployed:
- - + APPLICATION + - - * - - + STATUS + - - *
00_mmc-agent * DEPLOYED *

The activemq.log found in $AFX_HOME/activemq/data/ has an error similar to this:

ERROR | Looking for key 284 but not found in fileMap: {307=db-307.log number = 307 , length = 1951190} | org.apache.kahadb.journal.Journal | main
2014-12-22 11:09:33,857 | ERROR | Failed to start ActiveMQ JMS Message Broker. Reason: java.io.IOException:
Could not locate data file /home/oracle/AFX/activemq/data/kahadb/db-284.log

The key message in the activemq.log will be similar to:

Could not locate data file /home/oracle/AFX/activemq/data/kahadb/db-284.log 

KahaDB is a file-based persistence database used by ActiveMQ. In this case, ActiveMQ is unable to find the persistence database (db-XXX.log).  It is believed that it becomes corrupted due to disk space issues. 

ResolutionAdd more space and or clean up disk and apply workaround below to recover.
WorkaroundTo resolve this issue create a blank persistence file with the same name and restart AFX
  1. Login as user 'oracle' and navigate to AFX_HOME/activemq/data/kahadb/.
  2. Stop AFX.
  3. Touch the db-XXX.log, where XXX is the number of the file that is missing.  The error message in the Issue field above states "Looking for key 284 but not found in fileMap," so replace the XXX in the example below with 284.
  4. List the directory contents to make sure the file permissions for the file are as follows.
  5. Now start AFX.
$ cd  $AFX_HOME/activemq/data/kahadb/
$ afx stop
$ touch db-XXX.log
$ ls -la
-rw-rw-r-- 1 oracle oinstall 0 May 13 2016 db-XXX.log
$ afx start