resolve rebase conflict

This commit is contained in:
Felix Kunde 2022-05-17 18:33:12 +02:00
parent 9d5270beae
commit 9de46e07e9
2 changed files with 4 additions and 5 deletions

View File

@ -1037,13 +1037,15 @@ func (c *Cluster) processPodEvent(obj interface{}) error {
return fmt.Errorf("could not cast to PodEvent")
}
podName := spec.NamespacedName(event.PodName)
// can only take lock when (un)registerPodSubscriber is finshed
c.podSubscribersMu.RLock()
subscriber, ok := c.podSubscribers[spec.NamespacedName(event.PodName)]
subscriber, ok := c.podSubscribers[podName]
if ok {
select {
case <-subscriber.stopEvent:
c.logger.Debugf("ignoring pod event %s for pod %q", event.EventType, event.PodName)
c.unregisterPodSubscriber(podName)
default:
subscriber.podEvents <- event
}
@ -1516,7 +1518,6 @@ func (c *Cluster) Switchover(curMaster *v1.Pod, candidate spec.NamespacedName) e
c.eventRecorder.Eventf(c.GetReference(), v1.EventTypeNormal, "Switchover", "Switching over from %q to %q", curMaster.Name, candidate)
stopCh := make(chan struct{})
ch := c.registerPodSubscriber(candidate)
defer c.unregisterPodSubscriber(candidate)
defer close(stopCh)
if err = c.patroni.Switchover(curMaster, candidate.Name); err == nil {

View File

@ -137,7 +137,6 @@ func (c *Cluster) deletePods() error {
func (c *Cluster) deletePod(podName spec.NamespacedName) error {
c.setProcessName("deleting pod %q", podName)
subscriber := c.registerPodSubscriber(podName)
defer c.unregisterPodSubscriber(podName)
if err := c.KubeClient.Pods(podName.Namespace).Delete(context.TODO(), podName.Name, c.deleteOptions); err != nil {
return err
@ -406,7 +405,6 @@ func (c *Cluster) getPatroniMemberData(pod *v1.Pod) (patroni.MemberData, error)
func (c *Cluster) recreatePod(podName spec.NamespacedName) (*v1.Pod, error) {
stopCh := make(chan struct{})
subscriber := c.registerPodSubscriber(podName)
defer c.unregisterPodSubscriber(podName)
defer close(stopCh)
err := retryutil.Retry(1*time.Second, 5*time.Second,