[
https://issues.apache.org/jira/browse/HDDS-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17517090#comment-17517090
]
István Fajth commented on HDDS-5909:
------------------------------------
Hi [~kerneltime],
We have two choice here, one is to completely block giving responses that
contain something that the client does not support, and the other is to return
a partial list removing items that are not supported by the client.
It is not possible to preemptively handle unsupported things/missing classes
from the client, so we can not give back anything that does not present in an
old client, even if it is somewhere under the hoods and not directly
represented in the response, as when the client reads the response it will need
at least the proto classes to be present otherwise the proto message can not be
parsed into proto objects.
>From the two option in our case for EC it seems to be safer to simply block
>the response to the client and with that force the client update somewhat, as
>returning a partial list would result to different results to the same query
>from different client versions, without any warning or anything else provided
>on the client side, with that a valid question from the user about why he can
>not see things that he can with an other client, and the version mismatch is
>usually not that obvious as a reason. (At least as I have experienced so far.)
A third option might be to return back invalid entries that can be presented as
path for the customer, but that as well can be confusing.
We can consider these alternatives but these are not directly EC related EC
feature can benefit from a general solution though, but in the current system I
think the best is to fail in case the response contains something erasure coded.
> EC: Onboard EC into upgrade framework
> -------------------------------------
>
> Key: HDDS-5909
> URL: https://issues.apache.org/jira/browse/HDDS-5909
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Ethan Rose
> Assignee: István Fajth
> Priority: Major
> Labels: pull-request-available
>
> Onboard Erasure Coding feature into the non-rolling upgrade framework so that
> no backwards incompatible changes to disk can be made until the upgrade is
> finalized.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]