This is an automated email from the ASF dual-hosted git repository.

KKcorps 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 9fe9d4d8f04 Spy a plain RetentionManager in hybrid retention override 
tests so subclass suites can reuse them (#20119)
9fe9d4d8f04 is described below

commit 9fe9d4d8f04e631338c453495c19aa33c56db99a
Author: Manak Bisht <[email protected]>
AuthorDate: Mon Nov 2 16:08:39 2026 +0530

    Spy a plain RetentionManager in hybrid retention override tests so subclass 
suites can reuse them (#20119)
---
 .../helix/core/retention/RetentionManagerTest.java         | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/retention/RetentionManagerTest.java
 
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/retention/RetentionManagerTest.java
index 4396a5b5b24..9c6feb64638 100644
--- 
a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/retention/RetentionManagerTest.java
+++ 
b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/retention/RetentionManagerTest.java
@@ -554,8 +554,9 @@ public class RetentionManagerTest {
       PinotHelixResourceManager resourceManager, ControllerConf conf) {
     // The realtime retention path reads the ideal state through the Helix 
admin
     when(resourceManager.getHelixAdmin()).thenReturn(mock(HelixAdmin.class));
-    RetentionManager retentionManager = 
spy(createSizeRetentionManager(realtimeTableConfig, List.of(), resourceManager,
-        mock(ControllerMetrics.class), conf, mock(BrokerServiceHelper.class)));
+    stubSizeRetentionResourceManager(realtimeTableConfig, List.of(), 
resourceManager, conf);
+    RetentionManager retentionManager = spy(new 
RetentionManager(resourceManager, mock(LeadControllerManager.class),
+        conf, mock(ControllerMetrics.class), mock(BrokerServiceHelper.class)));
     
doReturn(true).when(retentionManager).shouldEnableHybridTableRetentionStrategy(any(),
 any());
     return retentionManager;
   }
@@ -1870,6 +1871,13 @@ public class RetentionManagerTest {
   private RetentionManager createSizeRetentionManager(TableConfig tableConfig, 
List<SegmentZKMetadata> segments,
       PinotHelixResourceManager resourceManager, ControllerMetrics metrics, 
ControllerConf conf,
       BrokerServiceHelper brokerServiceHelper) {
+    stubSizeRetentionResourceManager(tableConfig, segments, resourceManager, 
conf);
+    return createRetentionManager(resourceManager, 
mock(LeadControllerManager.class), conf,
+        metrics, brokerServiceHelper);
+  }
+
+  private void stubSizeRetentionResourceManager(TableConfig tableConfig, 
List<SegmentZKMetadata> segments,
+      PinotHelixResourceManager resourceManager, ControllerConf conf) {
     String tableName = tableConfig.getTableName();
     when(resourceManager.getTableConfig(tableName)).thenReturn(tableConfig);
     
when(resourceManager.getSegmentsZKMetadata(tableName)).thenReturn(segments);
@@ -1881,8 +1889,6 @@ public class RetentionManagerTest {
     
when(resourceManager.getLastLLCCompletedSegments(anyList())).thenCallRealMethod();
     
when(resourceManager.getLastLLCCompletedSegments(tableName)).thenCallRealMethod();
     conf.setUntrackedSegmentDeletionEnabled(false);
-    return createRetentionManager(resourceManager, 
mock(LeadControllerManager.class), conf,
-        metrics, brokerServiceHelper);
   }
 
   private void setupSizeRetentionOfflineCounterpart(PinotHelixResourceManager 
resourceManager) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to