Highlighted
Valued Contributor.. Valued Contributor..
Valued Contributor..
553 views

UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

I created a CI type as a child of the class ConfigurationItem. I set Identification to By key attributes and set the Selected Attributes to Name. I set the Qualifiers to MODELING_ENABLED and SERVICE_MODEL. I removed the ABSTRACT_CLASS qualifier from Qualifiers. I created three CIs of the just created CI type.

After a while I deleted the three CIs and the CI type. Now an Integration Job that pushes CIs from uCMDB v10.22 to RTSM v9.25 is failing with the error:

ErrorCode [101] class not in class model

The class referenced in the error message is the one I deleted. The Integration Job was working before I created/deleted the CI type.

I have tried creating a new Integration Point/Job. I have tried creating a new TQL query. I have tried restarting the uCMDB service. None of these actions resolved the problem.

How do I clean this up?

0 Likes
9 Replies
Highlighted
Super Contributor.
Super Contributor.

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

HI Tom

As you mentioned: pushes CIs from uCMDB v10.22 to RTSM v9.25. I guess you are trying to do the integration between uCMDB10.22 & BSM 9.25 and integration point was created on uCMDB10.22 correct or not?

Then you modify the CIT on your uCMDB 10.22, after that the push job get error messages.

May be you can tried to rollback to the OOTB Class Model if you don’t have many customizations or clear the probe cache for try.

 

BR
dong-xu

0 Likes
Highlighted
Valued Contributor.. Valued Contributor..
Valued Contributor..

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

Hi,

Thanks for the response. Yes, I was trying to push CIs from Integration Point in our uCMDB uCMDB to BSM. I cannot roll the class model back to OOTB but I will reset the cache on the data flow probe.

After posting this request I created an Integration Point in the BSM environment to pull the CIs from uCMDB using a different dataflow probe. This integration was successful.

I'll update this thread after I reset the DFP cache.

Tom 

0 Likes
Highlighted
Absent Member.
Absent Member.

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

Hi Tom,

 

For the push the cache is held on the server side, in a specifc table which you can clear using the jmx method : removeIdMappingsOfDataStore  (in dataStore you need to set the name of the integration point). However I am not very sure this is the problem. You can try this and also try to reloadClassModel from persistency on the ucmdb side, just to make sure the class model is consistent after you deleted that class.

If you still have the same issue I suggest to set the fcmdb logs on debug on the ucmdb side and attach the fcmdb logs plus the probe ones after you reproduce the issue.

 

Regards,

 

Diana

 

Regards,

Diana 

0 Likes
Highlighted
Valued Contributor.. Valued Contributor..
Valued Contributor..

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

As this is a push operation there is no option to clear the Data Flow Probe cache. I did try restarting the Data Flow Probe but that did not resolve the issue.

0 Likes
Highlighted
Valued Contributor.. Valued Contributor..
Valued Contributor..

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

Diana,

Thanks for your response.

I have not had any success with removeIdOfDataStore or reloadClassModelFromPersistency. I cannot seem to figure out how to get DEBUG output for fcmdb logs. I have tried setting the values in loggersLevel but I didn't see any difference in the log output. There are 30 or more log names that contain the string fcmdb in loggersLevel. I set them all to DEBUG  and then clicked on the Update loggers button. 

I also tried the properties files in conf/log with similar results.

By the way, are the default log levels documented somewhere? I tried to keep track so that I could revert but I missed a few.

I did try again to delete and recreate the query, Integration Point, and Integration Job but the job still fails with the same reference to the class that I deleted.

Tom

 

0 Likes
Highlighted
Valued Contributor.. Valued Contributor..
Valued Contributor..

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

I did see this in the fcmdb.synchronizer log

appilog.framework.shared.manage.impl.MamResponseException: [ErrorCode [802] General Integration Error{_Test}]
CMDB Operation Internal Error: class com.mercury.topaz.cmdb.shared.fcmdb.dataAccess.exception.AdapterAccessGeneralException : Failed executing method [retrieveIndivisibleDefinition ( QueryDefinition )] in [DirectBasicDataAdapterWrapper] : operation Data Access Query: Retrieve Indivisible Definition

Here is the trace from the Integration Studio

