lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dawid Weiss <>
Subject Re: CC0 license compatibility
Date Wed, 02 Jan 2013 10:52:56 GMT
> That's what the sampling code does - it holds an AtomicLongArray of fixed length, and
updates the values in there randomly.  There's also an ExponentiallyDecayingSample which biases
the collection of values towards more recent entries, for the 5-minute and 15-minute window
averages.  You can see the patch here:

Ah, ok! I just remembered that some of this stuff was exploding memory
and Uwe reverted it so that Jenkins could do its job. Don't know if it
was a bug or something else - had very little time to look into it.

> TBH, I'm not even sure we need a ThreadLocal random here, though.  Are there likely to
be thread-safety issues when generating random numbers?

I think they may be using it to avoid synchronizations on the default
Random implementation. I honestly don't think this is going to be a
problem in practice if you replaced the ThreadLocal random with just a
Random (even if there are conflicts adding random + random noise =
random noise). If the rate of updates is really high, or if you want a
better random generator than the default (which you may want to
consider) then copy a random generator from commons math and voila,
should be fine?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message