A NCM capture of a large configuration for a device may not complete and may result in the captured configuration being truncated.
The following error may be seen in the NCMSERV.OUT log file:
Mar 04, 2021 12:27:29 PM io.grpc.netty.NettyServerHandler onStreamError
WARNING: Stream Error
io.netty.handler.codec.http2.Http2Exception$StreamException: Stream closed before write could take place
SPC-OCC-10746: The operation failed. SPC-NCM-20007: Capture Running Script Returned Error [-99]: Received message larger than max (5254178 vs. 4194304).
I ran the Host Configuration debug from the console and got this:
Apr 13, 2021 13:54:51.472 (PoolThread-74: GlobalPool => CaptureAction.actionPerformed) (HOSTCONFIG) - HostConfig - Capture results: ModelActionResults: errorMsg: null, values: [Attribute: 0x1 = SPC-NCM-20007: Capture Running Script Returned Error [-99]: Received message larger than max (5111090 vs. 4194304), Attribute: 0x2 = false, Attribute: 0x3 = 1, Attribute: 0x0 = 0, Attribute: 0x0 = 0, Attribute: 0x0 = 0, Attribute: 0x0 = 0]
All Spectrum Releases.
The default max receive message size is 4MB, which is not large enough and causes the failure
This will be resolved in DX NetOps Spectrum 20.2.10 (aka 10.4.3.1) and above. There is no fix for 20.2.7 (aka 10.4.3.0).
If you are running Spectrum 10.4.2.2 you can open a case with Broadcom support and request patch Spectrum 10.04.02.02.PTF_10.4.2.208
The fix will change the default Max Receive message size to 64MB.
NCM running configuration failed in the case of large configuration files.
NCM GRPC communication channel maximum receives message size set to default value 4MB. Changed the Receive message size to 64MB. (DE496405, 32582829 , 10.4.3.1)
You may need to also set the following in $SPECROOT/NCM/config.xml:
<diff-largefile type="java.lang.String">on</diff-largefile>
<jsch-read-datawait type="java.lang.Integer">8</jsch-read-datawait>
<jsch-read-datawait-mutipler type="java.lang.Integer">30</jsch-read-datawait-mutipler>
In case you should see any OutOfMemory errors when running the configration capture, set the following in $SPECROOT/lib/SDPM/partslist/NCMSERV.idb
ARGV;$SPECROOT/bin/JavaApps/bin/ncmservice<CSEXE> -Xms256M -Xmx8192M
Restart the ncmservice after making the above changes.
If issue not fixed increase the jsch-read-datawait-mutipler value ( multiples of 4 - example increase to 12288.) and enable ncm debug log.