NCM fails: can't allocate resources
search cancel

NCM fails: can't allocate resources

book

Article ID: 235916

calendar_today

Updated On:

Products

CA Spectrum DX NetOps

Issue/Introduction

After upgrading Spectrum NCM is experiencing issues:

SPC-OCC-10747: Error capturing configuration for host: NCM configuration difference failed to complete because required resources could not be allocated. Please see $SPECROOT/NCM/NCMSERV.OUT for detailed information. 

Next knowledge document has been implemented, without success:

https://knowledge.broadcom.com/external/article/212630/ncmserv-cannot-allocate-resources-faile.html

To workaround the problem it is needed to restart the NCM Process via processd, which is time consuming

Here is an Output from the NCMSERV.OUT as it happens.

################################
Feb 02, 2022 14:32:46.828 -
Failed to allocate array: 41003 x 40989 process memory currently set to: 3641M.  To increase memory adjust value of -Xmx parameter in: $SPECROOT/lib/SDPM/partslist/NCMSERV.idb, 'processd' will need to be restarted after making this change.
        at com.aprisma.spectrum.scmd.NCMFileDifference.getDiffResultsImpl(NCMFileDifference.java:372)
        at com.aprisma.spectrum.scmd.NCMFileDifference.getDiffResults(NCMFileDifference.java:200)
        at com.aprisma.spectrum.scmd.ScmServiceImpl.diff(ScmServiceImpl.java:2837)
        at com.aprisma.spectrum.scmd.ScmServiceImpl.diff(ScmServiceImpl.java:2764)
        at com.grpc.SpectrumCMGRPC.NCMServiceGrpc$MethodHandlers.invoke(NCMServiceGrpc.java:1178)
        at io.grpc.stub.ServerCalls$1$1.onHalfClose(ServerCalls.java:148)
        at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:267)
        at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$2.runInContext(ServerImpl.java:573)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52)
        at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:117)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
################################

 

Environment

Release : 21.2.x, 22,2,x

Component : Spectrum Applications

Cause

The upgrade installer revert some configuration files, like $SPECROOT/NCM/config.xml,  to its default values. 

There is a configuration entry in this file to allow the diffs and large captures. By default this value is set to off, which might cause the behavior reported in this knowledge document.

<diff-largefile type = "java.lang.String" >off</diff-largefile>

Resolution

1. Edit the file $SPECROOT/NCM/config.xml

2. Change this entry from:

<diff-largefile type = "java.lang.String" >off</diff-largefile>

to

<diff-largefile type = "java.lang.String" >on</diff-largefile>

3. Kill the NCMService process.  Processd will automatically start it back up