com.hp.ucmdb.api.ExecutionException:
--- Start of server-side exception ---
com.hp.ucmdb.reconciliation.exception.ReconciliationException: [ErrorCode [101] class not in class model]
Class [A_Test] does not exist in class model.
 at com.hp.ucmdb.reconciliation.util.ExternalConfigUtils.createTypesByKeyAttributesMap(ExternalConfigUtils.java:106)
 at com.hp.ucmdb.reconciliation.util.ExternalConfigUtils.transferIdentificationCriteriaWithKeyAttributes(ExternalConfigUtils.java:75)
 at com.hp.ucmdb.reconciliation.util.ExternalConfigUtils.internalIdentificationCriterionTransfer(ExternalConfigUtils.java:42)
 at com.hp.ucmdb.reconciliation.util.ExternalConfigUtils.transferIdentificationCriterionToExternalConfig(ExternalConfigUtils.java:33)
 at com.hp.ucmdb.reconciliation.config.identification.manipulator.IdentificationConfigExternalManipulator.manipulate(IdentificationConfigExternalManipulator.java:35)
 at com.hp.ucmdb.reconciliation.config.ReconciliationConfigReaderImpl.manipulateIdentificationConfig(ReconciliationConfigReaderImpl.java:98)
 at com.hp.ucmdb.reconciliation.config.ReconciliationConfigReaderImpl.getIdentificationConfigsByType(ReconciliationConfigReaderImpl.java:109)
 at com.hp.ucmdb.reconciliation.config.ReconciliationConfigReaderImpl.getIdentificationConfigByType(ReconciliationConfigReaderImpl.java:78)
 at com.hp.ucmdb.reconciliation.config.ReconciliationConfigReaderImpl.getIdentificationConfigWithManipulatorByType(ReconciliationConfigReaderImpl.java:88)
 at com.hp.ucmdb.api.server.reconciliation.GetReconciliationRulesAsTripletsAndLayoutProcessor.fillSubGraphAndLayout(GetReconciliationRulesAsTripletsAndLayoutProcessor.java:143)
 at com.hp.ucmdb.api.server.reconciliation.GetReconciliationRulesAsTripletsAndLayoutProcessor.process(GetReconciliationRulesAsTripletsAndLayoutProcessor.java:72)
 at com.hp.ucmdb.api.server.reconciliation.GetReconciliationRulesAsTripletsAndLayoutProcessor.process(GetReconciliationRulesAsTripletsAndLayoutProcessor.java:55)
 at com.hp.ucmdb.api.server.request.AbstractRequestProcessor.processAndLog(AbstractRequestProcessor.java:95)
 at com.hp.ucmdb.api.server.http.ApiServlet.processRequest(ApiServlet.java:384)
 at com.hp.ucmdb.api.server.http.ApiServlet.doPost(ApiServlet.java:268)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
 at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
 at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
 at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
 at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
 at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
 at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
 at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
 at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
 at org.mortbay.jetty.Server.handle(Server.java:324)
 at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
 at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
 at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
 at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
 at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
 at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
 at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
--- End of server-side exception ---

 at com.hp.ucmdb.api.client.http.HttpSubmitterUtils.extractExceptionFromStream(HttpSubmitterUtils.java:31)
 at com.hp.ucmdb.api.client.http.HttpRequestSubmitter.internalSubmitRequest(HttpRequestSubmitter.java:146)
 at com.hp.ucmdb.api.client.http.HttpRequestSubmitter.internalSubmitRequest(HttpRequestSubmitter.java:68)
 at com.hp

0 Likes
Highlighted
Super Contributor.
Super Contributor.

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

Hi Tom

As you mentioned you can pull successfully on RTSM with the same TQL. I am not sure, but it sounds like UCMDB cache the result in somewhere. Once the result come to RTSM “Class [A_Test] does not exist in class model”  will be found in your RTSM logs correct?

Have you tried to create a new push integration point on your UCMDB with the same probe?

BR
dong-xu

0 Likes
Highlighted
Valued Contributor.. Valued Contributor..
Valued Contributor..

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

I have created new uCMDB Integration Points and new queries to push the business application CIs to BSM (RTSM) but they all fail in the same way - “Class [A_Test] does not exist in class model”.

I did create and delete a class named A_Test in the BSM (RTSM) environment but I have not seen an equivalent failure in BSM.

The BSM Integration Point to pull business applications from uCMDB is functioning as expected.

 

0 Likes
Highlighted
Valued Contributor.. Valued Contributor..
Valued Contributor..

Re: UCMDB 9.x Integration Adapter: ErrorCode [101] class not in class model

With the help of HP support there has been some progress. The push integrations from uCMDB to BSM will succeed if I recreate the A_Test CI type in the BSM class model.

This started when a different uCMDB push job failed and the error messages and logs provided no useful information. However when I turned the uCMDB push job into a BSM population job the error in BSM let me know that the size of a custom string attribute of the destination CI type in BSM was too small for the data in uCDMB. I had failed to match the string sizes. I corrected the error and the push from uCMDB to BSM was successful.

I created the A_Test class to reproduce the failure with no useful error messages. Unfortunately the push integration job did not fail in the same way as it did before. So I abandonded the effort and cleaned up the class models on uCMDB and BSM. That's when the push integrations from uCMDB to BSM began to fail due to the missing A_Test class.

The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.