File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -73,6 +73,12 @@ def idle?
7373
7474 def poll
7575 wait_for_master
76+ if master?
77+ warn "Worker #{ worker_id } is the master"
78+ else
79+ master_id = master_worker_id
80+ warn "Worker #{ worker_id } saw master worker: #{ master_id } " if master_id
81+ end
7682 idle_since = nil
7783 idle_state_printed = false
7884 until shutdown_required? || config . circuit_breakers . any? ( &:open? ) || exhausted? || max_test_failed?
@@ -297,6 +303,18 @@ def acquire_master_role?
297303 return true if @master
298304
299305 @master = redis . setnx ( key ( 'master-status' ) , 'setup' )
306+ if @master
307+ begin
308+ redis . set ( key ( 'master-worker-id' ) , worker_id )
309+ redis . expire ( key ( 'master-worker-id' ) , config . redis_ttl )
310+ warn "Worker #{ worker_id } elected as master"
311+ rescue *CONNECTION_ERRORS
312+ # If setting master-worker-id fails, we still have master status
313+ # Log but don't lose master role
314+ warn ( "Failed to set master-worker-id: #{ $!. message } " )
315+ end
316+ end
317+ @master
300318 rescue *CONNECTION_ERRORS
301319 @master = nil
302320 false
You can’t perform that action at this time.
0 commit comments