You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "9aman (via GitHub)" <gi...@apache.org> on 2025/03/11 07:16:44 UTC
[PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tablesqq [pinot]
9aman opened a new pull request, #15241:
URL: https://github.com/apache/pinot/pull/15241
(no comment)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tables [pinot]
Posted by "9aman (via GitHub)" <gi...@apache.org>.
9aman commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1990706147
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionConfig.java:
##########
@@ -44,8 +48,10 @@ public SegmentCompletionConfig(PinotConfiguration configuration) {
}
}
- // Get the default FSM scheme
+ // Get the default FSM and pauseless FSM scheme
_defaultFsmScheme = configuration.getProperty(DEFAULT_FSM_SCHEME_KEY, DEFAULT_FSM_SCHEME);
+ _defaultPauselessFsmScheme =
Review Comment:
I do not see any explosion in the number of FSM's going forward. Also, this keeps the createFSM part of the code more readable. That's why chose to add this.
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionFSMFactory.java:
##########
@@ -34,9 +34,10 @@ private SegmentCompletionFSMFactory() {
private static final Logger LOGGER = LoggerFactory.getLogger(SegmentCompletionFSMFactory.class);
private static final Map<String, Class<? extends SegmentCompletionFSM>> FSM_CLASS_MAP = new HashMap<>();
- // Static block to register the default FSM
+ // Static block to register the default FSM and pauseless FSM
static {
register(SegmentCompletionConfig.DEFAULT_FSM_SCHEME, BlockingSegmentCompletionFSM.class);
+ register(SegmentCompletionConfig.DEFAULT_PAUSELESS_FSM_SCHEME, PauselessSegmentCompletionFSM.class);
Review Comment:
Done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tablesqq [pinot]
Posted by "KKcorps (via GitHub)" <gi...@apache.org>.
KKcorps commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1989033198
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionConfig.java:
##########
@@ -44,8 +48,10 @@ public SegmentCompletionConfig(PinotConfiguration configuration) {
}
}
- // Get the default FSM scheme
+ // Get the default FSM and pauseless FSM scheme
_defaultFsmScheme = configuration.getProperty(DEFAULT_FSM_SCHEME_KEY, DEFAULT_FSM_SCHEME);
+ _defaultPauselessFsmScheme =
Review Comment:
No need to make the default for pauseless configurable imo.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tablesqq [pinot]
Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #15241:
URL: https://github.com/apache/pinot/pull/15241#issuecomment-2713051699
## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/15241?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 56.05%. Comparing base [(`59551e4`)](https://app.codecov.io/gh/apache/pinot/commit/59551e45224f1535c4863fd577622b37366ccc97?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) to head [(`1a0b514`)](https://app.codecov.io/gh/apache/pinot/commit/1a0b514c1ab35fbf7653c1800e8e219ef8004ae1?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
> Report is 1832 commits behind head on master.
> :exclamation: There is a different number of reports uploaded between BASE (59551e4) and HEAD (1a0b514). Click for more details.
>
> <details><summary>HEAD has 53 uploads less than BASE</summary>
>
>| Flag | BASE (59551e4) | HEAD (1a0b514) |
>|------|------|------|
>|integration|7|0|
>|integration2|3|0|
>|temurin|12|1|
>|java-21|7|1|
>|skip-bytebuffers-true|3|0|
>|skip-bytebuffers-false|7|1|
>|unittests|5|1|
>|unittests1|2|1|
>|java-11|5|0|
>|unittests2|3|0|
>|integration1|2|0|
>|custom-integration1|2|0|
></details>
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## master #15241 +/- ##
============================================
- Coverage 61.75% 56.05% -5.71%
- Complexity 207 685 +478
============================================
Files 2436 2165 -271
Lines 133233 116809 -16424
Branches 20636 18695 -1941
============================================
- Hits 82274 65473 -16801
- Misses 44911 45958 +1047
+ Partials 6048 5378 -670
```
| [Flag](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [custom-integration1](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [integration](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [integration1](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [integration2](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [java-11](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [java-21](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.05% <ø> (-5.58%)` | :arrow_down: |
| [skip-bytebuffers-false](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.05% <ø> (-5.70%)` | :arrow_down: |
| [skip-bytebuffers-true](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [temurin](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.05% <ø> (-5.71%)` | :arrow_down: |
| [unittests](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.05% <ø> (-5.70%)` | :arrow_down: |
| [unittests1](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.05% <ø> (+9.16%)` | :arrow_up: |
| [unittests2](https://app.codecov.io/gh/apache/pinot/pull/15241/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
</details>
[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/apache/pinot/pull/15241?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
<details><summary>🚀 New features to boost your workflow: </summary>
- ❄ [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
- 📦 [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tablesqq [pinot]
Posted by "KKcorps (via GitHub)" <gi...@apache.org>.
KKcorps commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1989034312
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionFSMFactory.java:
##########
@@ -34,9 +34,10 @@ private SegmentCompletionFSMFactory() {
private static final Logger LOGGER = LoggerFactory.getLogger(SegmentCompletionFSMFactory.class);
private static final Map<String, Class<? extends SegmentCompletionFSM>> FSM_CLASS_MAP = new HashMap<>();
- // Static block to register the default FSM
+ // Static block to register the default FSM and pauseless FSM
static {
register(SegmentCompletionConfig.DEFAULT_FSM_SCHEME, BlockingSegmentCompletionFSM.class);
+ register(SegmentCompletionConfig.DEFAULT_PAUSELESS_FSM_SCHEME, PauselessSegmentCompletionFSM.class);
Review Comment:
register this against `fsm.scheme.pauseles` instead of this newly introduced key.
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionFSMFactory.java:
##########
@@ -34,9 +34,10 @@ private SegmentCompletionFSMFactory() {
private static final Logger LOGGER = LoggerFactory.getLogger(SegmentCompletionFSMFactory.class);
private static final Map<String, Class<? extends SegmentCompletionFSM>> FSM_CLASS_MAP = new HashMap<>();
- // Static block to register the default FSM
+ // Static block to register the default FSM and pauseless FSM
static {
register(SegmentCompletionConfig.DEFAULT_FSM_SCHEME, BlockingSegmentCompletionFSM.class);
+ register(SegmentCompletionConfig.DEFAULT_PAUSELESS_FSM_SCHEME, PauselessSegmentCompletionFSM.class);
Review Comment:
register this against existing `fsm.scheme.pauseless` instead of this newly introduced key.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tables [pinot]
Posted by "9aman (via GitHub)" <gi...@apache.org>.
9aman commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1990708214
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionFSMFactory.java:
##########
@@ -48,8 +49,12 @@ private SegmentCompletionFSMFactory() {
public static void register(String scheme, Class<? extends SegmentCompletionFSM> fsmClass) {
Preconditions.checkNotNull(scheme, "Scheme cannot be null");
Preconditions.checkNotNull(fsmClass, "FSM Class cannot be null");
- Preconditions.checkState(FSM_CLASS_MAP.put(scheme, fsmClass) == null,
- "FSM class already registered for scheme: " + scheme);
+
+ Class<? extends SegmentCompletionFSM> previousFsmClass = FSM_CLASS_MAP.put(scheme, fsmClass);
+ if (previousFsmClass != null) {
+ LOGGER.warn("Replacing existing FSM: {} for scheme: {} with: {}",
Review Comment:
This has been changed to tackle the following scenario.
- User adds a new class for the "default" scheme, that has already been registered by the static block, by using the `swagger UI` and updating the cluster config in `ZK`
- The controller restart keeps on failing.
- The ZK cannot be updated easily as the controller won't respond. (in case we can single controller and no other controller is available to update ZK)
This change just logs the warning, meanwhile allowing the user to update the defaults as well.
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionConfig.java:
##########
@@ -43,16 +45,17 @@ public SegmentCompletionConfig(PinotConfiguration configuration) {
_fsmSchemes.put(scheme, className);
}
}
-
- // Get the default FSM scheme
- _defaultFsmScheme = configuration.getProperty(DEFAULT_FSM_SCHEME_KEY, DEFAULT_FSM_SCHEME);
Review Comment:
The `getProperty()` should return the class name for the key.
The default value returned here is the scheme name which is wrong.
cc: @KKcorps
I have added tests to ensure that these things are tested fine and we get the right FSM
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tables [pinot]
Posted by "9aman (via GitHub)" <gi...@apache.org>.
9aman commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1990705303
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionManager.java:
##########
@@ -138,7 +139,8 @@ private SegmentCompletionFSM createFsm(LLCSegmentName llcSegmentName, String msg
}
if (factoryName == null) {
- factoryName = _segmentCompletionConfig.getDefaultFsmScheme();
+ factoryName = PauselessConsumptionUtils.isPauselessEnabled(tableConfig)
Review Comment:
Fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tablesqq [pinot]
Posted by "9aman (via GitHub)" <gi...@apache.org>.
9aman commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1988555060
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionManager.java:
##########
@@ -138,7 +139,8 @@ private SegmentCompletionFSM createFsm(LLCSegmentName llcSegmentName, String msg
}
if (factoryName == null) {
- factoryName = _segmentCompletionConfig.getDefaultFsmScheme();
+ factoryName = PauselessConsumptionUtils.isPauselessEnabled(tableConfig)
Review Comment:
We are taking a call here on whether to use default pauseless fsm or default fsm. Thus the user need not specify these two FSM's for pausless and normal realtime tables.
Any other custom implementation would require
- registering the FSM
- Adding it to table config.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tablesqq [pinot]
Posted by "KKcorps (via GitHub)" <gi...@apache.org>.
KKcorps commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1989035755
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionManager.java:
##########
@@ -138,7 +139,8 @@ private SegmentCompletionFSM createFsm(LLCSegmentName llcSegmentName, String msg
}
if (factoryName == null) {
- factoryName = _segmentCompletionConfig.getDefaultFsmScheme();
+ factoryName = PauselessConsumptionUtils.isPauselessEnabled(tableConfig)
Review Comment:
Use `.pauseless` as default as well. No need to introduce a third key `defaultPauseless`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tablesqq [pinot]
Posted by "9aman (via GitHub)" <gi...@apache.org>.
9aman commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1988556630
##########
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/PauselessRealtimeIngestionCommitEndMetadataFailureTest.java:
##########
@@ -57,6 +64,21 @@ public void testSegmentAssignment()
String tableNameWithType = TableNameBuilder.REALTIME.tableNameWithType(getTableName());
PauselessRealtimeTestUtils.verifyIdealState(tableNameWithType, NUM_REALTIME_SEGMENTS, _helixManager);
+ // the setup() function only waits till all the documents have been loaded
+ // this has lead to race condition in the commit protocol and validation manager run leading to test failures
+ // checking the completion of the commit protocol i.e. segment marked COMMITTING before triggering
+ // validation manager in the tests prevents this.
+
+ // All the segments should be in COMMITTING state for pauseless table having commitEndMetadata failure
+ TestUtils.waitForCondition((aVoid) -> {
Review Comment:
This tests also ensures that we are using PauslessFsm as the DefaultFsm does not mark the segments COMMITTING in the ZK.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tablesqq [pinot]
Posted by "KKcorps (via GitHub)" <gi...@apache.org>.
KKcorps commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1989035755
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionManager.java:
##########
@@ -138,7 +139,8 @@ private SegmentCompletionFSM createFsm(LLCSegmentName llcSegmentName, String msg
}
if (factoryName == null) {
- factoryName = _segmentCompletionConfig.getDefaultFsmScheme();
+ factoryName = PauselessConsumptionUtils.isPauselessEnabled(tableConfig)
Review Comment:
Use `.pauseless` as default as well. No need to introduce a third key `pauselessDefault`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tables [pinot]
Posted by "KKcorps (via GitHub)" <gi...@apache.org>.
KKcorps commented on code in PR #15241:
URL: https://github.com/apache/pinot/pull/15241#discussion_r1997937806
##########
pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionFSMFactoryTest.java:
##########
@@ -0,0 +1,138 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.pinot.controller.helix.core.realtime;
+
+import java.util.Collections;
+import java.util.Map;
+import org.apache.pinot.common.metadata.segment.SegmentZKMetadata;
+import org.apache.pinot.common.utils.LLCSegmentName;
+import org.apache.pinot.spi.env.PinotConfiguration;
+import org.apache.pinot.spi.stream.LongMsgOffset;
+import org.apache.pinot.spi.stream.LongMsgOffsetFactory;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.Test;
+
+import static org.apache.pinot.controller.helix.core.realtime.SegmentCompletionConfig.DEFAULT_FSM_SCHEME_KEY;
+import static org.apache.pinot.controller.helix.core.realtime.SegmentCompletionConfig.DEFAULT_PAUSELESS_FSM_SCHEME_KEY;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+
+public class SegmentCompletionFSMFactoryTest {
+ private static final String DEFAULT_FSM_CLASS =
+ "org.apache.pinot.controller.helix.core.realtime.BlockingSegmentCompletionFSM";
Review Comment:
Let's not hardcoded this here and instead use `BlockingSegmentCompletionFSM.class.getName()`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Registering pauseless FSM by default and picking this FSM for pauseless enabled tables [pinot]
Posted by "KKcorps (via GitHub)" <gi...@apache.org>.
KKcorps merged PR #15241:
URL: https://github.com/apache/pinot/pull/15241
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org