This is an automated email from the ASF dual-hosted git repository.
xbli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 2acf8bb378 Add a Boolean marker when Delete Table operation is
triggered (#16362)
2acf8bb378 is described below
commit 2acf8bb378fdda19c7cc05cddd71b2f1a7c39922
Author: Chaitanya Deepthi <[email protected]>
AuthorDate: Mon Jul 21 14:08:39 2025 -0700
Add a Boolean marker when Delete Table operation is triggered (#16362)
* Add a Boolean marker when Delete Table operation is triggered, so
subclasses can do extra cleanup upon table deletions
---
.../apache/pinot/core/data/manager/BaseTableDataManager.java | 11 +++++++++++
.../pinot/segment/local/data/manager/TableDataManager.java | 4 ++++
.../local/upsert/BasePartitionUpsertMetadataManager.java | 2 +-
.../pinot/server/starter/helix/HelixInstanceDataManager.java | 1 +
4 files changed, 17 insertions(+), 1 deletion(-)
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/data/manager/BaseTableDataManager.java
b/pinot-core/src/main/java/org/apache/pinot/core/data/manager/BaseTableDataManager.java
index c809da80dd..79d452e9f0 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/data/manager/BaseTableDataManager.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/data/manager/BaseTableDataManager.java
@@ -154,6 +154,7 @@ public abstract class BaseTableDataManager implements
TableDataManager {
protected volatile Pair<TableConfig, Schema> _cachedTableConfigAndSchema;
protected volatile boolean _shutDown;
+ protected volatile boolean _isDeleted;
@Override
public void init(InstanceDataManagerConfig instanceDataManagerConfig,
HelixManager helixManager,
@@ -692,6 +693,16 @@ public abstract class BaseTableDataManager implements
TableDataManager {
return _segmentPreloadExecutor;
}
+ @Override
+ public boolean isDeleted() {
+ return _isDeleted;
+ }
+
+ @Override
+ public void setDeleted(boolean deleted) {
+ _isDeleted = deleted;
+ }
+
@Override
public void addSegmentError(String segmentName, SegmentErrorInfo
segmentErrorInfo) {
if (_errorCache != null) {
diff --git
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/data/manager/TableDataManager.java
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/data/manager/TableDataManager.java
index 93446f57f1..34b73b9ffb 100644
---
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/data/manager/TableDataManager.java
+++
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/data/manager/TableDataManager.java
@@ -216,6 +216,10 @@ public interface TableDataManager {
*/
boolean isSegmentDeletedRecently(String segmentName);
+ boolean isDeleted();
+
+ void setDeleted(boolean deleted);
+
/**
* Acquires all segments of the table.
* <p>It is the caller's responsibility to return the segments by calling
{@link #releaseSegment(SegmentDataManager)}.
diff --git
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/upsert/BasePartitionUpsertMetadataManager.java
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/upsert/BasePartitionUpsertMetadataManager.java
index 3fbc30fce9..ce6070b4ac 100644
---
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/upsert/BasePartitionUpsertMetadataManager.java
+++
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/upsert/BasePartitionUpsertMetadataManager.java
@@ -1101,7 +1101,7 @@ public abstract class BasePartitionUpsertMetadataManager
implements PartitionUps
trackUpdatedSegmentsSinceLastSnapshot(segment);
}
- private void trackUpdatedSegmentsSinceLastSnapshot(IndexSegment segment) {
+ protected void trackUpdatedSegmentsSinceLastSnapshot(IndexSegment segment) {
if (_enableSnapshot && segment instanceof ImmutableSegment) {
_updatedSegmentsSinceLastSnapshot.add(segment);
}
diff --git
a/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixInstanceDataManager.java
b/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixInstanceDataManager.java
index 924e0ff333..3baee22a89 100644
---
a/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixInstanceDataManager.java
+++
b/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixInstanceDataManager.java
@@ -283,6 +283,7 @@ public class HelixInstanceDataManager implements
InstanceDataManager {
return;
}
LOGGER.info("Shutting down table data manager for table: {}",
tableNameWithType);
+ tableDataManager.setDeleted(true);
tableDataManager.shutDown();
LOGGER.info("Finished shutting down table data manager for table: {}",
tableNameWithType);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]