MCPcopy Create free account
hub / github.com/apache/kvrocks-controller / electLoop

Method electLoop

store/engine/postgresql/postgresql.go:222–245  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

220}
221
222func (p *Postgresql) electLoop() {
223 defer p.wg.Done()
224 for {
225 select {
226 case <-p.quitCh:
227 return
228 default:
229 }
230
231 query := "INSERT INTO locks (name, leaderID) VALUES ($1, $2) ON CONFLICT DO NOTHING"
232 _, err := p.db.Exec(query, p.electPath, p.myID)
233 if err != nil {
234 time.Sleep(lockTTL / 3)
235 continue
236 }
237
238 select {
239 case <-p.lockReleaseCh:
240 continue
241 case <-p.quitCh:
242 return
243 }
244 }
245}
246
247func (p *Postgresql) observeLeaderEvent() {
248 defer p.wg.Done()

Callers 1

NewFunction · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected