Skip to content

Commit

Permalink
Remove removedAt from RHTNode
Browse files Browse the repository at this point in the history
  • Loading branch information
justiceHui committed Jan 8, 2024
1 parent 080822a commit 4426a41
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions pkg/document/crdt/rht.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ type RHTNode struct {
key string
val string
updatedAt *time.Ticket
removedAt *time.Ticket
isRemoved bool
}

Expand All @@ -38,20 +37,19 @@ func newRHTNode(key, val string, updatedAt *time.Ticket) *RHTNode {
key: key,
val: val,
updatedAt: updatedAt,
isRemoved: false,
}
}

// Remove removes this node. It only marks the deleted time (tombstone).
func (n *RHTNode) Remove(removedAt *time.Ticket) {
if n.removedAt == nil || removedAt.After(n.removedAt) {
n.removedAt = removedAt
n.isRemoved = true
}
n.updatedAt = removedAt
n.isRemoved = true
}

// IsRemoved returns the node has been removed.
func (n *RHTNode) IsRemoved() bool {
return n.removedAt != nil && n.isRemoved
return n.isRemoved
}

// Key returns the key of this node.
Expand All @@ -69,11 +67,6 @@ func (n *RHTNode) UpdatedAt() *time.Ticket {
return n.updatedAt
}

// RemovedAt returns the deletion time of this node.
func (n *RHTNode) RemovedAt() *time.Ticket {
return n.removedAt
}

// RHT is a hashtable with logical clock(Replicated hashtable).
// For more details about RHT: http://csl.skku.edu/papers/jpdc11.pdf
// NOTE(justiceHui): RHT and ElementRHT has duplicated functions.
Expand Down

1 comment on commit 4426a41

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go Benchmark

