prow/tide/tide.go
func (c *Controller) filterSubpools(goroutines int, raw map[string]*subpool) map[string]*subpool {
	filtered := make(map[string]*subpool)
	var lock sync.Mutex

	subpoolsInParallel(
		goroutines,
		raw,
		func(sp *subpool) {
			if err := c.initSubpoolData(sp); err != nil {
				sp.log.WithError(err).Error("Error initializing subpool.")
				return
			}
			key := poolKey(sp.org, sp.repo, sp.branch)
			if spFiltered := filterSubpool(c.ghc, sp); spFiltered != nil {
				sp.log.WithField("key", key).WithField("pool", spFiltered).Debug("filtered sub-pool")

				lock.Lock()
				filtered[key] = spFiltered
				lock.Unlock()
			} else {
				sp.log.WithField("key", key).WithField("pool", spFiltered).Debug("filtering sub-pool removed all PRs")
			}
		},
	)
	return filtered
}
func (c *Controller) filterSubpools(goroutines int, raw map[string]*subpool) map[string]*subpool {
	filtered := make(map[string]*subpool)
	var lock sync.Mutex

	subpoolsInParallel(
		goroutines,
		raw,
		func(sp *subpool) {
			if err := c.initSubpoolData(sp); err != nil {
				sp.log.WithError(err).Error("Error initializing subpool.")
				return
			}
			key := poolKey(sp.org, sp.repo, sp.branch)
			if spFiltered := filterSubpool(c.ghc, sp); spFiltered != nil {
				sp.log.WithField("key", key).WithField("pool", spFiltered).Debug("filtered sub-pool")

				lock.Lock()
				filtered[key] = spFiltered
				lock.Unlock()
			} else {
				sp.log.WithField("key", key).WithField("pool", spFiltered).Debug("filtering sub-pool removed all PRs")
			}
		},
	)
	return filtered
}
func ( c * Controller ) filterSubpools ( goroutines int , raw map [ string ] * subpool ) map [ string ] * subpool { filtered := make ( map [ string ] * subpool ) var lock sync . Mutex subpoolsInParallel ( goroutines , raw , func ( sp * subpool ) { if err := c . initSubpoolData ( sp ) ; err != nil { sp . log . WithError ( err ) . Error ( " " ) return } key := poolKey ( sp . org , sp . repo , sp . branch ) if spFiltered := filterSubpool ( c . ghc , sp ) ; spFiltered != nil { sp . log . WithField ( " " , key ) . WithField ( " " , spFiltered ) . Debug ( " " ) lock . Lock ( ) filtered [ key ] = spFiltered lock . Unlock ( ) } else { sp . log . WithField ( " " , key ) . WithField ( " " , spFiltered ) . Debug ( " " ) } } , ) return filtered }
// filterSubpools filters non-pool PRs out of the initially identified subpools,
// deleting any pools that become empty.
// See filterSubpool for filtering details.
filterSubpools filters non - pool PRs out of the initially identified subpools deleting any pools that become empty . See filterSubpool for filtering details .