ArafatKhan2198 commented on PR #7149:
URL: https://github.com/apache/ozone/pull/7149#issuecomment-2340000987

   @sumitagrawl @devmadhuu 
   
   This PR updates how Recon handles MISSING, EMPTY_MISSING, and NEGATIVE_SIZE 
containers. The main change is that EMPTY_MISSING and NEGATIVE_SIZE containers 
will now only be logged in the statistics, but they will not be added to the 
unhealthyContainersTable.
   
   The scenarios cover two situations:
   
   - After Upgrade Scenarios: Describes how existing MISSING, EMPTY_MISSING, 
and NEGATIVE_SIZE containers will be handled after the upgrade, including when 
records are removed or logged.
   - 
   - Fresh Install Scenarios: Explains how these containers are managed on a 
new installation, focusing on proper logging without unnecessary database 
entries.
   
   The goal is to make container health tracking more efficient by storing only 
necessary records and logging important details for containers that need 
attention.
   
   ---
   
   ### After Upgrade Scenarios:
   
   1. **Existing DB records of containers `MISSING`:**
       - These containers remain in the `unhealthyContainersTable` as `MISSING` 
unless they are deleted in SCM. Their statistics will continue to be logged.
   2. **Existing DB records of containers `MISSING` deleted in SCM:**
       - If SCM reports these containers as deleted, their state in 
`ReconContainerManager` will be changed to `DELETED`, and their records will be 
**removed** from the `unhealthyContainersTable`. No further logging of 
statistics will happen for these containers.
   3. **Existing DB records of containers `MISSING` which are actually empty:**
       - These records will be logged under `EMPTY_MISSING` in the unhealthy 
container statistics and their **`MISSING`** record will be deleted from the 
`unhealthyContainersTable`. If SCM does not delete them, they continue to be 
logged as `EMPTY_MISSING` in subsequent iterations.
   4. **Existing DB records of containers `MISSING` which are actually empty 
and also deleted in SCM:**
       - If SCM reports them as deleted, their state in Recon will be updated 
to `DELETED`, and the records will be **removed** from the 
`unhealthyContainersTable`. No further logging will occur for these containers.
   5. **New `MISSING` containers added:**
       - These containers will be added to the `unhealthyContainersTable` as 
`MISSING` and their statistics logged.
   6. **New `MISSING` containers added which are also deleted in SCM:**
       - If these containers are reported as deleted in SCM, their state will 
transition to `DELETED` in Recon, and their records will be **removed** from 
the `unhealthyContainersTable`. No further statistics will be logged.
   7. **New**  `EMPTY_MISSING` **containers added:**
       - These containers will be logged under `EMPTY_MISSING` in the unhealthy 
container statistics, but they will **not** be added to the 
`unhealthyContainersTable`.
   8. **New** `EMPTY_MISSING` **containers added which are also deleted in 
SCM:**
       - If SCM reports them as deleted, they will not be added to the 
`unhealthyContainersTable`, and their state will be transitioned to `DELETED` 
in Recon. No further logging will happen.
   9. **New `NEGATIVE_SIZE` containers added:**
       - These containers will be logged under `NEGATIVE_SIZE` but **not** 
added to the `unhealthyContainersTable`. They will only appear in the unhealthy 
container statistics and no further records will be stored in the table.
   
   ---
   
   ### Fresh Install Scenarios:
   
   1. **`MISSING` containers which are deleted in SCM:**
       - These containers will have their state updated to `DELETED` in Recon, 
and no records will be added to the `unhealthyContainersTable`.
   2. **`MISSING` containers which are not deleted in SCM:**
       - These containers will be added to the `unhealthyContainersTable` as 
`MISSING` and will have their statistics logged.
   3. `EMPTY_MISSING` **containers which are deleted in SCM:**
       - These containers will not be added to the `unhealthyContainersTable`, 
and their state will be updated to `DELETED` in Recon. No further logging will 
happen.
   4. `EMPTY_MISSING` **containers which are not deleted in SCM:**
       - These containers will be logged under `EMPTY_MISSING` in the unhealthy 
container statistics but **not** added to the `unhealthyContainersTable`.
   5. **`MISSING` containers which get back some replicas reported:**
       - These containers will transition from `MISSING` to a healthy state. 
The record will be updated or removed from the `unhealthyContainersTable` 
accordingly.
   6. **`NEGATIVE_SIZE` containers added:**
       - These containers will be logged under `NEGATIVE_SIZE` but **not** 
added to the `unhealthyContainersTable`. Only the statistics for these 
containers will be tracked in the unhealthy container stats, and no records 
will be stored.


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