set wal_level config not on empty parameters map (#2189)
* set wal_level config not on empty parameters map * UPDATE event must trigger statefulSet sync when streams are added
This commit is contained in:
		
							parent
							
								
									b9165190e1
								
							
						
					
					
						commit
						7887ebbbce
					
				|  | @ -836,6 +836,11 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error { | ||||||
| 		c.logger.Infof("Storage resize is disabled (storage_resize_mode is off). Skipping volume sync.") | 		c.logger.Infof("Storage resize is disabled (storage_resize_mode is off). Skipping volume sync.") | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	// streams configuration
 | ||||||
|  | 	if len(oldSpec.Spec.Streams) == 0 && len(newSpec.Spec.Streams) > 0 { | ||||||
|  | 		syncStatefulSet = true | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	// Statefulset
 | 	// Statefulset
 | ||||||
| 	func() { | 	func() { | ||||||
| 		oldSs, err := c.generateStatefulSet(&oldSpec.Spec) | 		oldSs, err := c.generateStatefulSet(&oldSpec.Spec) | ||||||
|  | @ -851,6 +856,7 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error { | ||||||
| 			updateFailed = true | 			updateFailed = true | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
|  | 
 | ||||||
| 		if syncStatefulSet || !reflect.DeepEqual(oldSs, newSs) { | 		if syncStatefulSet || !reflect.DeepEqual(oldSs, newSs) { | ||||||
| 			c.logger.Debugf("syncing statefulsets") | 			c.logger.Debugf("syncing statefulsets") | ||||||
| 			syncStatefulSet = false | 			syncStatefulSet = false | ||||||
|  | @ -942,6 +948,7 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error { | ||||||
| 		updateFailed = true | 		updateFailed = true | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	// streams
 | ||||||
| 	if len(newSpec.Spec.Streams) > 0 { | 	if len(newSpec.Spec.Streams) > 0 { | ||||||
| 		if err := c.syncStreams(); err != nil { | 		if err := c.syncStreams(); err != nil { | ||||||
| 			c.logger.Errorf("could not sync streams: %v", err) | 			c.logger.Errorf("could not sync streams: %v", err) | ||||||
|  |  | ||||||
|  | @ -403,7 +403,10 @@ func (c *Cluster) syncStatefulSet() error { | ||||||
| 		c.logger.Warnf("could not get list of pods to apply PostgreSQL parameters only to be set via Patroni API: %v", err) | 		c.logger.Warnf("could not get list of pods to apply PostgreSQL parameters only to be set via Patroni API: %v", err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	requiredPgParameters := c.Spec.Parameters | 	requiredPgParameters := make(map[string]string) | ||||||
|  | 	for k, v := range c.Spec.Parameters { | ||||||
|  | 		requiredPgParameters[k] = v | ||||||
|  | 	} | ||||||
| 	// if streams are defined wal_level must be switched to logical
 | 	// if streams are defined wal_level must be switched to logical
 | ||||||
| 	if len(c.Spec.Streams) > 0 { | 	if len(c.Spec.Streams) > 0 { | ||||||
| 		requiredPgParameters["wal_level"] = "logical" | 		requiredPgParameters["wal_level"] = "logical" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue