CI Discovery source is set to "ServiceWatch", overwriting the true value - should remain unchanged during manual / dynamic / tag-based service populationDescriptionThe population logic of manual / dynamic / Tag-Based service Cis is changing the discovery sources of CIs that are part of these services to "ServiceWatch", which will overwrite the true source of the CI's data, e.g. a Service Graph Connector. An update to CIs, for example by Service Graph Connector imports, will update the discovery source of the CI correctly, but it will then shortly be replaced by the "ServiceWatch" value. It is expected that the original discovery source values of these CIs will remain intact/unchanged.Steps to Reproduce 1. Create some CIs with discovery_source = Tivoli2. Create a Dynamic Service.3. In the CMDB, add a relation (can be Depends on::Used by) from the service CI to any of the newly created CIs.4. After the service is recalculated, check the CIs created in #1. You'll see that their discovery_source is now ServiceWatch. If you were to add a stack trace business rule to see what's doing this update, you would see the following: ... com.glide.script.GlideRecord.update(GlideRecord.java:4495) com.snc.cmdb.identify_reconcile.RecordCommitter.commitInner(RecordCommitter.java:405) com.snc.cmdb.identify_reconcile.RecordCommitter.commit(RecordCommitter.java:304) com.snc.cmdb.identify_reconcile.IdentificationEngine.commitRecordsInBatches(IdentificationEngine.java:1122) com.snc.cmdb.identify_reconcile.IdentificationEngine.process(IdentificationEngine.java:952) com.snc.cmdb.identify_reconcile.IdentificationEngine.execute(IdentificationEngine.java:677) com.snc.cmdb.identify_reconcile.IdentificationEngine.executeAndGenerateOutput(IdentificationEngine.java:599) com.snc.cmdb.identify_reconcile.IdentificationEngine.execute(IdentificationEngine.java:556) com.snc.cmdb.identify_reconcile.IdentificationEngine.createOrUpdateCI(IdentificationEngine.java:402) <<<<<<<<< "ServiceWatch" is set in the payload here. com.snc.sw.topologymanager.BatchManualServicePopulator.callIREWithRetry(BatchManualServicePopulator.java:557) com.snc.sw.topologymanager.BatchManualServicePopulator.batchCreateOrUpdateIRE(BatchManualServicePopulator.java:541) com.snc.sw.topologymanager.BatchManualServicePopulator.createOrUpdateIREPayload(BatchManualServicePopulator.java:403) com.snc.sw.topologymanager.BatchManualServicePopulator.addBulkCIsToService(BatchManualServicePopulator.java:222) com.snc.sw.topologymanager.BatchManualServicePopulator.populateDiscoveredService(BatchManualServicePopulator.java:286) <<<<<<<< This is the java responsible for batch updatescom.snc.sw.topologymanager.ManualBusinessServiceHandler.populateDiscoveredBusinessService(ManualBusinessServiceHandler.java:301) com.snc.sw.topologymanager.IManualBusinessServiceHandler.populateDiscoveredBusinessService(IManualBusinessServiceHandler.java:25) com.snc.sw.bs.BusinessServiceManager.jsFunction_populateDiscoveredService(BusinessServiceManager.java:1405) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:566) org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138) org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:670) org.mozilla.javascript.FunctionObject.call(FunctionObject.java:614) org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2609) org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518) org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830) org.mozilla.javascript.InterpretedFunction.lambda$call$0(InterpretedFunction.java:152) com.glide.caller.gen.sys_script_include_11f01e3dc3f23300daa79624a1d3ae32_script.call(Unknown Source) <<<<<<< SMDynamicManualServicePopulator Script Include com.glide.script.ScriptCaller.call(ScriptCaller.java:18) org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:151) org.mozilla.javascript.ScriptRuntime.doCall2(ScriptRuntime.java:2678) org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2617) org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:2658) org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:2630) com.glide.script.RhinoObject.callFunction(RhinoObject.java:169) com.glide.script.GlideRhinoObject.callFunction(GlideRhinoObject.java:156) com.snc.sw.bs.calculated.ServicePopulatorRunner.processPopulator(ServicePopulatorRunner.java:179) com.snc.sw.bs.calculated.ServicePopulatorRunner.populate(ServicePopulatorRunner.java:151) com.snc.sw.bs.calculated.ServicePopulatorRunner.run(ServicePopulatorRunner.java:101) com.snc.sw.mapping.impl.CalculatedServicesPreProcessor.runServicePopulator(CalculatedServicesPreProcessor.java:55) com.snc.sw.mapping.impl.CalculatedServicesPreProcessor.process(CalculatedServicesPreProcessor.java:47) com.snc.sw.mapping.impl.CoordinatorImpl.preProcess(CoordinatorImpl.java:372) com.snc.sw.mapping.impl.CoordinatorImpl.processAllLayers(CoordinatorImpl.java:272) com.snc.sw.mapping.impl.RecomputationHandler.recomputeEnvironment(RecomputationHandler.java:206) com.snc.sw.mapping.impl.RecomputationHandler.recompute(RecomputationHandler.java:135) com.snc.sw.mapping.impl.RecomputationHandler.recompute(RecomputationHandler.java:62) com.snc.sw.mapping.ServiceMappingFactory.jsStaticFunction_recompute(ServiceMappingFactory.java:355) ... WorkaroundThis problem has been fixed. If you are able to upgrade, review the Fixed In section to determine the latest version with a permanent fix your instance can be upgraded to. Workaround for previous versions: The code responsible is in Java, and so not editable, however a workaround to bypass this batch updating code can be used. Set the following system properties to false in order to disable the batch mode:sa.service.batch_manual_service_population.enabledsa.service.batch_create_update_it_service_population This will have a negative effect on instance performance, especially for large services or if many services are being re-calculated at once. Related Problem: PRB1577827