whbing commented on PR #6974:
URL: https://github.com/apache/ozone/pull/6974#issuecomment-2255893116
> Should we make the cache more strict to only keep pipelines that have all
nodes present?
@errose28 Sorry for late reply. I am inclined to make the cache more
strict. At the very least, EC pipelines that do not have enough datanodes for
reconstruction should not be cached, as they are invalid.
I believe the following approaches can be considered:
1. datanodes < data num : **uncache**
datanodes >= data num: **cache**
2. datanodes < data num + parity num: **uncache**
datanodes = data num + parity num: **cache**
3. datanodes loss data index: **uncache**
datanodes contain all data index: **cache**
The current submission is based on point 3.
---
> The client should force a cache refresh on read failures like this or
corrupted data since SCM likely made new copies since the last cache refresh.
It looks like that is not happening which is another problem.
Now no retry when `InsufficientLocationsException`. I tested some cases,
such as incorrect locations (cached expired locations), all of these can retry
with `forceFreshPipeline = true`.
Perhaps in the current, we can just deal with the case
`InsufficientLocationsException`. Of course, it can be processed in another
ticket.
--
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]