deepthi912 opened a new pull request, #19010:
URL: https://github.com/apache/pinot/pull/19010

   <!-- pinot-pr-flow:start -->
   
   ### PR flow
   
   Changed default consuming segment consistency mode from RESTRICTED to 
PROTECTED, enabling force\-commit/reload with metadata reconciliation\.
   
   ```mermaid
   flowchart TD
     N0["Default mode#58; PROTECTED #40;F3#41;"]:::stModified
     classDef stAdded fill:#dafbe1,stroke:#1a7f37,color:#1f2328,stroke-width:2px
     classDef stModified 
fill:#fff8c5,stroke:#9a6700,color:#1f2328,stroke-width:2px
     classDef stRemoved 
fill:#ffebe9,stroke:#cf222e,color:#1f2328,stroke-width:2px
     classDef stUnchanged 
fill:#f6f8fa,stroke:#656d76,color:#1f2328,stroke-width:1px
   ```
   
   AI-generated · Green: added · Yellow: modified · Red: removed · Gray: 
existing
   
   <details>
   <summary>Diff evidence</summary>
   
   - F3: 
pinot\-spi/src/main/java/org/apache/pinot/spi/utils/ConsumingSegmentConsistencyModeListener\.java
 — 
[before](https://github.com/apache/pinot/blob/a979a6a0d8e173e887a68dd294e8013dc16ca43d/pinot-spi/src/main/java/org/apache/pinot/spi/utils/ConsumingSegmentConsistencyModeListener.java)
 · 
[after](https://github.com/apache/pinot/blob/637f900f054d85e894178b203c599bc8906fbb04/pinot-spi/src/main/java/org/apache/pinot/spi/utils/ConsumingSegmentConsistencyModeListener.java)
   
   </details>
   
   - [ ] Regenerate PR flow
   
   <!-- pinot-pr-flow:meta 
eyJiYXNlX3NoYSI6ImE5NzlhNmEwZDhlMTczZTg4N2E2OGRkMjk0ZTgwMTNkYzE2Y2E0M2QiLCJjb250ZXh0X2hhc2giOiJmZjJmNjIzMzc0YTA0ZGRhYjBkMDQxZGQzYWEzNmVhYjg2NDU4ZTAyYmI4NWU2NGUxZWI0YWIwZDI3ZmNhMTI1IiwiZ2VuZXJhdGVkX2F0IjoxNzg5NTM4OTAyLCJoZWFkX3NoYSI6IjYzN2Y5MDBmMDU0ZDg1ZTg5NDE3OGIyMDNjNTk5YmM4OTA2ZmJiMDQiLCJtb2RlbCI6Im52aWRpYS9uZW1vdHJvbi0zLXN1cGVyLTEyMGItYTEyYjpmcmVlIiwib2JzZXJ2ZWRfYmFzZV9zaGEiOiJhOTc5YTZhMGQ4ZTE3M2U4ODdhNjhkZDI5NGU4MDEzZGMxNmNhNDNkIiwicG9saWN5IjoicGlub3QtcHItZmxvdy12MSJ9
 -->
   <!-- pinot-pr-flow:signature 
54ed4c6650ab48f6fcaaa2ecc6d94f71d876288868a365bc85a8fe2a4ead9da6 -->
   <!-- pinot-pr-flow:end -->
   
   
   ## Summary
   `pinot.server.consuming.segment.consistency.mode` was introduced in #17503 
with three modes:
   - `RESTRICTED` (current default) — blocks force-commit/reload during the 
risky consuming-segment transition window for partial-upsert and 
`dropOutOfOrderRecord`/`outOfOrderRecordColumn` tables. It only *prevents* the 
risky operation from running; it doesn't resolve anything.
   - `PROTECTED` — allows force-commit/reload, and reconciles the upsert 
metadata back to a consistent state if a discrepancy is detected during segment 
commit or removal.
   - `UNSAFE` — allows force-commit/reload with no reconciliation.
   
   This PR proposes flipping the default from `RESTRICTED` to `PROTECTED`, 
since `RESTRICTED` alone doesn't get an affected table to a correct state — it 
just blocks operational flows (reload, force-commit, Segment Refresh Task, 
index changes) on partial-upsert / `dropOutOfOrderRecord` tables indefinitely, 
until an operator manually opts into `PROTECTED`. Defaulting to `PROTECTED` 
means these operations work out of the box, with the metadata-reconciliation 
safety net already in place.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to