diff --git a/C#/source/Yitter.IdGenerator/Core/SnowWorkerM1.cs b/C#/source/Yitter.IdGenerator/Core/SnowWorkerM1.cs index 32750470077a7ec5eee37fdfb10a3a1ef205e509..3a6d6f53adc8ba052c28c41a066e8cd84d8773c1 100644 --- a/C#/source/Yitter.IdGenerator/Core/SnowWorkerM1.cs +++ b/C#/source/Yitter.IdGenerator/Core/SnowWorkerM1.cs @@ -100,7 +100,7 @@ namespace Yitter.IdGenerator if (MaxSeqNumber == 0) { - MaxSeqNumber = (int)Math.Pow(2, SeqBitLength); + MaxSeqNumber = (int)Math.Pow(2, SeqBitLength)-1; } _TimestampShift = (byte)(WorkerIdBitLength + SeqBitLength); diff --git a/C#/source/Yitter.IdGenerator/DefaultIdGenerator.cs b/C#/source/Yitter.IdGenerator/DefaultIdGenerator.cs index 01a6acfd0a6c84de1dfcdf9808c91ccbebe18002..6b9ece593e49f09b6eb541300e27e59cdaf45eb1 100644 --- a/C#/source/Yitter.IdGenerator/DefaultIdGenerator.cs +++ b/C#/source/Yitter.IdGenerator/DefaultIdGenerator.cs @@ -57,11 +57,10 @@ namespace Yitter.IdGenerator } var maxSeqNumber = Math.Pow(2, options.SeqBitLength) - 1; - if (options.MaxSeqNumber > maxSeqNumber) - { - options.MaxSeqNumber = (int)maxSeqNumber; - } - + //if (options.MaxSeqNumber > maxSeqNumber) + //{ + // options.MaxSeqNumber = (int)maxSeqNumber; + //} if (options.MaxSeqNumber < 0 || options.MaxSeqNumber > maxSeqNumber) { throw new ApplicationException("MaxSeqNumber error. (range:[1, " + maxSeqNumber + "]"); diff --git a/Java/source/src/main/java/com/yitter/contract/IdGeneratorOptions.java b/Java/source/src/main/java/com/yitter/contract/IdGeneratorOptions.java index 7984b7a3982b19489017dd0c391bb9e336f58c5f..0980cd4b7b64bcfc6fe48edad53a14d1c118e59f 100644 --- a/Java/source/src/main/java/com/yitter/contract/IdGeneratorOptions.java +++ b/Java/source/src/main/java/com/yitter/contract/IdGeneratorOptions.java @@ -50,9 +50,9 @@ public class IdGeneratorOptions { /** * 最小序列数(含) - * 默认11,不小于5,不大于MaxSeqNumber-2 + * 默认5,不小于1,不大于MaxSeqNumber-1 */ - public short MinSeqNumber = 11; + public short MinSeqNumber = 5; /** * 最大漂移次数(含)