• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

apache / iotdb / #10019

07 Sep 2023 04:50AM UTC coverage: 47.489% (-0.2%) from 47.655%
#10019

push

travis_ci

web-flow
Pipe: Fix ConcurrentModificationException caused by concurrently iterating through CachedSchemaPatternMatcher.extractors when an PipeHeartbeatEvent is being assigned (#11074)

* try to fix ConcurrentModificationException when assigning PipeHeartbeatEvent

* Update CachedSchemaPatternMatcher.java

---------

Co-authored-by: 马子坤 <55695098+DanielWang2035@users.noreply.github.com>

1 of 1 new or added line in 1 file covered. (100.0%)

80551 of 169622 relevant lines covered (47.49%)

0.47 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

87.86
/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java
1
/*
2
 * Licensed to the Apache Software Foundation (ASF) under one
3
 * or more contributor license agreements.  See the NOTICE file
4
 * distributed with this work for additional information
5
 * regarding copyright ownership.  The ASF licenses this file
6
 * to you under the Apache License, Version 2.0 (the
7
 * "License"); you may not use this file except in compliance
8
 * with the License.  You may obtain a copy of the License at
9
 *
10
 *      http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing,
13
 * software distributed under the License is distributed on an
14
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
 * KIND, either express or implied.  See the License for the
16
 * specific language governing permissions and limitations
17
 * under the License.
18
 */
19

20
package org.apache.iotdb.commons.conf;
21

22
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
23
import org.apache.iotdb.commons.client.property.ClientPoolProperty.DefaultProperty;
24
import org.apache.iotdb.commons.cluster.NodeStatus;
25
import org.apache.iotdb.commons.enums.HandleSystemErrorStrategy;
26
import org.apache.iotdb.commons.utils.FileUtils;
27
import org.apache.iotdb.tsfile.fileSystem.FSType;
28

29
import org.slf4j.Logger;
30
import org.slf4j.LoggerFactory;
31

32
import java.io.File;
33
import java.io.IOException;
34
import java.util.concurrent.TimeUnit;
35

36
public class CommonConfig {
37

38
  public static final String CONFIG_NAME = "iotdb-common.properties";
39
  private static final Logger logger = LoggerFactory.getLogger(CommonConfig.class);
1✔
40

41
  // Open ID Secret
42
  private String openIdProviderUrl = "";
1✔
43

44
  // The authorizer provider class which extends BasicAuthorizer
45
  private String authorizerProvider =
1✔
46
      "org.apache.iotdb.commons.auth.authorizer.LocalFileAuthorizer";
47

48
  /** Encryption provider class. */
49
  private String encryptDecryptProvider =
1✔
50
      "org.apache.iotdb.commons.security.encrypt.MessageDigestEncrypt";
51

52
  /** Encryption provided class parameter. */
53
  private String encryptDecryptProviderParameter;
54

55
  private String adminName = "root";
1✔
56

57
  private String adminPassword = "root";
1✔
58

59
  private String userFolder =
1✔
60
      IoTDBConstant.DEFAULT_BASE_DIR
61
          + File.separator
62
          + IoTDBConstant.SYSTEM_FOLDER_NAME
63
          + File.separator
64
          + "users";
65

66
  private String roleFolder =
1✔
67
      IoTDBConstant.DEFAULT_BASE_DIR
68
          + File.separator
69
          + IoTDBConstant.SYSTEM_FOLDER_NAME
70
          + File.separator
71
          + "roles";
72

73
  private String procedureWalFolder =
1✔
74
      IoTDBConstant.DEFAULT_BASE_DIR
75
          + File.separator
76
          + IoTDBConstant.SYSTEM_FOLDER_NAME
77
          + File.separator
78
          + "procedure";
79

80
  /** Sync directory, including the log and hardlink tsFiles. */
81
  private String syncDir =
1✔
82
      IoTDBConstant.DEFAULT_BASE_DIR + File.separator + IoTDBConstant.SYNC_FOLDER_NAME;
83

84
  /** WAL directories. */
85
  private String[] walDirs = {
1✔
86
    IoTDBConstant.DEFAULT_BASE_DIR + File.separator + IoTDBConstant.WAL_FOLDER_NAME
87
  };
88

89
  /** Default system file storage is in local file system (unsupported). */
90
  private FSType systemFileStorageFs = FSType.LOCAL;
1✔
91

92
  /**
93
   * Default TTL for databases that are not set TTL by statements. If tiered storage is enabled,
94
   * data matches the last ttl will be deleted and other data will be migrated to the next tier.
95
   * Notice: if this property is changed, previous created database which are not set TTL will also
96
   * be affected. Unit: millisecond
97
   */
98
  private long[] tierTTLInMs = {Long.MAX_VALUE};
1✔
99

100
  /** Thrift socket and connection timeout between data node and config node. */
101
  private int connectionTimeoutInMS = (int) TimeUnit.SECONDS.toMillis(20);
1✔
102

103
  /**
104
   * ClientManager will have so many selector threads (TAsyncClientManager) to distribute to its
105
   * clients.
106
   */
107
  private int selectorNumOfClientManager = 1;
1✔
108

109
  /** Whether to use thrift compression. */
110
  private boolean isRpcThriftCompressionEnabled = false;
1✔
111

112
  private int coreClientNumForEachNode = DefaultProperty.CORE_CLIENT_NUM_FOR_EACH_NODE;
1✔
113
  private int maxClientNumForEachNode = DefaultProperty.MAX_CLIENT_NUM_FOR_EACH_NODE;
1✔
114

115
  /** What will the system do when unrecoverable error occurs. */
116
  private HandleSystemErrorStrategy handleSystemErrorStrategy =
1✔
117
      HandleSystemErrorStrategy.CHANGE_TO_READ_ONLY;
118

119
  /** Status of current system. */
120
  private volatile NodeStatus status = NodeStatus.Running;
1✔
121

122
  private volatile boolean isStopping = false;
1✔
123

124
  private volatile String statusReason = null;
1✔
125

126
  private final int TTimePartitionSlotTransmitLimit = 1000;
1✔
127

128
  /** Disk Monitor. */
129
  private double diskSpaceWarningThreshold = 0.05;
1✔
130

131
  /** Ip and port of target ML node. */
132
  private TEndPoint targetMLNodeEndPoint = new TEndPoint("127.0.0.1", 10810);
1✔
133

134
  /** Time partition interval in milliseconds. */
135
  private long timePartitionInterval = 604_800_000;
1✔
136

137
  /** This variable set timestamp precision as millisecond, microsecond or nanosecond. */
138
  private String timestampPrecision = "ms";
1✔
139

140
  /** The number of threads in the thread pool that execute model inference tasks. */
141
  private int modelInferenceExecutionThreadCount = 5;
1✔
142

143
  /**
144
   * The name of the directory that stores the tsfiles temporarily hold or generated by the pipe
145
   * module. The directory is located in the data directory of IoTDB.
146
   */
147
  private String pipeHardlinkBaseDirName = "pipe";
1✔
148

149
  private String pipeHardlinkTsFileDirName = "tsfile";
1✔
150

151
  private String pipeHardlinkWALDirName = "wal";
1✔
152

153
  private boolean pipeHardLinkWALEnabled = false;
1✔
154

155
  /** The maximum number of threads that can be used to execute subtasks in PipeSubtaskExecutor. */
156
  private int pipeSubtaskExecutorMaxThreadNum =
1✔
157
      Math.min(5, Math.max(1, Runtime.getRuntime().availableProcessors() / 2));
1✔
158

159
  private int pipeSubtaskExecutorBasicCheckPointIntervalByConsumedEventCount = 10_000;
1✔
160
  private long pipeSubtaskExecutorBasicCheckPointIntervalByTimeDuration = 10 * 1000L;
1✔
161
  private long pipeSubtaskExecutorPendingQueueMaxBlockingTimeMs = 1000;
1✔
162

163
  private int pipeExtractorAssignerDisruptorRingBufferSize = 65536;
1✔
164
  private int pipeExtractorMatcherCacheSize = 1024;
1✔
165
  private int pipeExtractorPendingQueueCapacity = 256;
1✔
166
  private int pipeExtractorPendingQueueTabletLimit = pipeExtractorPendingQueueCapacity / 2;
1✔
167
  private int pipeDataStructureTabletRowSize = 2048;
1✔
168

169
  private long pipeConnectorTimeoutMs = 15 * 60 * 1000L; // 15 minutes
1✔
170
  private int pipeConnectorReadFileBufferSize = 8388608;
1✔
171
  private long pipeConnectorRetryIntervalMs = 1000L;
1✔
172
  private int pipeConnectorPendingQueueSize = 16;
1✔
173
  private boolean pipeConnectorRPCThriftCompressionEnabled = false;
1✔
174

175
  private int pipeAsyncConnectorSelectorNumber = 1;
1✔
176
  private int pipeAsyncConnectorCoreClientNumber = 8;
1✔
177
  private int pipeAsyncConnectorMaxClientNumber = 16;
1✔
178

179
  private boolean isSeperatedPipeHeartbeatEnabled = true;
1✔
180
  private int pipeHeartbeatIntervalSecondsForCollectingPipeMeta = 100;
1✔
181
  private long pipeMetaSyncerInitialSyncDelayMinutes = 3;
1✔
182
  private long pipeMetaSyncerSyncIntervalMinutes = 3;
1✔
183
  private long pipeMetaSyncerAutoRestartPipeCheckIntervalRound = 1;
1✔
184
  private boolean pipeAutoRestartEnabled = true;
1✔
185

186
  private boolean pipeAirGapReceiverEnabled = false;
1✔
187
  private int pipeAirGapReceiverPort = 9780;
1✔
188

189
  /** Whether to use persistent schema mode. */
190
  private String schemaEngineMode = "Memory";
1✔
191

192
  /** Whether to enable Last cache. */
193
  private boolean lastCacheEnable = true;
1✔
194

195
  // Max size for tag and attribute of one time series
196
  private int tagAttributeTotalSize = 700;
1✔
197

198
  // maximum number of Cluster Databases allowed
199
  private int databaseLimitThreshold = -1;
1✔
200

201
  CommonConfig() {
1✔
202
    // Empty constructor
203
  }
1✔
204

205
  public void updatePath(String homeDir) {
206
    if (homeDir == null) {
1✔
207
      return;
1✔
208
    }
209

210
    File homeFile = new File(homeDir);
×
211
    try {
212
      homeDir = homeFile.getCanonicalPath();
×
213
    } catch (IOException e) {
×
214
      logger.error("Fail to get canonical path of {}", homeFile, e);
×
215
    }
×
216
    userFolder = FileUtils.addPrefix2FilePath(homeDir, userFolder);
×
217
    roleFolder = FileUtils.addPrefix2FilePath(homeDir, roleFolder);
×
218
    procedureWalFolder = FileUtils.addPrefix2FilePath(homeDir, procedureWalFolder);
×
219
    syncDir = FileUtils.addPrefix2FilePath(homeDir, syncDir);
×
220
    for (int i = 0; i < walDirs.length; i++) {
×
221
      walDirs[i] = FileUtils.addPrefix2FilePath(homeDir, walDirs[i]);
×
222
    }
223
  }
×
224

225
  public String getEncryptDecryptProvider() {
226
    return encryptDecryptProvider;
1✔
227
  }
228

229
  public void setEncryptDecryptProvider(String encryptDecryptProvider) {
230
    this.encryptDecryptProvider = encryptDecryptProvider;
1✔
231
  }
1✔
232

233
  public String getEncryptDecryptProviderParameter() {
234
    return encryptDecryptProviderParameter;
1✔
235
  }
236

237
  public void setEncryptDecryptProviderParameter(String encryptDecryptProviderParameter) {
238
    this.encryptDecryptProviderParameter = encryptDecryptProviderParameter;
1✔
239
  }
1✔
240

241
  public String getOpenIdProviderUrl() {
242
    return openIdProviderUrl;
1✔
243
  }
244

245
  public void setOpenIdProviderUrl(String openIdProviderUrl) {
246
    this.openIdProviderUrl = openIdProviderUrl;
1✔
247
  }
1✔
248

249
  public String getAuthorizerProvider() {
250
    return authorizerProvider;
1✔
251
  }
252

253
  public void setAuthorizerProvider(String authorizerProvider) {
254
    this.authorizerProvider = authorizerProvider;
1✔
255
  }
1✔
256

257
  public String getAdminName() {
258
    return adminName;
1✔
259
  }
260

261
  public void setAdminName(String adminName) {
262
    this.adminName = adminName;
×
263
  }
×
264

265
  public String getAdminPassword() {
266
    return adminPassword;
1✔
267
  }
268

269
  public void setAdminPassword(String adminPassword) {
270
    this.adminPassword = adminPassword;
×
271
  }
×
272

273
  public String getUserFolder() {
274
    return userFolder;
1✔
275
  }
276

277
  public void setUserFolder(String userFolder) {
278
    this.userFolder = userFolder;
1✔
279
  }
1✔
280

281
  public String getRoleFolder() {
282
    return roleFolder;
1✔
283
  }
284

285
  public void setRoleFolder(String roleFolder) {
286
    this.roleFolder = roleFolder;
1✔
287
  }
1✔
288

289
  public String getProcedureWalFolder() {
290
    return procedureWalFolder;
1✔
291
  }
292

293
  public void setProcedureWalFolder(String procedureWalFolder) {
294
    this.procedureWalFolder = procedureWalFolder;
1✔
295
  }
1✔
296

297
  public String getSyncDir() {
298
    return syncDir;
1✔
299
  }
300

301
  public void setSyncDir(String syncDir) {
302
    this.syncDir = syncDir;
1✔
303
  }
1✔
304

305
  public String[] getWalDirs() {
306
    return walDirs;
1✔
307
  }
308

309
  public void setWalDirs(String[] walDirs) {
310
    this.walDirs = walDirs;
1✔
311
  }
1✔
312

313
  public FSType getSystemFileStorageFs() {
314
    return systemFileStorageFs;
1✔
315
  }
316

317
  public void setSystemFileStorageFs(FSType systemFileStorageFs) {
318
    this.systemFileStorageFs = systemFileStorageFs;
×
319
  }
×
320

321
  public long getDefaultTTLInMs() {
322
    return tierTTLInMs[tierTTLInMs.length - 1];
1✔
323
  }
324

325
  public long[] getTierTTLInMs() {
326
    return tierTTLInMs;
1✔
327
  }
328

329
  public void setTierTTLInMs(long[] tierTTLInMs) {
330
    this.tierTTLInMs = tierTTLInMs;
1✔
331
  }
1✔
332

333
  public int getConnectionTimeoutInMS() {
334
    return connectionTimeoutInMS;
1✔
335
  }
336

337
  public void setConnectionTimeoutInMS(int connectionTimeoutInMS) {
338
    this.connectionTimeoutInMS = connectionTimeoutInMS;
1✔
339
  }
1✔
340

341
  public int getSelectorNumOfClientManager() {
342
    return selectorNumOfClientManager;
1✔
343
  }
344

345
  public void setSelectorNumOfClientManager(int selectorNumOfClientManager) {
346
    this.selectorNumOfClientManager = selectorNumOfClientManager;
1✔
347
  }
1✔
348

349
  public boolean isRpcThriftCompressionEnabled() {
350
    return isRpcThriftCompressionEnabled;
1✔
351
  }
352

353
  public void setRpcThriftCompressionEnabled(boolean rpcThriftCompressionEnabled) {
354
    isRpcThriftCompressionEnabled = rpcThriftCompressionEnabled;
1✔
355
  }
1✔
356

357
  public int getMaxClientNumForEachNode() {
358
    return maxClientNumForEachNode;
1✔
359
  }
360

361
  public void setMaxClientNumForEachNode(int maxClientNumForEachNode) {
362
    this.maxClientNumForEachNode = maxClientNumForEachNode;
1✔
363
  }
1✔
364

365
  public int getCoreClientNumForEachNode() {
366
    return coreClientNumForEachNode;
1✔
367
  }
368

369
  public void setCoreClientNumForEachNode(int coreClientNumForEachNode) {
370
    this.coreClientNumForEachNode = coreClientNumForEachNode;
1✔
371
  }
1✔
372

373
  HandleSystemErrorStrategy getHandleSystemErrorStrategy() {
374
    return handleSystemErrorStrategy;
1✔
375
  }
376

377
  void setHandleSystemErrorStrategy(HandleSystemErrorStrategy handleSystemErrorStrategy) {
378
    this.handleSystemErrorStrategy = handleSystemErrorStrategy;
1✔
379
  }
1✔
380

381
  public void handleUnrecoverableError() {
382
    handleSystemErrorStrategy.handle();
×
383
  }
×
384

385
  public double getDiskSpaceWarningThreshold() {
386
    return diskSpaceWarningThreshold;
1✔
387
  }
388

389
  public void setDiskSpaceWarningThreshold(double diskSpaceWarningThreshold) {
390
    this.diskSpaceWarningThreshold = diskSpaceWarningThreshold;
1✔
391
  }
1✔
392

393
  public boolean isReadOnly() {
394
    return status == NodeStatus.ReadOnly;
1✔
395
  }
396

397
  public NodeStatus getNodeStatus() {
398
    return status;
×
399
  }
400

401
  public void setNodeStatus(NodeStatus newStatus) {
402
    logger.info("Set system mode from {} to {}.", status, newStatus);
1✔
403
    this.status = newStatus;
1✔
404
    this.statusReason = null;
1✔
405

406
    switch (newStatus) {
1✔
407
      case ReadOnly:
408
        logger.warn("Change system status to ReadOnly! Only query statements are permitted!");
1✔
409
        break;
1✔
410
      case Removing:
411
        logger.info(
×
412
            "Change system status to Removing! The current Node is being removed from cluster!");
413
        break;
×
414
      default:
415
        break;
416
    }
417
  }
1✔
418

419
  public String getStatusReason() {
420
    return statusReason;
×
421
  }
422

423
  public void setStatusReason(String statusReason) {
424
    this.statusReason = statusReason;
×
425
  }
×
426

427
  public NodeStatus getStatus() {
428
    return status;
×
429
  }
430

431
  public void setStatus(NodeStatus status) {
432
    this.status = status;
×
433
  }
×
434

435
  public TEndPoint getTargetMLNodeEndPoint() {
436
    return targetMLNodeEndPoint;
1✔
437
  }
438

439
  public void setTargetMLNodeEndPoint(TEndPoint targetMLNodeEndPoint) {
440
    this.targetMLNodeEndPoint = targetMLNodeEndPoint;
1✔
441
  }
1✔
442

443
  public int getTTimePartitionSlotTransmitLimit() {
444
    return TTimePartitionSlotTransmitLimit;
1✔
445
  }
446

447
  public boolean isStopping() {
448
    return isStopping;
×
449
  }
450

451
  public void setStopping(boolean stopping) {
452
    isStopping = stopping;
×
453
  }
×
454

455
  public long getTimePartitionInterval() {
456
    return timePartitionInterval;
1✔
457
  }
458

459
  public void setTimePartitionInterval(long timePartitionInterval) {
460
    this.timePartitionInterval = timePartitionInterval;
1✔
461
  }
1✔
462

463
  public void setTimestampPrecision(String timestampPrecision) {
464
    if (!("ms".equals(timestampPrecision)
1✔
465
        || "us".equals(timestampPrecision)
1✔
466
        || "ns".equals(timestampPrecision))) {
1✔
467
      logger.error(
×
468
          "Wrong timestamp precision, please set as: ms, us or ns ! Current is: {}",
469
          timestampPrecision);
470
      System.exit(-1);
×
471
    }
472
    this.timestampPrecision = timestampPrecision;
1✔
473
  }
1✔
474

475
  public String getTimestampPrecision() {
476
    return timestampPrecision;
1✔
477
  }
478

479
  public String getPipeHardlinkBaseDirName() {
480
    return pipeHardlinkBaseDirName;
1✔
481
  }
482

483
  public void setPipeHardlinkBaseDirName(String pipeHardlinkBaseDirName) {
484
    this.pipeHardlinkBaseDirName = pipeHardlinkBaseDirName;
1✔
485
  }
1✔
486

487
  public String getPipeHardlinkTsFileDirName() {
488
    return pipeHardlinkTsFileDirName;
1✔
489
  }
490

491
  public void setPipeHardlinkTsFileDirName(String pipeTsFileDirName) {
492
    this.pipeHardlinkTsFileDirName = pipeTsFileDirName;
1✔
493
  }
1✔
494

495
  public String getPipeHardlinkWALDirName() {
496
    return pipeHardlinkWALDirName;
1✔
497
  }
498

499
  public void setPipeHardlinkWALDirName(String pipeWALDirName) {
500
    this.pipeHardlinkWALDirName = pipeWALDirName;
1✔
501
  }
1✔
502

503
  public boolean getPipeHardLinkWALEnabled() {
504
    return pipeHardLinkWALEnabled;
1✔
505
  }
506

507
  public void setPipeHardLinkWALEnabled(boolean pipeHardLinkWALEnabled) {
508
    this.pipeHardLinkWALEnabled = pipeHardLinkWALEnabled;
1✔
509
  }
1✔
510

511
  public int getPipeDataStructureTabletRowSize() {
512
    return pipeDataStructureTabletRowSize;
1✔
513
  }
514

515
  public void setPipeDataStructureTabletRowSize(int pipeDataStructureTabletRowSize) {
516
    this.pipeDataStructureTabletRowSize = pipeDataStructureTabletRowSize;
1✔
517
  }
1✔
518

519
  public int getPipeExtractorAssignerDisruptorRingBufferSize() {
520
    return pipeExtractorAssignerDisruptorRingBufferSize;
1✔
521
  }
522

523
  public void setPipeExtractorAssignerDisruptorRingBufferSize(
524
      int pipeExtractorAssignerDisruptorRingBufferSize) {
525
    this.pipeExtractorAssignerDisruptorRingBufferSize =
1✔
526
        pipeExtractorAssignerDisruptorRingBufferSize;
527
  }
1✔
528

529
  public int getPipeExtractorMatcherCacheSize() {
530
    return pipeExtractorMatcherCacheSize;
1✔
531
  }
532

533
  public void setPipeExtractorMatcherCacheSize(int pipeExtractorMatcherCacheSize) {
534
    this.pipeExtractorMatcherCacheSize = pipeExtractorMatcherCacheSize;
1✔
535
  }
1✔
536

537
  public int getPipeExtractorPendingQueueCapacity() {
538
    return pipeExtractorPendingQueueCapacity;
1✔
539
  }
540

541
  public void setPipeExtractorPendingQueueCapacity(int pipeExtractorPendingQueueCapacity) {
542
    this.pipeExtractorPendingQueueCapacity = pipeExtractorPendingQueueCapacity;
1✔
543
  }
1✔
544

545
  public int getPipeExtractorPendingQueueTabletLimit() {
546
    return pipeExtractorPendingQueueTabletLimit;
1✔
547
  }
548

549
  public void setPipeExtractorPendingQueueTabletLimit(int pipeExtractorPendingQueueTabletLimit) {
550
    this.pipeExtractorPendingQueueTabletLimit = pipeExtractorPendingQueueTabletLimit;
1✔
551
  }
1✔
552

553
  public long getPipeConnectorTimeoutMs() {
554
    return pipeConnectorTimeoutMs;
1✔
555
  }
556

557
  public void setPipeConnectorTimeoutMs(long pipeConnectorTimeoutMs) {
558
    this.pipeConnectorTimeoutMs = pipeConnectorTimeoutMs;
1✔
559
  }
1✔
560

561
  public int getPipeConnectorReadFileBufferSize() {
562
    return pipeConnectorReadFileBufferSize;
1✔
563
  }
564

565
  public void setPipeConnectorReadFileBufferSize(int pipeConnectorReadFileBufferSize) {
566
    this.pipeConnectorReadFileBufferSize = pipeConnectorReadFileBufferSize;
1✔
567
  }
1✔
568

569
  public void setPipeConnectorRPCThriftCompressionEnabled(
570
      boolean pipeConnectorRPCThriftCompressionEnabled) {
571
    this.pipeConnectorRPCThriftCompressionEnabled = pipeConnectorRPCThriftCompressionEnabled;
1✔
572
  }
1✔
573

574
  public boolean isPipeConnectorRPCThriftCompressionEnabled() {
575
    return pipeConnectorRPCThriftCompressionEnabled;
1✔
576
  }
577

578
  public int getPipeAsyncConnectorSelectorNumber() {
579
    return pipeAsyncConnectorSelectorNumber;
1✔
580
  }
581

582
  public void setPipeAsyncConnectorSelectorNumber(int pipeAsyncConnectorSelectorNumber) {
583
    this.pipeAsyncConnectorSelectorNumber = pipeAsyncConnectorSelectorNumber;
1✔
584
  }
1✔
585

586
  public int getPipeAsyncConnectorCoreClientNumber() {
587
    return pipeAsyncConnectorCoreClientNumber;
1✔
588
  }
589

590
  public void setPipeAsyncConnectorCoreClientNumber(int pipeAsyncConnectorCoreClientNumber) {
591
    this.pipeAsyncConnectorCoreClientNumber = pipeAsyncConnectorCoreClientNumber;
1✔
592
  }
1✔
593

594
  public int getPipeAsyncConnectorMaxClientNumber() {
595
    return pipeAsyncConnectorMaxClientNumber;
1✔
596
  }
597

598
  public void setPipeAsyncConnectorMaxClientNumber(int pipeAsyncConnectorMaxClientNumber) {
599
    this.pipeAsyncConnectorMaxClientNumber = pipeAsyncConnectorMaxClientNumber;
1✔
600
  }
1✔
601

602
  public boolean isSeperatedPipeHeartbeatEnabled() {
603
    return isSeperatedPipeHeartbeatEnabled;
1✔
604
  }
605

606
  public void setSeperatedPipeHeartbeatEnabled(boolean isSeperatedPipeHeartbeatEnabled) {
607
    this.isSeperatedPipeHeartbeatEnabled = isSeperatedPipeHeartbeatEnabled;
1✔
608
  }
1✔
609

610
  public int getPipeHeartbeatIntervalSecondsForCollectingPipeMeta() {
611
    return pipeHeartbeatIntervalSecondsForCollectingPipeMeta;
1✔
612
  }
613

614
  public void setPipeHeartbeatIntervalSecondsForCollectingPipeMeta(
615
      int pipeHeartbeatIntervalSecondsForCollectingPipeMeta) {
616
    this.pipeHeartbeatIntervalSecondsForCollectingPipeMeta =
1✔
617
        pipeHeartbeatIntervalSecondsForCollectingPipeMeta;
618
  }
1✔
619

620
  public long getPipeMetaSyncerInitialSyncDelayMinutes() {
621
    return pipeMetaSyncerInitialSyncDelayMinutes;
1✔
622
  }
623

624
  public void setPipeMetaSyncerInitialSyncDelayMinutes(long pipeMetaSyncerInitialSyncDelayMinutes) {
625
    this.pipeMetaSyncerInitialSyncDelayMinutes = pipeMetaSyncerInitialSyncDelayMinutes;
1✔
626
  }
1✔
627

628
  public long getPipeMetaSyncerSyncIntervalMinutes() {
629
    return pipeMetaSyncerSyncIntervalMinutes;
1✔
630
  }
631

632
  public void setPipeMetaSyncerSyncIntervalMinutes(long pipeMetaSyncerSyncIntervalMinutes) {
633
    this.pipeMetaSyncerSyncIntervalMinutes = pipeMetaSyncerSyncIntervalMinutes;
1✔
634
  }
1✔
635

636
  public long getPipeMetaSyncerAutoRestartPipeCheckIntervalRound() {
637
    return pipeMetaSyncerAutoRestartPipeCheckIntervalRound;
1✔
638
  }
639

640
  public void setPipeMetaSyncerAutoRestartPipeCheckIntervalRound(
641
      long pipeMetaSyncerAutoRestartPipeCheckIntervalRound) {
642
    this.pipeMetaSyncerAutoRestartPipeCheckIntervalRound =
1✔
643
        pipeMetaSyncerAutoRestartPipeCheckIntervalRound;
644
  }
1✔
645

646
  public boolean getPipeAutoRestartEnabled() {
647
    return pipeAutoRestartEnabled;
1✔
648
  }
649

650
  public void setPipeAutoRestartEnabled(boolean pipeAutoRestartEnabled) {
651
    this.pipeAutoRestartEnabled = pipeAutoRestartEnabled;
1✔
652
  }
1✔
653

654
  public long getPipeConnectorRetryIntervalMs() {
655
    return pipeConnectorRetryIntervalMs;
1✔
656
  }
657

658
  public void setPipeConnectorRetryIntervalMs(long pipeConnectorRetryIntervalMs) {
659
    this.pipeConnectorRetryIntervalMs = pipeConnectorRetryIntervalMs;
1✔
660
  }
1✔
661

662
  public int getPipeConnectorPendingQueueSize() {
663
    return pipeConnectorPendingQueueSize;
1✔
664
  }
665

666
  public void setPipeConnectorPendingQueueSize(int pipeConnectorPendingQueueSize) {
667
    this.pipeConnectorPendingQueueSize = pipeConnectorPendingQueueSize;
1✔
668
  }
1✔
669

670
  public int getPipeSubtaskExecutorBasicCheckPointIntervalByConsumedEventCount() {
671
    return pipeSubtaskExecutorBasicCheckPointIntervalByConsumedEventCount;
1✔
672
  }
673

674
  public void setPipeSubtaskExecutorBasicCheckPointIntervalByConsumedEventCount(
675
      int pipeSubtaskExecutorBasicCheckPointIntervalByConsumedEventCount) {
676
    this.pipeSubtaskExecutorBasicCheckPointIntervalByConsumedEventCount =
1✔
677
        pipeSubtaskExecutorBasicCheckPointIntervalByConsumedEventCount;
678
  }
1✔
679

680
  public long getPipeSubtaskExecutorBasicCheckPointIntervalByTimeDuration() {
681
    return pipeSubtaskExecutorBasicCheckPointIntervalByTimeDuration;
1✔
682
  }
683

684
  public void setPipeSubtaskExecutorBasicCheckPointIntervalByTimeDuration(
685
      long pipeSubtaskExecutorBasicCheckPointIntervalByTimeDuration) {
686
    this.pipeSubtaskExecutorBasicCheckPointIntervalByTimeDuration =
1✔
687
        pipeSubtaskExecutorBasicCheckPointIntervalByTimeDuration;
688
  }
1✔
689

690
  public int getPipeSubtaskExecutorMaxThreadNum() {
691
    return pipeSubtaskExecutorMaxThreadNum;
1✔
692
  }
693

694
  public void setPipeSubtaskExecutorMaxThreadNum(int pipeSubtaskExecutorMaxThreadNum) {
695
    this.pipeSubtaskExecutorMaxThreadNum =
1✔
696
        Math.min(
1✔
697
            pipeSubtaskExecutorMaxThreadNum,
698
            Math.max(1, Runtime.getRuntime().availableProcessors() / 2));
1✔
699
  }
1✔
700

701
  public long getPipeSubtaskExecutorPendingQueueMaxBlockingTimeMs() {
702
    return pipeSubtaskExecutorPendingQueueMaxBlockingTimeMs;
1✔
703
  }
704

705
  public void setPipeSubtaskExecutorPendingQueueMaxBlockingTimeMs(
706
      long pipeSubtaskExecutorPendingQueueMaxBlockingTimeMs) {
707
    this.pipeSubtaskExecutorPendingQueueMaxBlockingTimeMs =
1✔
708
        pipeSubtaskExecutorPendingQueueMaxBlockingTimeMs;
709
  }
1✔
710

711
  public void setPipeAirGapReceiverEnabled(boolean pipeAirGapReceiverEnabled) {
712
    this.pipeAirGapReceiverEnabled = pipeAirGapReceiverEnabled;
1✔
713
  }
1✔
714

715
  public boolean getPipeAirGapReceiverEnabled() {
716
    return pipeAirGapReceiverEnabled;
1✔
717
  }
718

719
  public void setPipeAirGapReceiverPort(int pipeAirGapReceiverPort) {
720
    this.pipeAirGapReceiverPort = pipeAirGapReceiverPort;
1✔
721
  }
1✔
722

723
  public int getPipeAirGapReceiverPort() {
724
    return pipeAirGapReceiverPort;
1✔
725
  }
726

727
  public String getSchemaEngineMode() {
728
    return schemaEngineMode;
1✔
729
  }
730

731
  public void setSchemaEngineMode(String schemaEngineMode) {
732
    this.schemaEngineMode = schemaEngineMode;
1✔
733
  }
1✔
734

735
  public boolean isLastCacheEnable() {
736
    return lastCacheEnable;
1✔
737
  }
738

739
  public void setLastCacheEnable(boolean lastCacheEnable) {
740
    this.lastCacheEnable = lastCacheEnable;
1✔
741
  }
1✔
742

743
  public int getTagAttributeTotalSize() {
744
    return tagAttributeTotalSize;
1✔
745
  }
746

747
  public void setTagAttributeTotalSize(int tagAttributeTotalSize) {
748
    this.tagAttributeTotalSize = tagAttributeTotalSize;
1✔
749
  }
1✔
750

751
  public int getDatabaseLimitThreshold() {
752
    return databaseLimitThreshold;
1✔
753
  }
754

755
  public void setDatabaseLimitThreshold(int databaseLimitThreshold) {
756
    this.databaseLimitThreshold = databaseLimitThreshold;
1✔
757
  }
1✔
758

759
  public int getModelInferenceExecutionThreadCount() {
760
    return modelInferenceExecutionThreadCount;
1✔
761
  }
762

763
  public void setModelInferenceExecutionThreadCount(int modelInferenceExecutionThreadCount) {
764
    this.modelInferenceExecutionThreadCount = modelInferenceExecutionThreadCount;
1✔
765
  }
1✔
766
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc