Federation issues


For information about federation and how to configure federation data, see Accessing-external-data-through-CMDB-by-using-Federation.

Important

Do not modify the classes in the BMC.CORE.CONFIG namespaces class definitions. BMC Helix CMDB uses these definitions to store federated data.


Note


Issue symptom

Issue scope

Resolution

The federation plug-in fails to load.

When you create a JDBC federation plug-in for MSSQL or Oracle databases. 

  • Update the following Java drivers in the plug-in, to a version that your MSSQL and Oracle database versions support: 
    • MSSQL: mssql-jdbc-12.6.1.jre11.jar
    • Oracle: ojdbc11-23.4.0.24.05.jar
  • Edit the plug-in and update the Database name field to include the database parameters as shown in the following example name: AI;encrypt=false;trustServerCertificate=true

Important: Set the trustServerCertificate parameter to true. If you want to change this setting, contact BMC Support or Product Managers. 


When you upgrade from an older version to BMC Helix CMDB 23.3.02 and later.

Perform one of the following workarounds:

  • Delete the custom plug-ins that you have created and create them again.
  • Update the classpath for the federation plug-ins by using the Centralized Configurations in Mid Tier to the latest JARs.
    • MSSQL: mssql-jdbc-12.6.1.jre11.jar
    • Oracle: ojdbc11-23.4.0.24.05.jar

In Federation Manager, the federation plug-in fails to load and the Loaded column in the plug-in editor displays the status of the plug-in as No.

When you create a federation plug-in using the Configure Repository Plugins And Adapters option and if you provided an incorrect user name and password, or an incorrect connection string.

  1. After adding the plug-in, reopen the plug-in editor to refresh the plug-in status.
    If the plug-in loaded successfully, the Loaded column displays a value of Yes.
  2. If the Loaded column displays a value of No, from the AtriumCore <installDir>\Logs directory, open the AtriumPluginSvr.log file and check for errors.
  3. Depending on the type of plug-in you created, open one of the following log files and check for errors:
    • Federation-ar.log — If you created an AR System plug-in
    • Federation-jdbc.log — If you created a jdbc plug-in
  4. After fixing the errors, restart the AR System server and the Mid Tier.
  5. From CMDB Portal, open the Federation Manager and check the status of the plug-in again.

When you create a plug-in to connect to an external data source for retrieving federated data, you might encounter the following error: 

Exception while processing RPC call. java.io.IOException: An established connection was aborted by the software in your host machine at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(Unknown Source) at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) at sun.nio.ch.IOUtil.write(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at com.bmc.arsys.arrpc.nio.ArNioXdrTcpEncodingStream.streamFlush(Unknown Source) at org.acplt.oncrpc.XdrTcpEncodingStream.flush(Unknown Source)... 

The external data source you are connecting to contains several tables and large volumes of data. For example, with the Oracle database. 

Add the following parameters to the ar.cfg (ar.conf ) configuration file and restart the AR System server:

  • For the ardbc plug-in — Server-Plugin-Default-Timeout: 120
  • For the filter plug-in — Filter-Api-Timeout: 60

If you encounter the plug-in error even after you add these entries to the AR System configuration file, increase the timeout period (in seconds) and retry until the issue is resolved.

You see the following validation errors (120186-120190), such as incorrect table or field mapping with the external data store when you create a federated data class.

If the maximum length of the field in the external store does not match the field length in the federated data class or if the table name that you specified in the plug-in adapter is incorrect. 

Important: If you are unable to create a federated data class, make sure that the plug-in for your data store is loaded.

  1. Log in to the AR System driver program.
    For more information about logging in to the driver program, see the Developing an API program in the Action Request System online documentation.
  2. To retrieve a list of external schema candidates, type the glxsc command.
  3. At the Schema Type prompt, type 5 and verify that the vendor table that you created is listed in the results.
  4. To retrieve a list of external field candidates, type the gmxfc command.
  5. At the Schema Type prompt, type 5.
  6. At the Vendor name prompt, type the vendor name that you created.
  7. At the Vendor table name prompt, specify the name of the table that you are mapping from the external data store.
  8. Confirm that the properties of the external data store, such as the Field typeExternal Field Name, and Maximum length, are correct.
    The vendor table and field properties should match the class and attribute properties that you specified for the federated data class.

Invalid column lengths in federated classes with an IBM DB2 database

When creating a federated class that brings in data from a DB2 database, you create a federated relationship class to retrieve the data. In this federated relationship class, you create a qualification that relates the source class in the BMC Helix CMDB to the federated class. For example, specifying 'Name' = $ComputerName$, creates a relationship between the Name field of the source class and the ComputerName field of the federated class. 

But when you are creating a query and the size of the field in the source class exceeds the field column length of the federated class, a DB2 error is returned. For example, your DB2 database has a field (FNAME ) with a column length of 10 characters. If the field referenced in the source class exceeds 10 characters (as in 'BMC_Account_1' = Fed_Class.FNAME ), the 10-character limit is exceeded and you see the following error: 

SQLCODE -302, Error: THE VALUE OF INPUT VARIABLE OR PARAMETER NUMBER IS INVALID OR TOO LARGE FOR THE TARGET COLUMN OR THE TARGET VALUE

Change the column width of the key attribute in the federated source to be equal to or greater than the comparable field in the source class.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*