Loading...
Loading...
The SAMP reconciliation fails after 100% progress due to a race condition when the Import User Subscriptions job is also running at the same time. The progress summary shows: TypeError: Cannot read property "install_condition" from null at sys_script_include.444d8294c32222006081face81d3aebf.script:514 (anonymous) at sys_script_include.444d8294c32222006081face81d3aebf.script:266 (anonymous) at sys_script_include.444d8294c32222006081face81d3aebf.script:247 (anonymous) at sys_script_include.30bbdf9587f52300923aa75fe5cb0b97.script:413 (anonymous) at sys_script_include.30bbdf9587f52300923aa75fe5cb0b97.script:400 (anonymous) at sys_script_include.6761b0dd0b1232001a17650d37673a77.script:868 (anonymous) at sys_script_include.6761b0dd0b1232001a17650d37673a77.script:824 (anonymous) at sys_script_include.6761b0dd0b1232001a17650d37673a77.script:54 (anonymous) at sys_trigger.f7006c6e471e59d0e1ce8a12736d4378:1 Possibly related problems: Reconciliation errors in the form 'Cannot read property <someSysId> from undefined' caused by SamNewPerCoreForMicrosoftLicenseCalculator loading all optimization records and Per Core VM allocations missing relationships Workday reconciliation is failing if subscriptions are pulled from SSO or custom integration profile
Schedule the Reconciliation job to run at the same time as the SAM - Import User Subscriptions job. 2. Check Recon Results for recon with status 'Failed' and Progress summary 'Reconciliation Complete'. 3. Check the progress summary for the TypeError: cannot read property 'install_condition' from null. Workaround - Use Case 1 - Make sure the Import User Subscription and Software Reconciliation jobs are never scheduled to run at the same time. - Use Case 2 - If you have verified both Import User Subscription and Software Reconciliation are running at different times, then consider changing the "SamAllocationSuiteEngine" Script Include ( /sys_script_include.do?sys_id=444d8294c32222006081face81d3aebf ) to add the code below line at 435, so that the final code looks like this: getSubscriptionSuitesOrComponents: function(publisherId, getSuites) { // First get all the licensable software models of this publisher var subscriptionModels = []; var subscriptionGa = new SampAggregate('samp_sw_subscription'); subscriptionGa.addQuery('software_model.manufacturer', publisherId); subscriptionGa.addNotNullQuery('user'); subscriptionGa.addNotNullQuery('licensable_software_model'); --- We are filtering record where licensable_software_model is empty. subscriptionGa.groupBy('licensable_software_model'); subscriptionGa.query(); NOTE: The reconciliation job processes the valid record where you already have a valid licensable_software_model value and show the data. This same job also populates the licensable_software_model value for the records where licensable_software_model is empty. Thus the records skipped in the current run will be automatically processed in the next run. if you see any record with licensable_software_model as empty and publisher as empty, then those records will not be processed. Those do not have any direct impact on the job execution. This needs to be investigated separately.
PRB1610760
Click on a version to see all relevant bugs
ServiceNow Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.