mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-03 12:28:42 +02:00
Use queues for the pod events (#30)
This commit is contained in:
@@ -91,7 +91,6 @@ func (c *Controller) processEvent(obj interface{}) error {
|
||||
|
||||
c.clustersMu.RLock()
|
||||
cl, clusterFound := c.clusters[clusterName]
|
||||
stopCh := c.stopChs[clusterName]
|
||||
c.clustersMu.RUnlock()
|
||||
|
||||
switch event.EventType {
|
||||
@@ -105,13 +104,14 @@ func (c *Controller) processEvent(obj interface{}) error {
|
||||
|
||||
stopCh := make(chan struct{})
|
||||
cl = cluster.New(c.makeClusterConfig(), *event.NewSpec, logger)
|
||||
cl.Run(stopCh)
|
||||
|
||||
c.clustersMu.Lock()
|
||||
c.clusters[clusterName] = cl
|
||||
c.stopChs[clusterName] = stopCh
|
||||
c.clustersMu.Unlock()
|
||||
|
||||
if err := cl.Create(stopCh); err != nil {
|
||||
if err := cl.Create(); err != nil {
|
||||
cl.Error = fmt.Errorf("could not create cluster: %v", err)
|
||||
logger.Errorf("%v", cl.Error)
|
||||
|
||||
@@ -158,8 +158,9 @@ func (c *Controller) processEvent(obj interface{}) error {
|
||||
|
||||
// no race condition because a cluster is always processed by single worker
|
||||
if !clusterFound {
|
||||
stopCh := make(chan struct{})
|
||||
cl = cluster.New(c.makeClusterConfig(), *event.NewSpec, logger)
|
||||
stopCh = make(chan struct{})
|
||||
cl.Run(stopCh)
|
||||
|
||||
c.clustersMu.Lock()
|
||||
c.clusters[clusterName] = cl
|
||||
@@ -167,7 +168,7 @@ func (c *Controller) processEvent(obj interface{}) error {
|
||||
c.clustersMu.Unlock()
|
||||
}
|
||||
|
||||
if err := cl.Sync(stopCh); err != nil {
|
||||
if err := cl.Sync(); err != nil {
|
||||
cl.Error = fmt.Errorf("could not sync cluster '%s': %s", clusterName, err)
|
||||
logger.Errorf("%v", cl)
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user