apache / apache/iotdb

Replace `new Random()` with `ThreadLocalRandom`

Abierto
#6,142 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
6.4k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
115

Descripción

`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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Localiza las clases y métodos Java indicados, incluidos InfluxDBSession#reconnect, PullSnapshotTask, HeartbeatThread, RaftMember, ModificationFile, TsFileResource, InternalServiceImpl#getHeartBeat, SessionConnection#reconnect, UDTFSample y UDTFEqualSizeBucketRandomSample. Revisa cada uso de Random en producción, excluyendo los archivos de pruebas y ejemplos. Se considera terminado cuando los usos elegibles indicados utilizan ThreadLocalRandom y el issue relacionado #5880 sigue siendo coherente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
backend, databases
Tipo de issue
Refactorización
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.