2fa64a7 Ticket 49463 - After cleanALLruv, there is a flow of keep alive DEL

Authored and Committed by tbordaz 6 years ago
    Ticket 49463 - After cleanALLruv, there is a flow of keep alive DEL
    
    Bug Description:
    	When cleanAllRuv is launched, it spawn cleanAllRuv on all replicas.
    	Each replica will clean its changelog and database RUV AND in addition
    	will DEL the keep alive entry of the target ReplicaID.
    	So for the same entry (keep alive) there will be as many DEL as there are replicas
    
    	This flow of DEL is useless as only one DEL is enough.
    	In addition because of https://pagure.io/389-ds-base/issue/49466, replication may
    	loop on each of those DELs.
    
    Fix Description:
    	The fix is only to prevent the flow of DEL.
    	It adds a flag ('original_task') in the task payload.
    	The server receiving the task (replica_execute_cleanall_ruv_task) flags the
    	task as 'original_task'.
    	In the opposite, the propagated cleanAllRuv (multimaster_extop_cleanruv) does
    	not flag the task as 'original_task'
    	Only original task does the DEL of the keep alive entry.
    	Note the propageted payload (extop) is not changed. In a mixed version
    	environment "old" servers will DEL the keep alive and flow can still happen
    
    https://pagure.io/389-ds-base/issue/49466
    
    Reviewed by: Ludwig Krispenz
    
    Platforms tested: F23
    
    Flag Day: no
    
    Doc impact: no