Hi Junwen,

It looks like the issues that your checker found were only problems in some
old alpha releases, and we're already fixed by the time we created a final
release.


On Tue, May 4, 2021, 02:15 junwen yang <[email protected]> wrote:

> Deal all,
>
>
> Regarding the issue caused by the incompatibility of thrift message such
> as IMPALA-8243 <https://issues.apache.org/jira/browse/IMPALA-8243> , we
> have created a static checker which keeps track of the thrift file change,
> and detects potential incompatibility:
>
>    1. Add/delete required field.  The thrift guidelines suggest *Any new
>    fields that you add should be optional*.
>    2. The tag number of a field has been changed. Also, the thrift
>    guidelines suggest *Don’t change the numeric tags for any existing
>    fields*.
>    3. A  required field has been changed to optional, or an optional
>    field has been changed to required. According to the guidelines, *Required
>    Is Forever** You should be very careful about marking fields as
>    required. If at some point you wish to stop writing or sending a required
>    field, it will be problematic to change the field to an optional field —
>    old readers will consider messages without this field to be incomplete and
>    may reject or drop them unintentionally. You should consider writing
>    application-specific custom validation routines for your buffers instead.
>    Some have come to the conclusion that using required does more harm than
>    good; they prefer to use only optional. However, this view is not
>    universal.*
>
> We have applied our checker on the frequently maintained Accumulo
> versions: 1.7.0, rel/1.10.0, rel/2.0.0, rel/2.0.0-alpha-1,
> rel/2.0.0-alpha-2, rel/2.0.1, main, we found more than 10 problems as
> attached.
>
> The results reported by our checker got confirmed by developers of HBASE
> and our checker is requested by them, which can be found at HBASE-25340
> <https://issues.apache.org/jira/browse/HBASE-25340>.
>
>
> Best,
>
> Junwen
>

Reply via email to