Replace `new Random()` with `ThreadLocalRandom`
- Vorherrschende Sprache
- Java
- Sterne
- 6.4k
- Forks
- 1.2k
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 115
Beschreibung
`ThreadLocalRandom` provides better performance than `Random`. I think we should replace the `Random` class except test files or example files.
I search the project files, the `Random` class in the following class or method should be replaced:
- Method: `org.apache.iotdb.influxdb.session.InfluxDBSession#reconnect`
- Class: `org.apache.iotdb.cluster.log.snapshot.PullSnapshotTask`
- Class: `org.apache.iotdb.cluster.server.heartbeat.HeartbeatThread`
- Abstract Class: `org.apache.iotdb.cluster.server.member.RaftMember`
- Class: `org.apache.iotdb.db.engine.modification.ModificationFile`
- Class: `org.apache.iotdb.db.engine.storagegroup.TsFileResource`
- Method: `org.apache.iotdb.db.service.thrift.impl.InternalServiceImpl#getHeartBeat`
- Method: `org.apache.iotdb.session.SessionConnection#reconnect`
- Class: `org.apache.iotdb.library.dprofile.UDTFSample`
- Class: `org.apache.iotdb.commons.udf.builtin.UDTFEqualSizeBucketRandomSample`
Related issue: #5880
Beitragsleitfaden
Rechercherichtung
Finde die aufgeführten Java-Klassen und -Methoden, einschließlich InfluxDBSession#reconnect, PullSnapshotTask, HeartbeatThread, RaftMember, ModificationFile, TsFileResource, InternalServiceImpl#getHeartBeat, SessionConnection#reconnect, UDTFSample und UDTFEqualSizeBucketRandomSample. Überprüfe jede Verwendung von Random im Produktionscode und schließe Test- und Beispieldateien aus. Als abgeschlossen gilt die Aufgabe, wenn die aufgeführten geeigneten Verwendungen ThreadLocalRandom verwenden und der zugehörige Issue #5880 weiterhin konsistent ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- backend, databases
- Issue-Typ
- Refactoring
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100