aboutsummaryrefslogtreecommitdiff
path: root/weed/sequence
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-06-23 21:22:05 -0700
committerchrislu <chris.lu@gmail.com>2022-06-23 21:22:05 -0700
commit217d7dc37780e72ad78b1885e6fb27f5d01141a1 (patch)
treed1274346e81b4b16f2e6b507fec0cc6f75eff727 /weed/sequence
parent46ae28d64cc9296e76d2c61350708e0765476d0c (diff)
downloadseaweedfs-217d7dc37780e72ad78b1885e6fb27f5d01141a1.tar.xz
seaweedfs-217d7dc37780e72ad78b1885e6fb27f5d01141a1.zip
verify seq is always unique
Diffstat (limited to 'weed/sequence')
-rw-r--r--weed/sequence/snowflake_sequencer_test.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/weed/sequence/snowflake_sequencer_test.go b/weed/sequence/snowflake_sequencer_test.go
new file mode 100644
index 000000000..731e330c5
--- /dev/null
+++ b/weed/sequence/snowflake_sequencer_test.go
@@ -0,0 +1,25 @@
+package sequence
+
+import (
+ "encoding/hex"
+ "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/stretchr/testify/assert"
+ "testing"
+)
+
+func TestSequencer(t *testing.T) {
+ seq, err := NewSnowflakeSequencer("for_test", 1)
+ assert.Equal(t, nil, err)
+ last := uint64(0)
+ bytes := make([]byte, types.NeedleIdSize)
+ for i := 0; i < 100; i++ {
+ next := seq.NextFileId(1)
+ types.NeedleIdToBytes(bytes, types.NeedleId(next))
+ println(hex.EncodeToString(bytes))
+ if last == next {
+ t.Errorf("last %d next %d", last, next)
+ }
+ last = next
+ }
+
+}