@@ -70,11 +70,16 @@ func NewDeploymentTemplateHistoryServiceImpl(logger *zap.SugaredLogger, deployme
70
70
71
71
func (impl DeploymentTemplateHistoryServiceImpl ) CreateDeploymentTemplateHistoryFromGlobalTemplate (chart * chartRepoRepository.Chart , tx * pg.Tx , IsAppMetricsEnabled bool ) (err error ) {
72
72
//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 )
74
74
if err != nil && err != pg .ErrNoRows {
75
75
impl .logger .Errorw ("err in getting pipelines, CreateDeploymentTemplateHistoryFromGlobalTemplate" , "err" , err , "chart" , chart )
76
76
return err
77
77
}
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
+ */
78
83
chartRefDto , err := impl .chartRefService .FindById (chart .ChartRefId )
79
84
if err != nil {
80
85
impl .logger .Errorw ("err in getting chartRef, CreateDeploymentTemplateHistoryFromGlobalTemplate" , "err" , err , "chart" , chart )
@@ -89,6 +94,7 @@ func (impl DeploymentTemplateHistoryServiceImpl) CreateDeploymentTemplateHistory
89
94
TemplateName : chartRefDto .Name ,
90
95
TemplateVersion : chartRefDto .Version ,
91
96
IsAppMetricsEnabled : IsAppMetricsEnabled ,
97
+ PipelineIds : pipelineIds ,
92
98
AuditLog : sql.AuditLog {
93
99
CreatedOn : chart .CreatedOn ,
94
100
CreatedBy : chart .CreatedBy ,
@@ -106,34 +112,6 @@ func (impl DeploymentTemplateHistoryServiceImpl) CreateDeploymentTemplateHistory
106
112
impl .logger .Errorw ("err in creating history entry for deployment template" , "err" , err , "history" , historyModel )
107
113
return err
108
114
}
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
- }
137
115
return err
138
116
}
139
117
0 commit comments