You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "Jackie-Jiang (via GitHub)" <gi...@apache.org> on 2026/04/01 06:36:03 UTC

[PR] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Jackie-Jiang opened a new pull request, #18066:
URL: https://github.com/apache/pinot/pull/18066

   ## Summary
   
   - Adds `dropRecordOnPartitionMismatch` boolean config under `StreamIngestionConfig` (in `ingestionConfig.streamIngestionConfig`)
   - When enabled, records whose partition column value does not map to the segment's designated partition are dropped during realtime ingestion instead of being indexed
   - Records with a null partition column value raise an `IllegalStateException`
   - The `REALTIME_PARTITION_MISMATCH` server meter is emitted for dropped records
   
   ## Test plan
   
   - [ ] Added `MutableSegmentImplDropRecordOnPartitionMismatchTest` covering: matching partition indexed, mismatched partition dropped, mixed partitions, config disabled (all indexed), null partition column throws
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "Jackie-Jiang (via GitHub)" <gi...@apache.org>.
Jackie-Jiang commented on PR #18066:
URL: https://github.com/apache/pinot/pull/18066#issuecomment-4174753953

   > Another question: if the row is dropped, we shouldn't update freshness metrics right ?
   
   Good point. Seems we should still update indexed and ingestion time. Made the behavior consistent for all drop record case:
   - Partition mismatch
   - Duplicate record for dedup
   - Out of order record for upsert


-- 
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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on PR #18066:
URL: https://github.com/apache/pinot/pull/18066#issuecomment-4185146290

   📝 Documentation PR: https://github.com/pinot-contrib/pinot-docs/pull/618


-- 
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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "Jackie-Jiang (via GitHub)" <gi...@apache.org>.
Jackie-Jiang merged PR #18066:
URL: https://github.com/apache/pinot/pull/18066


