@@ -70,11 +70,16 @@ func NewDeploymentTemplateHistoryServiceImpl(logger *zap.SugaredLogger, deployme
7070
7171func (impl DeploymentTemplateHistoryServiceImpl ) CreateDeploymentTemplateHistoryFromGlobalTemplate (chart * chartRepoRepository.Chart , tx * pg.Tx , IsAppMetricsEnabled bool ) (err error ) {
7272 //getting all pipelines without overridden charts
73- pipelines , err := impl .pipelineRepository .FindAllPipelinesByChartsOverrideAndAppIdAndChartId ( false , chart .AppId , chart . Id )
73+ pipelineIds , err := impl .pipelineRepository .FindAllPipelinesWithoutOverriddenCharts ( chart .AppId )
7474 if err != nil && err != pg .ErrNoRows {
7575 impl .logger .Errorw ("err in getting pipelines, CreateDeploymentTemplateHistoryFromGlobalTemplate" , "err" , err , "chart" , chart )
7676 return err
7777 }
78+ /*
79+ When creating base template entry, we also create entries for all pipeline whose env template is not overridden;
80+ as the change in base template will also impact them. Earlier we used to create individual entries for all pipelines
81+ but due to performance impact we are now saving the impacted pipelineIds in the base template entry itself (column pipeline_ids).
82+ */
7883 chartRefDto , err := impl .chartRefService .FindById (chart .ChartRefId )
7984 if err != nil {
8085 impl .logger .Errorw ("err in getting chartRef, CreateDeploymentTemplateHistoryFromGlobalTemplate" , "err" , err , "chart" , chart )
@@ -89,6 +94,7 @@ func (impl DeploymentTemplateHistoryServiceImpl) CreateDeploymentTemplateHistory
8994 TemplateName : chartRefDto .Name ,
9095 TemplateVersion : chartRefDto .Version ,
9196 IsAppMetricsEnabled : IsAppMetricsEnabled ,
97+ PipelineIds : pipelineIds ,
9298 AuditLog : sql.AuditLog {
9399 CreatedOn : chart .CreatedOn ,
94100 CreatedBy : chart .CreatedBy ,
@@ -106,34 +112,6 @@ func (impl DeploymentTemplateHistoryServiceImpl) CreateDeploymentTemplateHistory
106112 impl .logger .Errorw ("err in creating history entry for deployment template" , "err" , err , "history" , historyModel )
107113 return err
108114 }
109- for _ , pipeline := range pipelines {
110- historyModel := & repository.DeploymentTemplateHistory {
111- AppId : chart .AppId ,
112- PipelineId : pipeline .Id ,
113- ImageDescriptorTemplate : chart .ImageDescriptorTemplate ,
114- Template : chart .GlobalOverride ,
115- Deployed : false ,
116- TemplateName : chartRefDto .Name ,
117- TemplateVersion : chartRefDto .Version ,
118- IsAppMetricsEnabled : IsAppMetricsEnabled ,
119- AuditLog : sql.AuditLog {
120- CreatedOn : chart .CreatedOn ,
121- CreatedBy : chart .CreatedBy ,
122- UpdatedOn : chart .UpdatedOn ,
123- UpdatedBy : chart .UpdatedBy ,
124- },
125- }
126- //creating new entry
127- if tx != nil {
128- _ , err = impl .deploymentTemplateHistoryRepository .CreateHistoryWithTxn (historyModel , tx )
129- } else {
130- _ , err = impl .deploymentTemplateHistoryRepository .CreateHistory (historyModel )
131- }
132- if err != nil {
133- impl .logger .Errorw ("err in creating history entry for deployment template" , "err" , err , "history" , historyModel )
134- return err
135- }
136- }
137115 return err
138116}
139117
0 commit comments