@@ -630,27 +630,27 @@ func TestDesc_FindDifference(t *testing.T) {
630
630
toDelete : []string {},
631
631
},
632
632
"same single instance, different state" : {
633
- r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : ACTIVE }}},
634
- r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : JOINING }}},
635
- toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : JOINING }}},
633
+ r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : ACTIVE , Timestamp : 1000 }}},
634
+ r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : JOINING , Timestamp : 1100 }}},
635
+ toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : JOINING , Timestamp : 1100 }}},
636
636
toDelete : []string {},
637
637
},
638
638
"same single instance, different registered timestamp" : {
639
- r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : ACTIVE , RegisteredTimestamp : 1 }}},
640
- r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : ACTIVE , RegisteredTimestamp : 2 }}},
641
- toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : ACTIVE , RegisteredTimestamp : 2 }}},
639
+ r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : ACTIVE , RegisteredTimestamp : 1 , Timestamp : 1000 }}},
640
+ r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : ACTIVE , RegisteredTimestamp : 2 , Timestamp : 1100 }}},
641
+ toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , State : ACTIVE , RegisteredTimestamp : 2 , Timestamp : 1100 }}},
642
642
toDelete : []string {},
643
643
},
644
644
"instance in different zone" : {
645
- r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Zone : "one" }}},
646
- r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Zone : "two" }}},
647
- toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Zone : "two" }}},
645
+ r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Zone : "one" , Timestamp : 1000 }}},
646
+ r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Zone : "two" , Timestamp : 1100 }}},
647
+ toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Zone : "two" , Timestamp : 1100 }}},
648
648
toDelete : []string {},
649
649
},
650
650
"same instance, different address" : {
651
- r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" }}},
652
- r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr2" }}},
653
- toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr2" }}},
651
+ r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Timestamp : 1000 }}},
652
+ r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr2" , Timestamp : 1100 }}},
653
+ toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr2" , Timestamp : 1100 }}},
654
654
toDelete : []string {},
655
655
},
656
656
"more instances in one ring" : {
@@ -666,15 +666,15 @@ func TestDesc_FindDifference(t *testing.T) {
666
666
toDelete : []string {},
667
667
},
668
668
"different tokens" : {
669
- r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }}}},
670
- r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" }}},
671
- toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" }}},
669
+ r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }, Timestamp : 1000 }}},
670
+ r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Timestamp : 1100 }}},
671
+ toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Timestamp : 1100 }}},
672
672
toDelete : []string {},
673
673
},
674
674
"different tokens 2" : {
675
- r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }}}},
676
- r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 4 }}}},
677
- toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 4 }}}},
675
+ r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }, Timestamp : 1000 }}},
676
+ r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 4 }, Timestamp : 1100 }}},
677
+ toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 4 }, Timestamp : 1100 }}},
678
678
toDelete : []string {},
679
679
},
680
680
"different instances, conflictTokens new lose" : {
@@ -684,9 +684,9 @@ func TestDesc_FindDifference(t *testing.T) {
684
684
toDelete : []string {},
685
685
},
686
686
"different instances, conflictTokens new win" : {
687
- r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing5" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }}}},
688
- r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing5" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }}, "ing2" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 4 }}}},
689
- toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing2" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 4 }}, "ing5" : {Addr : "addr1" , Tokens : []uint32 {3 }}}},
687
+ r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing5" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }, Timestamp : 1000 }}},
688
+ r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing5" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }, Timestamp : 1100 }, "ing2" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 4 }, Timestamp : 1100 }}},
689
+ toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing2" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 4 }, Timestamp : 1100 }, "ing5" : {Addr : "addr1" , Tokens : []uint32 {3 }, Timestamp : 1100 }}},
690
690
toDelete : []string {},
691
691
},
692
692
"same number of instances, using different IDs" : {
@@ -695,6 +695,12 @@ func TestDesc_FindDifference(t *testing.T) {
695
695
toUpdate : & Desc {Ingesters : map [string ]InstanceDesc {"ing2" : {Addr : "addr1" , Tokens : []uint32 {1 , 2 , 3 }}}},
696
696
toDelete : []string {"ing1" },
697
697
},
698
+ "old instance desc should not update newer instance desc" : {
699
+ r1 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr_new" , Tokens : []uint32 {1 , 2 , 3 }, Timestamp : int64 (1000 )}}},
700
+ r2 : & Desc {Ingesters : map [string ]InstanceDesc {"ing1" : {Addr : "addr_old" , Tokens : []uint32 {1 , 2 , 3 }, Timestamp : int64 (900 )}}},
701
+ toUpdate : NewDesc (),
702
+ toDelete : []string {},
703
+ },
698
704
}
699
705
700
706
for testName , testData := range tests {
0 commit comments