Skip to content

Commit

Permalink
Refactor: rename method and cache configs
Browse files Browse the repository at this point in the history
  • Loading branch information
KKcorps committed Mar 31, 2023
1 parent caeb80f commit 94eaec6
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ public class HelixInstanceDataManager implements InstanceDataManager {
private ZkHelixPropertyStore<ZNRecord> _propertyStore;
private SegmentUploader _segmentUploader;
private Supplier<Boolean> _isServerReadyToServeQueries = () -> false;
private long _externalViewDroppedMaxWaitMs;
private long _externalViewDroppedCheckInternalMs;

// Fixed size LRU cache for storing last N errors on the instance.
// Key is TableNameWithType-SegmentName pair.
Expand All @@ -111,6 +113,9 @@ public synchronized void init(PinotConfiguration config, HelixManager helixManag
_segmentUploader = new PinotFSSegmentUploader(_instanceDataManagerConfig.getSegmentStoreUri(),
PinotFSSegmentUploader.DEFAULT_SEGMENT_UPLOAD_TIMEOUT_MILLIS);

_externalViewDroppedMaxWaitMs = _instanceDataManagerConfig.getExternalViewDroppedMaxWaitMs();
_externalViewDroppedCheckInternalMs = _instanceDataManagerConfig.getExternalViewDroppedCheckIntervalMs();

File instanceDataDir = new File(_instanceDataManagerConfig.getInstanceDataDir());
if (!instanceDataDir.exists()) {
Preconditions.checkState(instanceDataDir.mkdirs());
Expand Down Expand Up @@ -202,7 +207,7 @@ private TableDataManager createTableDataManager(String tableNameWithType, TableC
public void deleteTable(String tableNameWithType)
throws Exception {
// Wait externalview to converge
long endTimeMs = System.currentTimeMillis() + _instanceDataManagerConfig.getExternalViewDroppedMaxWaitMs();
long endTimeMs = System.currentTimeMillis() + _externalViewDroppedMaxWaitMs;
do {
ExternalView externalView = _helixManager.getHelixDataAccessor()
.getProperty(_helixManager.getHelixDataAccessor().keyBuilder().externalView(tableNameWithType));
Expand All @@ -219,7 +224,7 @@ public void deleteTable(String tableNameWithType)
});
return;
}
Thread.sleep(_instanceDataManagerConfig.getExternalViewCheckIntervalMs());
Thread.sleep(_externalViewDroppedCheckInternalMs);
} while (System.currentTimeMillis() < endTimeMs);
throw new TimeoutException(
"Timeout while waiting for ExternalView to converge for the table to delete: " + tableNameWithType);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,14 @@ public class HelixInstanceDataManagerConfig implements InstanceDataManagerConfig
// Check if the external view is dropped for a table, and if so, wait for the external view to
// be updated for a maximum of this time.
private static final String EXTERNAL_VIEW_DROPPED_MAX_WAIT_MS = "external.view.dropped.max.wait.ms";
private static final String EXTERNAL_VIEW_CHECK_INTERVAL_MS = "external.view.check.interval.ms";
private static final String EXTERNAL_VIEW_DROPPED_CHECK_INTERVAL_MS = "external.view.dropped.check.interval.ms";

private final static String[] REQUIRED_KEYS = {INSTANCE_ID};
private static final long DEFAULT_ERROR_CACHE_SIZE = 100L;
private static final int DEFAULT_DELETED_SEGMENTS_CACHE_SIZE = 10_000;
private static final int DEFAULT_DELETED_SEGMENTS_CACHE_TTL_MINUTES = 2;
public static final long DEFAULT_EXTERNAL_VIEW_DROPPED_MAX_WAIT_MS = 20 * 60_000L;
public static final long DEFAULT_EXTERNAL_VIEW_CHECK_INTERVAL_MS = 1_000L;
public static final long DEFAULT_EXTERNAL_VIEW_DROPPED_CHECK_INTERVAL_MS = 1_000L;

private final PinotConfiguration _instanceDataManagerConfiguration;

Expand Down Expand Up @@ -297,9 +297,9 @@ public long getExternalViewDroppedMaxWaitMs() {
}

@Override
public long getExternalViewCheckIntervalMs() {
return _instanceDataManagerConfiguration.getProperty(EXTERNAL_VIEW_CHECK_INTERVAL_MS,
DEFAULT_EXTERNAL_VIEW_CHECK_INTERVAL_MS);
public long getExternalViewDroppedCheckIntervalMs() {
return _instanceDataManagerConfiguration.getProperty(EXTERNAL_VIEW_DROPPED_CHECK_INTERVAL_MS,
DEFAULT_EXTERNAL_VIEW_DROPPED_CHECK_INTERVAL_MS);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,5 @@ public interface InstanceDataManagerConfig {

long getExternalViewDroppedMaxWaitMs();

long getExternalViewCheckIntervalMs();
long getExternalViewDroppedCheckIntervalMs();
}

0 comments on commit 94eaec6

Please sign in to comment.