aboutsummaryrefslogtreecommitdiff
path: root/weed/sequence
diff options
context:
space:
mode:
Diffstat (limited to 'weed/sequence')
-rw-r--r--weed/sequence/snowflake_sequencer.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/weed/sequence/snowflake_sequencer.go b/weed/sequence/snowflake_sequencer.go
index 300449fa0..381933b3a 100644
--- a/weed/sequence/snowflake_sequencer.go
+++ b/weed/sequence/snowflake_sequencer.go
@@ -13,8 +13,11 @@ type SnowflakeSequencer struct {
node *snowflake.Node
}
-func NewSnowflakeSequencer(nodeid string) (*SnowflakeSequencer, error) {
+func NewSnowflakeSequencer(nodeid string, snowflakeId int) (*SnowflakeSequencer, error) {
nodeid_hash := hash(nodeid) & 0x3ff
+ if snowflakeId != 0 {
+ nodeid_hash = uint32(snowflakeId)
+ }
glog.V(0).Infof("use snowflake seq id generator, nodeid:%s hex_of_nodeid: %x", nodeid, nodeid_hash)
node, err := snowflake.NewNode(int64(nodeid_hash))
if err != nil {