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]