Benchmark suite Current: 4426a41 Previous: 50b3c50 Ratio
BenchmarkDocument/constructor_test - ns/op 1318 ns/op 1542 ns/op 0.85
BenchmarkDocument/constructor_test - B/op 1208 B/op 1208 B/op 1
BenchmarkDocument/constructor_test - allocs/op 20 allocs/op 20 allocs/op 1
BenchmarkDocument/status_test - ns/op 773.7 ns/op 780 ns/op 0.99
BenchmarkDocument/status_test - B/op 1176 B/op 1176 B/op 1
BenchmarkDocument/status_test - allocs/op 18 allocs/op 18 allocs/op 1
BenchmarkDocument/equals_test - ns/op 7991 ns/op 7138 ns/op 1.12
BenchmarkDocument/equals_test - B/op 6913 B/op 6913 B/op 1
BenchmarkDocument/equals_test - allocs/op 120 allocs/op 120 allocs/op 1
BenchmarkDocument/nested_update_test - ns/op 15974 ns/op 16248 ns/op 0.98
BenchmarkDocument/nested_update_test - B/op 11962 B/op 11963 B/op 1.00
BenchmarkDocument/nested_update_test - allocs/op 254 allocs/op 254 allocs/op 1
BenchmarkDocument/delete_test - ns/op 21745 ns/op 22078 ns/op 0.98
BenchmarkDocument/delete_test - B/op 15188 B/op 15188 B/op 1
BenchmarkDocument/delete_test - allocs/op 333 allocs/op 333 allocs/op 1
BenchmarkDocument/object_test - ns/op 8270 ns/op 8387 ns/op 0.99
BenchmarkDocument/object_test - B/op 6721 B/op 6721 B/op 1
BenchmarkDocument/object_test - allocs/op 116 allocs/op 116 allocs/op 1
BenchmarkDocument/array_test - ns/op 28452 ns/op 28691 ns/op 0.99
BenchmarkDocument/array_test - B/op 11819 B/op 11819 B/op 1
BenchmarkDocument/array_test - allocs/op 270 allocs/op 270 allocs/op 1
BenchmarkDocument/text_test - ns/op 30499 ns/op 31234 ns/op 0.98
BenchmarkDocument/text_test - B/op 14884 B/op 15412 B/op 0.97
BenchmarkDocument/text_test - allocs/op 468 allocs/op 479 allocs/op 0.98
BenchmarkDocument/text_composition_test - ns/op 28647 ns/op 28838 ns/op 0.99
BenchmarkDocument/text_composition_test - B/op 18398 B/op 18590 B/op 0.99
BenchmarkDocument/text_composition_test - allocs/op 477 allocs/op 481 allocs/op 0.99
BenchmarkDocument/rich_text_test - ns/op 80470 ns/op 84725 ns/op 0.95
BenchmarkDocument/rich_text_test - B/op 38644 B/op 47959 B/op 0.81
BenchmarkDocument/rich_text_test - allocs/op 1147 allocs/op 1216 allocs/op 0.94
BenchmarkDocument/counter_test - ns/op 16497 ns/op 16633 ns/op 0.99
BenchmarkDocument/counter_test - B/op 10210 B/op 10210 B/op 1
BenchmarkDocument/counter_test - allocs/op 236 allocs/op 236 allocs/op 1
BenchmarkDocument/text_edit_gc_100 - ns/op 2898674 ns/op 2896824 ns/op 1.00
BenchmarkDocument/text_edit_gc_100 - B/op 1658573 B/op 1658595 B/op 1.00
BenchmarkDocument/text_edit_gc_100 - allocs/op 17093 allocs/op 17092 allocs/op 1.00
BenchmarkDocument/text_edit_gc_1000 - ns/op 230571909 ns/op 232593749 ns/op 0.99
BenchmarkDocument/text_edit_gc_1000 - B/op 144362982 B/op 144379059 B/op 1.00
BenchmarkDocument/text_edit_gc_1000 - allocs/op 200855 allocs/op 200906 allocs/op 1.00
BenchmarkDocument/text_split_gc_100 - ns/op 3358957 ns/op 3420377 ns/op 0.98
BenchmarkDocument/text_split_gc_100 - B/op 2316783 B/op 2316994 B/op 1.00
BenchmarkDocument/text_split_gc_100 - allocs/op 16195 allocs/op 16196 allocs/op 1.00
BenchmarkDocument/text_split_gc_1000 - ns/op 287057646 ns/op 291333302 ns/op 0.99
BenchmarkDocument/text_split_gc_1000 - B/op 228924664 B/op 228919328 B/op 1.00
BenchmarkDocument/text_split_gc_1000 - allocs/op 203950 allocs/op 203934 allocs/op 1.00
BenchmarkDocument/text_delete_all_10000 - ns/op 10716352 ns/op 11818492 ns/op 0.91
BenchmarkDocument/text_delete_all_10000 - B/op 5810979 B/op 5810678 B/op 1.00
BenchmarkDocument/text_delete_all_10000 - allocs/op 40677 allocs/op 40675 allocs/op 1.00
BenchmarkDocument/text_delete_all_100000 - ns/op 177411842 ns/op 201368223 ns/op 0.88
BenchmarkDocument/text_delete_all_100000 - B/op 81889445 B/op 81900570 B/op 1.00
BenchmarkDocument/text_delete_all_100000 - allocs/op 411572 allocs/op 411626 allocs/op 1.00
BenchmarkDocument/text_100 - ns/op 227763 ns/op 220270 ns/op 1.03
BenchmarkDocument/text_100 - B/op 120107 B/op 120107 B/op 1
BenchmarkDocument/text_100 - allocs/op 5080 allocs/op 5080 allocs/op 1
BenchmarkDocument/text_1000 - ns/op 2462192 ns/op 2429840 ns/op 1.01
BenchmarkDocument/text_1000 - B/op 1169079 B/op 1169078 B/op 1.00
BenchmarkDocument/text_1000 - allocs/op 50084 allocs/op 50084 allocs/op 1
BenchmarkDocument/array_1000 - ns/op 1211845 ns/op 1191138 ns/op 1.02
BenchmarkDocument/array_1000 - B/op 1091230 B/op 1091341 B/op 1.00
BenchmarkDocument/array_1000 - allocs/op 11825 allocs/op 11826 allocs/op 1.00
BenchmarkDocument/array_10000 - ns/op 13058516 ns/op 13214012 ns/op 0.99
BenchmarkDocument/array_10000 - B/op 9799423 B/op 9800667 B/op 1.00
BenchmarkDocument/array_10000 - allocs/op 120289 allocs/op 120294 allocs/op 1.00
BenchmarkDocument/array_gc_100 - ns/op 151402 ns/op 144166 ns/op 1.05
BenchmarkDocument/array_gc_100 - B/op 132497 B/op 132489 B/op 1.00
BenchmarkDocument/array_gc_100 - allocs/op 1248 allocs/op 1248 allocs/op 1
BenchmarkDocument/array_gc_1000 - ns/op 1407188 ns/op 1375392 ns/op 1.02
BenchmarkDocument/array_gc_1000 - B/op 1158929 B/op 1158914 B/op 1.00
BenchmarkDocument/array_gc_1000 - allocs/op 12865 allocs/op 12864 allocs/op 1.00
BenchmarkDocument/counter_1000 - ns/op 204467 ns/op 198354 ns/op 1.03
BenchmarkDocument/counter_1000 - B/op 192853 B/op 192853 B/op 1
BenchmarkDocument/counter_1000 - allocs/op 5765 allocs/op 5765 allocs/op 1
BenchmarkDocument/counter_10000 - ns/op 2172048 ns/op 2157794 ns/op 1.01
BenchmarkDocument/counter_10000 - B/op 2087767 B/op 2087766 B/op 1.00
BenchmarkDocument/counter_10000 - allocs/op 59772 allocs/op 59772 allocs/op 1
BenchmarkDocument/object_1000 - ns/op 1347600 ns/op 1354096 ns/op 1.00
BenchmarkDocument/object_1000 - B/op 1428029 B/op 1428036 B/op 1.00
BenchmarkDocument/object_1000 - allocs/op 9845 allocs/op 9845 allocs/op 1
BenchmarkDocument/object_10000 - ns/op 14268885 ns/op 15028111 ns/op 0.95
BenchmarkDocument/object_10000 - B/op 12168514 B/op 12166744 B/op 1.00
BenchmarkDocument/object_10000 - allocs/op 100565 allocs/op 100559 allocs/op 1.00
BenchmarkDocument/tree_100 - ns/op 1031247 ns/op 1049112 ns/op 0.98
BenchmarkDocument/tree_100 - B/op 943676 B/op 943678 B/op 1.00
BenchmarkDocument/tree_100 - allocs/op 6099 allocs/op 6099 allocs/op 1
BenchmarkDocument/tree_1000 - ns/op 74537422 ns/op 79782715 ns/op 0.93
BenchmarkDocument/tree_1000 - B/op 86461467 B/op 86460627 B/op 1.00
BenchmarkDocument/tree_1000 - allocs/op 60114 allocs/op 60114 allocs/op 1
BenchmarkDocument/tree_10000 - ns/op 9431441531 ns/op 9957562898 ns/op 0.95
BenchmarkDocument/tree_10000 - B/op 8580976008 B/op 8580990424 B/op 1.00
BenchmarkDocument/tree_10000 - allocs/op 600250 allocs/op 600232 allocs/op 1.00
BenchmarkDocument/tree_delete_all_1000 - ns/op 74891730 ns/op 77379744 ns/op 0.97
BenchmarkDocument/tree_delete_all_1000 - B/op 86990145 B/op 86990891 B/op 1.00
BenchmarkDocument/tree_delete_all_1000 - allocs/op 67748 allocs/op 67751 allocs/op 1.00
BenchmarkDocument/tree_edit_gc_100 - ns/op 3710546 ns/op 3743356 ns/op 0.99
BenchmarkDocument/tree_edit_gc_100 - B/op 4121049 B/op 4120983 B/op 1.00
BenchmarkDocument/tree_edit_gc_100 - allocs/op 14356 allocs/op 14356 allocs/op 1
BenchmarkDocument/tree_edit_gc_1000 - ns/op 307275745 ns/op 311312288 ns/op 0.99
BenchmarkDocument/tree_edit_gc_1000 - B/op 383467070 B/op 383465558 B/op 1.00
BenchmarkDocument/tree_edit_gc_1000 - allocs/op 145415 allocs/op 145406 allocs/op 1.00
BenchmarkDocument/tree_split_gc_100 - ns/op 2491006 ns/op 2564917 ns/op 0.97
BenchmarkDocument/tree_split_gc_100 - B/op 2386841 B/op 2386900 B/op 1.00
BenchmarkDocument/tree_split_gc_100 - allocs/op 10341 allocs/op 10341 allocs/op 1
BenchmarkDocument/tree_split_gc_1000 - ns/op 184875516 ns/op 194397785 ns/op 0.95
BenchmarkDocument/tree_split_gc_1000 - B/op 221991941 B/op 221990026 B/op 1.00
BenchmarkDocument/tree_split_gc_1000 - allocs/op 112251 allocs/op 112248 allocs/op 1.00
BenchmarkRPC/client_to_server - ns/op 354681887 ns/op 364396329 ns/op 0.97
BenchmarkRPC/client_to_server - B/op 17529666 B/op 18067424 B/op 0.97
BenchmarkRPC/client_to_server - allocs/op 166901 allocs/op 165863 allocs/op 1.01
BenchmarkRPC/client_to_client_via_server - ns/op 604629946 ns/op 625660123 ns/op 0.97
BenchmarkRPC/client_to_client_via_server - B/op 32470488 B/op 32815272 B/op 0.99
BenchmarkRPC/client_to_client_via_server - allocs/op 312386 allocs/op 310207 allocs/op 1.01
BenchmarkRPC/attach_large_document - ns/op 1146300897 ns/op 1355198048 ns/op 0.85
BenchmarkRPC/attach_large_document - B/op 1888397272 B/op 1868233624 B/op 1.01
BenchmarkRPC/attach_large_document - allocs/op 7496 allocs/op 7466 allocs/op 1.00
BenchmarkRPC/adminCli_to_server - ns/op 537565594 ns/op 549909416 ns/op 0.98
BenchmarkRPC/adminCli_to_server - B/op 35987384 B/op 36780108 B/op 0.98
BenchmarkRPC/adminCli_to_server - allocs/op 289717 allocs/op 288662 allocs/op 1.00
BenchmarkLocker - ns/op 64.05 ns/op 65.86 ns/op 0.97
BenchmarkLocker - B/op 16 B/op 16 B/op 1
BenchmarkLocker - allocs/op 1 allocs/op 1 allocs/op 1
BenchmarkLockerParallel - ns/op 39.85 ns/op 38.59 ns/op 1.03
BenchmarkLockerParallel - B/op 0 B/op 0 B/op NaN
BenchmarkLockerParallel - allocs/op 0 allocs/op 0 allocs/op NaN
BenchmarkLockerMoreKeys - ns/op 145 ns/op 148.9 ns/op 0.97
BenchmarkLockerMoreKeys - B/op 15 B/op 15 B/op 1
BenchmarkLockerMoreKeys - allocs/op 0 allocs/op 0 allocs/op NaN
BenchmarkChange/Push_10_Changes - ns/op 3764750 ns/op 3838436 ns/op 0.98
BenchmarkChange/Push_10_Changes - B/op 126316 B/op 125677 B/op 1.01
BenchmarkChange/Push_10_Changes - allocs/op 1254 allocs/op 1254 allocs/op 1
BenchmarkChange/Push_100_Changes - ns/op 14090794 ns/op 14440415 ns/op 0.98
BenchmarkChange/Push_100_Changes - B/op 642610 B/op 647975 B/op 0.99
BenchmarkChange/Push_100_Changes - allocs/op 6538 allocs/op 6540 allocs/op 1.00
BenchmarkChange/Push_1000_Changes - ns/op 112928812 ns/op 115497921 ns/op 0.98
BenchmarkChange/Push_1000_Changes - B/op 6115704 B/op 6151829 B/op 0.99
BenchmarkChange/Push_1000_Changes - allocs/op 62160 allocs/op 62159 allocs/op 1.00
BenchmarkChange/Pull_10_Changes - ns/op 2831893 ns/op 2909758 ns/op 0.97
BenchmarkChange/Pull_10_Changes - B/op 100564 B/op 100076 B/op 1.00
BenchmarkChange/Pull_10_Changes - allocs/op 952 allocs/op 952 allocs/op 1
BenchmarkChange/Pull_100_Changes - ns/op 4518884 ns/op 4414877 ns/op 1.02
BenchmarkChange/Pull_100_Changes - B/op 258122 B/op 256121 B/op 1.01
BenchmarkChange/Pull_100_Changes - allocs/op 3155 allocs/op 3154 allocs/op 1.00
BenchmarkChange/Pull_1000_Changes - ns/op 9335884 ns/op 8566513 ns/op 1.09
BenchmarkChange/Pull_1000_Changes - B/op 1397138 B/op 1392837 B/op 1.00
BenchmarkChange/Pull_1000_Changes - allocs/op 26869 allocs/op 26865 allocs/op 1.00
BenchmarkSnapshot/Push_3KB_snapshot - ns/op 17447962 ns/op 17384863 ns/op 1.00
BenchmarkSnapshot/Push_3KB_snapshot - B/op 803423 B/op 802328 B/op 1.00
BenchmarkSnapshot/Push_3KB_snapshot - allocs/op 6542 allocs/op 6549 allocs/op 1.00
BenchmarkSnapshot/Push_30KB_snapshot - ns/op 119317770 ns/op 118971166 ns/op 1.00
BenchmarkSnapshot/Push_30KB_snapshot - B/op 6324816 B/op 6156721 B/op 1.03
BenchmarkSnapshot/Push_30KB_snapshot - allocs/op 62260 allocs/op 62158 allocs/op 1.00
BenchmarkSnapshot/Pull_3KB_snapshot - ns/op 6918476 ns/op 6602183 ns/op 1.05
BenchmarkSnapshot/Pull_3KB_snapshot - B/op 904692 B/op 902235 B/op 1.00
BenchmarkSnapshot/Pull_3KB_snapshot - allocs/op 14876 allocs/op 14878 allocs/op 1.00
BenchmarkSnapshot/Pull_30KB_snapshot - ns/op 15011692 ns/op 14754933 ns/op 1.02
BenchmarkSnapshot/Pull_30KB_snapshot - B/op 6985658 B/op 6981411 B/op 1.00
BenchmarkSnapshot/Pull_30KB_snapshot - allocs/op 144139 allocs/op 144131 allocs/op 1.00
BenchmarkSync/memory_sync_10_test - ns/op 6889 ns/op 6984 ns/op 0.99
BenchmarkSync/memory_sync_10_test - B/op 1286 B/op 1286 B/op 1
BenchmarkSync/memory_sync_10_test - allocs/op 38 allocs/op 38 allocs/op 1
BenchmarkSync/memory_sync_100_test - ns/op 50923 ns/op 51752 ns/op 0.98
BenchmarkSync/memory_sync_100_test - B/op 8728 B/op 8655 B/op 1.01
BenchmarkSync/memory_sync_100_test - allocs/op 278 allocs/op 274 allocs/op 1.01
BenchmarkSync/memory_sync_1000_test - ns/op 605861 ns/op 593943 ns/op 1.02
BenchmarkSync/memory_sync_1000_test - B/op 74866 B/op 74410 B/op 1.01
BenchmarkSync/memory_sync_1000_test - allocs/op 2143 allocs/op 2113 allocs/op 1.01
BenchmarkSync/memory_sync_10000_test - ns/op 7756394 ns/op 7699568 ns/op 1.01
BenchmarkSync/memory_sync_10000_test - B/op 758937 B/op 761656 B/op 1.00
BenchmarkSync/memory_sync_10000_test - allocs/op 20639 allocs/op 20495 allocs/op 1.01
BenchmarkTextEditing - ns/op 20477440450 ns/op 19296651559 ns/op 1.06
BenchmarkTextEditing - B/op 9042142008 B/op 9041594456 B/op 1.00
BenchmarkTextEditing - allocs/op 19923442 allocs/op 19920775 allocs/op 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.