Skip to content

Commit bbf6a93

Browse files
authored
Merge pull request tronprotocol#2708 from tomos01/keepAliveInterval_configurable
keepAliveInterval configurable
2 parents e517c50 + c6f94f4 commit bbf6a93

File tree

6 files changed

+33
-7
lines changed

6 files changed

+33
-7
lines changed

common/src/main/java/org/tron/common/parameter/CommonParameter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,10 @@ public class CommonParameter {
319319
@Setter
320320
public int backupPort;
321321

322+
@Getter
323+
@Setter
324+
public int keepAliveInterval;
325+
322326
@Getter
323327
@Setter
324328
public List<String> backupMembers;

common/src/main/java/org/tron/core/Constant.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ public class Constant {
217217

218218
public static final String NODE_BACKUP_PRIORITY = "node.backup.priority";
219219
public static final String NODE_BACKUP_PORT = "node.backup.port";
220+
public static final String NODE_BACKUP_KEEPALIVEINTERVAL = "node.backup.keepAliveInterval";
220221
public static final String NODE_BACKUP_MEMBERS = "node.backup.members";
221222

222223
public static final String STORAGE_BACKUP_ENABLE = "storage.backup.enable";

framework/src/main/java/org/tron/common/backup/BackupManager.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ public class BackupManager implements EventHandler {
3131

3232
private int port = parameter.getBackupPort();
3333

34+
private int keepAliveInterval = parameter.getKeepAliveInterval();
35+
36+
private int keepAliveTimeout = keepAliveInterval * 6;
37+
3438
private String localIp = "";
3539

3640
private Set<String> members = new ConcurrentSet<>();
@@ -43,8 +47,6 @@ public class BackupManager implements EventHandler {
4347

4448
private volatile long lastKeepAliveTime;
4549

46-
private volatile long keepAliveTimeout = 10_000;
47-
4850
private volatile boolean isInit = false;
4951

5052
public void setMessageHandler(MessageHandler messageHandler) {
@@ -105,7 +107,7 @@ public void init() {
105107
} catch (Throwable t) {
106108
logger.error("Exception in send keep alive message:{}", t.getMessage());
107109
}
108-
}, 1, 1, TimeUnit.SECONDS);
110+
}, 1000, keepAliveInterval, TimeUnit.MILLISECONDS);
109111
}
110112

111113
@Override

framework/src/main/java/org/tron/core/config/args/Args.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -921,13 +921,18 @@ private static void initRocksDbBackupProperty(Config config) {
921921
private static void initBackupProperty(Config config) {
922922
PARAMETER.backupPriority = config.hasPath(Constant.NODE_BACKUP_PRIORITY)
923923
? config.getInt(Constant.NODE_BACKUP_PRIORITY) : 0;
924+
924925
PARAMETER.backupPort = config.hasPath(Constant.NODE_BACKUP_PORT)
925926
? config.getInt(Constant.NODE_BACKUP_PORT) : 10001;
927+
928+
PARAMETER.keepAliveInterval = config.hasPath(Constant.NODE_BACKUP_KEEPALIVEINTERVAL)
929+
? config.getInt(Constant.NODE_BACKUP_KEEPALIVEINTERVAL) : 3000;
930+
926931
PARAMETER.backupMembers = config.hasPath(Constant.NODE_BACKUP_MEMBERS)
927932
? config.getStringList(Constant.NODE_BACKUP_MEMBERS) : new ArrayList<>();
928933
}
929934

930-
private static void logConfig() {
935+
public static void logConfig() {
931936
CommonParameter parameter = CommonParameter.getInstance();
932937
logger.info("\n");
933938
logger.info("************************ Net config ************************");
@@ -944,9 +949,10 @@ private static void logConfig() {
944949
logger.info("Max connection with same IP: {}", parameter.getNodeMaxActiveNodesWithSameIp());
945950
logger.info("Solidity threads: {}", parameter.getSolidityThreads());
946951
logger.info("************************ Backup config ************************");
952+
logger.info("Backup priority: {}", parameter.getBackupPriority());
947953
logger.info("Backup listen port: {}", parameter.getBackupPort());
954+
logger.info("Backup listen keepAliveInterval: {}", parameter.getKeepAliveInterval());
948955
logger.info("Backup member size: {}", parameter.getBackupMembers().size());
949-
logger.info("Backup priority: {}", parameter.getBackupPriority());
950956
logger.info("************************ Code version *************************");
951957
logger.info("Code version : {}", Version.getVersion());
952958
logger.info("Version name: {}", Version.versionName);

framework/src/main/resources/config.conf

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,15 @@ node.discovery = {
8282
}
8383

8484
node.backup {
85-
port = 10001
86-
8785
# my priority, each member should use different priority
8886
priority = 8
8987

88+
# udp listen port, each member should have the save configuration
89+
port = 10001
90+
91+
# time interval to send keepAlive message, each member should have the save configuration
92+
keepAliveInterval = 3000
93+
9094
# peer's ip list, can't contain mine
9195
members = [
9296
# "ip",

framework/src/test/java/org/tron/core/config/args/ArgsTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,15 @@ public void get() {
4040
Args.setParam(new String[]{"-w"}, Constant.TEST_CONF);
4141

4242
CommonParameter parameter = Args.getInstance();
43+
44+
Args.logConfig();
45+
46+
Assert.assertEquals(0, parameter.getBackupPriority());
47+
48+
Assert.assertEquals(3000, parameter.getKeepAliveInterval());
49+
50+
Assert.assertEquals(10001, parameter.getBackupPort());
51+
4352
Assert.assertEquals("database", parameter.getStorage().getDbDirectory());
4453

4554
Assert.assertEquals(11, parameter.getSeedNode().getIpList().size());

0 commit comments

Comments
 (0)