iotdb icon indicating copy to clipboard operation
iotdb copied to clipboard

Save and re-use this "Random".

Open MinaQin opened this issue 2 years ago • 2 comments

Code Path: confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java image Creating a new Random object each time a random value is needed is inefficient and may produce numbers which are not random depending on the JDK. For better efficiency and randomness, create a single Random, then store, and reuse it.

The Random() constructor tries to set the seed with a distinct value every time. However there is no guarantee that the seed will be random or even uniformly distributed. Some JDK will use the current time as seed, which makes the generated numbers not random at all.

This rule finds cases where a new Random is created each time a method is invoked.

MinaQin avatar May 12 '22 10:05 MinaQin

My idea is to add a cache to store random. If this idea is possible, please assigned it to me

azhsmesos avatar Jun 08 '22 07:06 azhsmesos

thank you

azhsmesos avatar Jul 20 '22 02:07 azhsmesos