-- 
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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #18066:
URL: https://github.com/apache/pinot/pull/18066#issuecomment-4168079729

   ## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/18066?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :x: Patch coverage is `42.30769%` with `15 lines` in your changes missing coverage. Please review.
   :white_check_mark: Project coverage is 55.49%. Comparing base ([`aa46eb7`](https://app.codecov.io/gh/apache/pinot/commit/aa46eb7775a6032cb4b796a50e960ca95cfe59d0?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`ee4a3db`](https://app.codecov.io/gh/apache/pinot/commit/ee4a3db98953187e23e96b77aadd156a78bb6bd3?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 1 commits behind head on master.
   
   | [Files with missing lines](https://app.codecov.io/gh/apache/pinot/pull/18066?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
   |---|---|---|
   | [...local/indexsegment/mutable/MutableSegmentImpl.java](https://app.codecov.io/gh/apache/pinot/pull/18066?src=pr&el=tree&filepath=pinot-segment-local%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fsegment%2Flocal%2Findexsegment%2Fmutable%2FMutableSegmentImpl.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3Qtc2VnbWVudC1sb2NhbC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3Qvc2VnbWVudC9sb2NhbC9pbmRleHNlZ21lbnQvbXV0YWJsZS9NdXRhYmxlU2VnbWVudEltcGwuamF2YQ==) | 7.14% | [12 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/pinot/pull/18066?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [...a/manager/realtime/RealtimeSegmentDataManager.java](https://app.codecov.io/gh/apache/pinot/pull/18066?src=pr&el=tree&filepath=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Fdata%2Fmanager%2Frealtime%2FRealtimeSegmentDataManager.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9kYXRhL21hbmFnZXIvcmVhbHRpbWUvUmVhbHRpbWVTZWdtZW50RGF0YU1hbmFnZXIuamF2YQ==) | 50.00% | [1 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/pinot/pull/18066?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   > :exclamation:  There is a different number of reports uploaded between BASE (aa46eb7) and HEAD (ee4a3db). Click for more details.
   > 
   > <details><summary>HEAD has 36 uploads less than BASE</summary>
   >
   >| Flag | BASE (aa46eb7) | HEAD (ee4a3db) |
   >|------|------|------|
   >|java-21|5|1|
   >|unittests1|2|1|
   >|unittests|4|1|
   >|temurin|10|1|
   >|java-11|5|0|
   >|unittests2|2|0|
   >|integration|6|0|
   >|integration2|2|0|
   >|integration1|2|0|
   >|custom-integration1|2|0|
   ></details>
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #18066      +/-   ##
   ============================================
   - Coverage     63.34%   55.49%   -7.85%     
   + Complexity     1540      745     -795     
   ============================================
     Files          3200     2502     -698     
     Lines        194249   143195   -51054     
     Branches      29937    22988    -6949     
   ============================================
   - Hits         123048    79471   -43577     
   + Misses        61535    56975    -4560     
   + Partials       9666     6749    -2917     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/pinot/pull/18066/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/18066/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/18066/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/18066/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/18066/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/18066/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/18066/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.49% <42.30%> (-7.84%)` | :arrow_down: |
   | [temurin](https://app.codecov.io/gh/apache/pinot/pull/18066/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.49% <42.30%> (-7.85%)` | :arrow_down: |
   | [unittests](https://app.codecov.io/gh/apache/pinot/pull/18066/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.49% <42.30%> (-7.85%)` | :arrow_down: |
   | [unittests1](https://app.codecov.io/gh/apache/pinot/pull/18066/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.49% <42.30%> (-0.02%)` | :arrow_down: |
   | [unittests2](https://app.codecov.io/gh/apache/pinot/pull/18066/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/18066?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> :rocket: New features to boost your workflow: </summary>
   
   - :package: [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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "Jackie-Jiang (via GitHub)" <gi...@apache.org>.
Jackie-Jiang commented on PR #18066:
URL: https://github.com/apache/pinot/pull/18066#issuecomment-4202687976

   @mayankshriv We have to update the offset. Say there are mixed good and bad records, we need to bump the offset anyway.
   - To recover a bad table config, we should delete the consumed segments under bad table config and resume ingestion
   - To recover a bad upstream, we have to re-consume from a good upstream. I don't see an easy to to fix the bad data


-- 
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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "mayankshriv (via GitHub)" <gi...@apache.org>.
mayankshriv commented on PR #18066:
URL: https://github.com/apache/pinot/pull/18066#issuecomment-4202075162

   The most common case here is a misconfig upstream. And it is more dangerous when it happens for an existing table. In such cases, while not ingesting is good, are we updating the offset? If so, then we will lose the last known good offset to go back to? @Jackie-Jiang 


-- 
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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on PR #18066:
URL: https://github.com/apache/pinot/pull/18066#issuecomment-4168228906

   The new flag is not wired into the stateless reingestion path, so reingested realtime segments will still keep mismatched rows even when live consumption drops them. See StatelessRealtimeSegmentWriter.java/ ReingestionResource.java


-- 
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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #18066:
URL: https://github.com/apache/pinot/pull/18066#discussion_r3020219941


##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/indexsegment/mutable/MutableSegmentImpl.java:
##########
@@ -624,6 +626,27 @@ public long getMaxTime() {
   @Override
   public boolean index(GenericRow row, @Nullable StreamMessageMetadata metadata)
       throws IOException {
+    if (_partitionColumn != null) {
+      Object value = row.getValue(_partitionColumn);
+      Preconditions.checkState(value != null, "Failed to find value for partition column: %s", _partitionColumn);
+      IndexContainer indexContainer = _indexContainerMap.get(_partitionColumn);

Review Comment:
   `_indexContainerMap.get(_partitionColumn)` can return null (e.g., if the partition column is virtual or otherwise not present in the mutable segment's physical index containers), which would cause an NPE when accessing `indexContainer._fieldSpec`. Consider adding a precondition with a clear error message (or validating partition column is physical) before dereferencing `indexContainer`.
   ```suggestion
         IndexContainer indexContainer = _indexContainerMap.get(_partitionColumn);
         Preconditions.checkState(indexContainer != null,
             "Failed to find index container for partition column: %s. Partition column must be a physical column",
             _partitionColumn);
   ```



##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/indexsegment/mutable/MutableSegmentImpl.java:
##########
@@ -624,6 +626,27 @@ public long getMaxTime() {
   @Override
   public boolean index(GenericRow row, @Nullable StreamMessageMetadata metadata)
       throws IOException {
+    if (_partitionColumn != null) {
+      Object value = row.getValue(_partitionColumn);
+      Preconditions.checkState(value != null, "Failed to find value for partition column: %s", _partitionColumn);
+      IndexContainer indexContainer = _indexContainerMap.get(_partitionColumn);
+      String stringValue = indexContainer._fieldSpec.getDataType().toString(value);
+      int partition = _partitionFunction.getPartition(stringValue);
+      if (partition != _mainPartitionId) {
+        if (_serverMetrics != null) {
+          _serverMetrics.addMeteredTableValue(_realtimeTableName, ServerMeter.REALTIME_PARTITION_MISMATCH, 1);
+        }

Review Comment:
   Partition-mismatch detection/metric emission is now executed before dedup/upsert/out-of-order logic. This changes behavior vs. the previous `addNewRow()`-based check: mismatched partitions will be metered (and potentially warned) even for records that are later dropped by dedup/upsert. If the intent is to track only records actually indexed, consider moving this check to the point where the row is known to be persisted (or gating it accordingly).



##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/indexsegment/mutable/MutableSegmentImpl.java:
##########
@@ -624,6 +626,27 @@ public long getMaxTime() {
   @Override
   public boolean index(GenericRow row, @Nullable StreamMessageMetadata metadata)
       throws IOException {
+    if (_partitionColumn != null) {
+      Object value = row.getValue(_partitionColumn);
+      Preconditions.checkState(value != null, "Failed to find value for partition column: %s", _partitionColumn);
+      IndexContainer indexContainer = _indexContainerMap.get(_partitionColumn);
+      String stringValue = indexContainer._fieldSpec.getDataType().toString(value);
+      int partition = _partitionFunction.getPartition(stringValue);
+      if (partition != _mainPartitionId) {
+        if (_serverMetrics != null) {
+          _serverMetrics.addMeteredTableValue(_realtimeTableName, ServerMeter.REALTIME_PARTITION_MISMATCH, 1);
+        }
+        if (_dropRecordOnPartitionMismatch) {
+          return true;

Review Comment:
   When dropping a mismatched-partition record, the method returns `true` unconditionally. Since the return value is used by `RealtimeSegmentDataManager` as "canTakeMore", it would be more correct to return based on current capacity (e.g., `_numDocsIndexed < _capacity`) so a full segment still signals backpressure even when the incoming record is dropped.
   ```suggestion
             // Drop the mismatched-partition record but still respect segment capacity when signaling backpressure
             return _numDocsIndexed < _capacity;
   ```



##########
pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/RealtimeSegmentDataManager.java:
##########
@@ -1817,7 +1817,10 @@ public RealtimeSegmentDataManager(SegmentZKMetadata segmentZKMetadata, TableConf
         .setPartitionUpsertMetadataManager(partitionUpsertMetadataManager)
         .setPartitionDedupMetadataManager(partitionDedupMetadataManager)
         .setConsumerDir(consumerDir)
-        .setTextIndexConfig(_tableConfig.getIndexingConfig().getMultiColumnTextIndexConfig());
+        .setTextIndexConfig(_tableConfig.getIndexingConfig().getMultiColumnTextIndexConfig())
+        .setDropRecordOnPartitionMismatch(ingestionConfig != null
+            && ingestionConfig.getStreamIngestionConfig() != null
+            && ingestionConfig.getStreamIngestionConfig().isDropRecordOnPartitionMismatch());

Review Comment:
   `dropRecordOnPartitionMismatch` is plumbed into `RealtimeSegmentConfig` here, but other `RealtimeSegmentConfig.Builder` call sites (e.g., `StatelessRealtimeSegmentWriter`) don't set it, so the behavior will differ depending on ingestion path. Consider wiring the same table config flag into those builders as well to keep semantics consistent.



##########
pinot-segment-local/src/test/java/org/apache/pinot/segment/local/indexsegment/mutable/MutableSegmentImplDropRecordOnPartitionMismatchTest.java:
##########
@@ -0,0 +1,128 @@
+/**
+ * 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.segment.local.indexsegment.mutable;
+
+import java.io.IOException;
+import org.apache.pinot.segment.spi.partition.ModuloPartitionFunction;
+import org.apache.pinot.spi.data.FieldSpec;
+import org.apache.pinot.spi.data.Schema;
+import org.apache.pinot.spi.data.readers.GenericRow;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.assertEquals;
+
+
+/**
+ * Tests for the {@link MutableSegmentImpl#index} behavior when
+ * {@code dropRecordOnPartitionMismatch} is enabled in the realtime segment config.
+ */
+public class MutableSegmentImplDropRecordOnPartitionMismatchTest {
+  private static final String PARTITION_COLUMN = "memberId";
+  private static final String VALUE_COLUMN = "teamId";
+  // Modulo partition function with 4 partitions; main partition is 0
+  private static final int NUM_PARTITIONS = 4;
+  private static final int MAIN_PARTITION_ID = 0;
+
+  private Schema _schema;
+
+  @BeforeMethod
+  public void setUp() {
+    _schema = new Schema.SchemaBuilder()
+        .addSingleValueDimension(PARTITION_COLUMN, FieldSpec.DataType.INT)
+        .addSingleValueDimension(VALUE_COLUMN, FieldSpec.DataType.INT)
+        .build();
+  }
+
+  @Test
+  public void testRecordsMatchingPartitionAreIndexed()
+      throws IOException {
+    MutableSegmentImpl segment = MutableSegmentImplTestUtils.createMutableSegmentImpl(_schema, PARTITION_COLUMN,
+        new ModuloPartitionFunction(NUM_PARTITIONS), MAIN_PARTITION_ID, true);
+

Review Comment:
   These tests create `MutableSegmentImpl` instances but never call `destroy()`/cleanup (including the exception-path test). This can leak temp directories and memory manager resources across the test suite. Consider using `try/finally` (or an `@AfterMethod`) to always destroy the segment(s) created in each test.



-- 
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] Add dropRecordOnPartitionMismatch config to StreamIngestionConfig [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on PR #18066:
URL: https://github.com/apache/pinot/pull/18066#issuecomment-4168233276

   Another question: if the row is dropped, we shouldn't update freshness metrics right ?


-- 
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