Serhiy Storchaka added the comment:
Perhaps will open a separate issue for more compact non-decimal message ID.
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
Roundup Robot added the comment:
New changeset 3c0a817ab616 by Serhiy Storchaka in branch '3.4':
Issue #6598: Avoid clock wrapping around in test_make_msgid_collisions.
https://hg.python.org/cpython/rev/3c0a817ab616
New changeset e259c0ab7a69 by Serhiy Storchaka in branch '3.5':
Issue #6598:
Serhiy Storchaka added the comment:
http://buildbot.python.org/all/builders/x86%20Tiger%202.7/builds/3246/steps/test/logs/stdio
==
FAIL: test_make_msgid_collisions (email.test.test_email.TestMiscellaneous)
Serhiy Storchaka added the comment:
Now there is a question. Is it worth to use base16 (hexadecimal) to compact
message id to 34 characters or base32 to compact it to 27 characters? Using
base16 is pretty easy: just replace %d with %x. Using base32 is more
complicated.
With base64 and base85
Changes by Serhiy Storchaka storch...@gmail.com:
--
assignee: - serhiy.storchaka
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
___
Roundup Robot added the comment:
New changeset 6969bac411fa by Serhiy Storchaka in branch '2.7':
Issue #6598: Increased time precision and random number range in
https://hg.python.org/cpython/rev/6969bac411fa
New changeset ea878f847eee by Serhiy Storchaka in branch '3.4':
Issue #6598: Increased
Barry A. Warsaw added the comment:
On May 19, 2015, at 07:23 AM, Serhiy Storchaka wrote:
Now there is a question. Is it worth to use base16 (hexadecimal) to compact
message id to 34 characters or base32 to compact it to 27 characters? Using
base16 is pretty easy: just replace %d with %x. Using
Barry A. Warsaw added the comment:
An increase of 13 characters doesn't seem so bad.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
___
Serhiy Storchaka added the comment:
Currently the maximal length of local part is
14+1+len(str(2**16))+1+len(str(10**5-1)) == 26
With the patch it will be
len(str(2**31*100))+1+len(str(2**16))+1+len(str(2**64)) = 39
If encode all three numbers with hexadecimal, it will be
Serhiy Storchaka added the comment:
Here is a patch that changes the generating of message IDs:
1. The datetime is taken with higher precision, 2 decimal digits after dot.
2. The datetime is written as Unix time in 0.01 second units, not as
mmddHHMMSS. This is more compact and faster.
3.
R. David Murray added the comment:
Looking at my mail store, it looks like one more more mail clients use a GUID
for the messageid, which is 36 characters. So 39 doesn't seem so bad. There's
even one that is 74 characters long. There are also shorter ones, though, so
compactifying the
Mark Lawrence added the comment:
Can we have a patch review please. If nothing else xrange will have to change
for Python 3.
--
nosy: +BreamoreBoy
versions: +Python 3.4, Python 3.5 -Python 3.1, Python 3.2
___
Python tracker rep...@bugs.python.org
Serhiy Storchaka added the comment:
The probability of a collision when generated n numbers from 0 to m-1 is
1 - factorial(m)/factorial(m-n)/m**n
When n sqrt(m), it is approximately equal to n**2/(2*m). When m = 100,
we have problems for n about 1000. When increase m to 2**32, the
Changes by Varun Sharma varunsharmal...@gmail.com:
--
nosy: +varun
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
___
Python-bugs-list
Changes by Éric Araujo mer...@netwok.org:
--
nosy: +r.david.murray
versions: -Python 2.6
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
Gabriel Genellina gagsl-...@yahoo.com.ar added the comment:
An updated version of the make_msgid patch.
Includes a random part plus a sequential part. Testing takes at most 3
seconds now (we're interested in those msgids generated in a whole
second)
--
Added file:
Changes by Gabriel Genellina gagsl-...@yahoo.com.ar:
Removed file: http://bugs.python.org/file14644/test_email.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
Changes by Gabriel Genellina gagsl-...@yahoo.com.ar:
Removed file: http://bugs.python.org/file14676/utils.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
Gabriel Genellina gagsl-...@yahoo.com.ar added the comment:
--- El jue 6-ago-09, Antoine Pitrou rep...@bugs.python.org escribió:
Antoine Pitrou pit...@free.fr
added the comment:
Is it ok if the message id is predictable?
I don't know of any use of message ids apart from uniquely
Changes by Gabriel Genellina gagsl-...@yahoo.com.ar:
Removed file: http://bugs.python.org/file14643/utils.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
Changes by Gabriel Genellina gagsl-...@yahoo.com.ar:
Added file: http://bugs.python.org/file14676/utils.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
Antoine Pitrou pit...@free.fr added the comment:
Is it ok if the message id is predictable?
Besides, _gen_next_number() can more efficiently be written as:
_gen_next_number = itertools.cycle(xrange(N))
--
nosy: +pitrou
___
Python tracker
Gabriel Genellina gagsl-...@yahoo.com.ar added the comment:
This patch replaces the random part with an increasing sequence (in a
thread safe way).
Also, added a test case for make_msgid (there was none previously)
--
keywords: +patch
nosy: +gagenellina
Added file:
Changes by Gabriel Genellina gagsl-...@yahoo.com.ar:
Added file: http://bugs.python.org/file14644/test_email.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
Changes by Gabriel Genellina gagsl-...@yahoo.com.ar:
--
versions: -3rd party, Python 2.4, Python 2.5, Python 3.0
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
Changes by Gavin Panella ga...@gromper.net:
--
nosy: +allenap
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
___
___
Python-bugs-list mailing
New submission from Michael Hudson m...@users.sourceforge.net:
If you call email.utils.make_msgid a number of times within the same
second, the uniqueness of the results depends on random.randint(10)
returning different values each time.
A little mathematics proves that you don't have to
Michael Hudson m...@users.sourceforge.net added the comment:
A higher resolution timer would also help, of course.
(Thanks to James Knight for the prod).
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6598
28 matches
Mail list logo