Troubleshooting the Cognos PowerCube data migration tool

If you encounter issues when migrating HCL, Cognos®, or PowerCube data to Elasticsearch in an IBM Connections™ deployment, refer to these troubleshooting tips or consult the IBM® Support database for recent tech notes or HCL Support for recent articles.

Table 1. Troubleshooting te Cognos PowerCube data migration tool
Problem Solution

Error: Could not find or load main class com.ibm.connections.metrics.cognos.cube.migration.CubeMigration

Verify that the -classpath parameter correctly includes the ./lib subfolder. In Windows™, the "./lib/*" path must be enclosed in quotation marks.

When you run the migration tool, start it from the migration_tool folder within the folder where you extracted the tool.

Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.log4j.LogManager at com.ibm.connections.metrics.cognos.cube.migration.CubeMigration.<clinit>(CubeMigration.java:35)Caused by: java.lang.ClassNotFoundException: org.apache.log4j.LogManager at java.net.URLClassLoader.findClass(URLClassLoader.java:609) at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:925) at java.lang.ClassLoader.loadClass(ClassLoader.java:870) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:343) at java.lang.ClassLoader.loadClass(ClassLoader.java:853) ... 1 more

Verify that the -classpath parameter correctly includes the cognos ./lib subfolder. In Windows, the "Cognos_lib_path/*" path must be enclosed in quotation marks use a forward slash ( / ) as separator.

When you run the migration tool, replace Cognos_lib_path with the full path to the cognos folder.

>>> Failed to connect cognos server

The Cognos server-related properties are not configured correctly. Check the log.out file for the detailed connection error.

If you see the following error in the log, then verify that the config.ini file contains the correct values for cognos.username and cognos.password:

"CM-REQ-4342 An error occurred with the client ...<errorCode>cmAuthenticateFailed</errorCode>"

If you see one of the following errors, then edit the config.ini file and set the cognos.internalURL value to match the internalDispatcher value in the cognos_install_path/cogstartup.xml file:

  • faultString: (500)Internal Server Error
  • faultString: (404)Not Found
  • CM-REQ-4342 An error occurred with the client <errorCode>cmHeaderFault</errorCode>
  • faultString: java.util.MissingResourceException: Can't find bundle for base name jcam_errors

>>> Failed to deploy cubes: -2

Check the log.out file for the detailed connection error: CM-REQ-4342 An error occurred with the client.

If you see that error, then copy the MigrationPkg.zip file from the migration tool root folder into the Cognos_Install_Path/CognosBI/deployment/ folder.

>>> Failed to deploy cubes: -3

First, check the log.out file for the detailed connection error: CNC-BAL-0503 The Server has failed..

If you see that error, then check the WebSphere® SystemErr.log/SystemOut.log file for the following error:

java.lang.LinkageError: loading constraint violation when overriding method "javax/xml/soap/AttachmentPart.getDataHandler()Ljavax/activation/DataHandler;" during creation of class "org/apache/axis/attachments/AttachmentPart": loader "com/cognos/pogo/isolation/ParanoidClassLoader@ad6434f" of class "org/apache/axis/attachments/AttachmentPart" and loader "com/ibm/oti/vm/BootstrapClassLoader@27d079f5" of class "javax/xml/soap/AttachmentPart" have different types for the method signature

If you see both errors, this indicates that your Cognos WebSphere Application Server profile is using JDK 8 instead of JDK 7 as required. Your JDK might have been upgraded inadvertently if you applied the WebSphere Application Server ifix 8.5.5.14. Complete the following steps to revert the JDK to version 7 for use by Cognos:

  1. Download and install JDK 7:
    1. Download and install IBM WebSphere SDK Java (TM) Technology Edition V7.0 as explained in the IBM technote, How to download WebSphere Application Server Version 8.5 from Passport Advantage Online. Take all of the following part numbers:
      CI717ML
      IBM WebSphere SDK Java (TM) Technology Edition V7.0 (1 of 3) (for WebSphere Application Server V8.5) Multiplatform Multilingual
      CI718ML
      IBM WebSphere SDK Java (TM) Technology Edition V7.0 (2 of 3) (for WebSphere Application Server V8.5) Multiplatform Multilingual
      CI719ML
      IBM WebSphere SDK Java (TM) Technology Edition V7.0 (3 of 3) (for WebSphere Application Server V8.5) Multiplatform Multilingual
    2. Download and install the update, IBM WebSphere SDK, Java™ Technology Edition, Version 7.0.10.25 for WAS 8.5.5.14.
  2. Enable the Cognos profile to use the JDK 7:
    1. Run the managesdk.bat -listAvailable command to list the available JDKs, and note down the name of the v7 JDK as shown in the following example:

      CWSDK1003I: Available SDKs : CWSDK1005I: SDK name: 1.7_64 CWSDK1005I: SDK name: 1.8_64 CWSDK1005I: SDK name: 1.8_64_bundled CWSDK1001I: Successfully performed the requested managesdk task.

    2. Start DMGR.
    3. Start the Cognos node agent.
    4. Run the managesdk command to enable JDK 7 for the Cognos profile as shown in the following example:
      C:\IBM\WebSphere\AppServer\bin>managesdk.bat -enableProfile -sdkname 1.7_64 -profileName Cognos_profile_name -enableServers -user admin_username -password admin_password

      CWSDK1024I: The node default SDK setting for federated profile cognosProfile has been saved in the master configuration repository. CWSDK1025I: A synchronization operation is required before configuration changes to federated profile <cognosProfile> can be used. CWSDK1017I: Profile <cognosProfile> now enabled to use SDK 1.7_64. CWSDK1001I: Successfully performed the requested managesdk task.

  3. Start the Cognos server with the startServer command. If you are starting the Cognos server from the WebSphere Integrated Solutions Console, make sure that the node synchronization has completed.

>>> Failed to connect ES. ES cluster status is IOException: Connection refused: no further information

The configuration settings contain an incorrect host name/IP address or port for the Elasticsearch server. Verify that the config.ini file contains the correct values for the es.hosts and es.port settings.

>>> Failed to connect ES. Exception is java.io.IOException: keystore password was incorrect

The configuration settings contain an incorrect keystore name or password for the Elasticsearch server. Verify that the config.ini file contains the correct values for the es.keyStore and es.keyStorePass settings.

>>> Failed to connect ES. ES cluster status is IOException: null

The Elasticsearch server is not accessible. Verify that the Elasticsearch server's status is good, the config.ini file contains the correct values for the es.hosts and es.port settings, and that you are using correct certificate.