There is a BackgroundPipelineCreator thread in SCM which runs in a fixed interval and tries to create pipelines. This BackgroundPipelineCreator uses IOException as exit criteria (no more pipelines can be created). In each run of BackgroundPipelineCreator we exit when we are not able to create any more pipelines, i.e. when we get IOException while trying to create the pipeline. This means that scm_pipeline_metrics_num_pipeline_creation_failed value will get incremented in each run of BackgroundPipelineCreator.