[PDB-1310] Make the 'deactivate node' command commute. Created: 2015/03/19  Updated: 2015/07/10  Resolved: 2015/05/07

Status: Closed
Project: PuppetDB
Component/s: None
Affects Version/s: None
Fix Version/s: PDB 3.0.0

Type: Bug Priority: Normal
Reporter: Russell Mull Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Epic Link: High availability improvements
Story Points: 3
Sprint: PuppetDB 2015-04-22, PuppetDB 2015-05-06, PuppetDB 2015-05-20

 Description   

For our sync mechanism to work, all the commands need to commute with each other. The ‘deactivate node’ command is not commutative with the other commands; they all activate a previously deactivated node. It’s hard to make this truly commutative, but we can get pretty close if we assume synchronized clocks (they’re not of course, but they should be close enough for this purpose) and lean on some of the timestamps. This may involve using the received time for the deactivate node command, passing the producer timestamp to maybe-activate-node!, or something else.



 Comments   
Comment by Russell Mull [ 2015/04/02 ]

OR-Sets may offer another approach to this problem:

http://www.cmi.ac.in/~spsuresh/pdffiles/oorsets.pdf

Comment by Russell Mull [ 2015/05/05 ]

Found an intermittent test failure after merging this to master; currently testing a fix

Generated at Mon Sep 23 13:31:18 PDT 2019 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.