snowflake: fix overflow bug

bugfix ported from 40cbd0bdef
This commit is contained in:
Luna 2019-01-19 16:38:54 -03:00
parent 64814a979e
commit 0eec28a058
1 changed files with 3 additions and 1 deletions

View File

@ -70,7 +70,9 @@ def _snowflake(timestamp: int) -> Snowflake:
global _generated_ids global _generated_ids
# bits 0-12 encode _generated_ids (size 12) # bits 0-12 encode _generated_ids (size 12)
genid_b = '{0:012b}'.format(_generated_ids)
# modulo'd to prevent overflows
genid_b = '{0:012b}'.format(_generated_ids % 4096)
# bits 12-17 encode PROCESS_ID (size 5) # bits 12-17 encode PROCESS_ID (size 5)
procid_b = '{0:05b}'.format(PROCESS_ID) procid_b = '{0:05b}'.format(PROCESS_ID)