>
> we should treat these cases as errors
>
Looking at the fields listed in the FLIP, I'd agree with this argument. And
based on this, shouldn't we fail the request with e.g., a status code 500,
rather than responding with a fallback value silently?

Best,

Xintong



On Tue, Jul 25, 2023 at 12:22 AM Jing Ge <j...@ververica.com.invalid> wrote:

> We might consider using 0 as null for values that never return 0. But null
> is still not equal to 0 and it will be very difficult to let every
> contributor in this community follow this rule, especially for future
> unknown APIs, which means there will be some cases that still need null.
> Personally, I would choose accuracy over convenience and consistency over
> convenience. Therefore, null is recommended.
>
> Best regards,
> Jing
>
> On Mon, Jul 24, 2023 at 11:48 PM Chesnay Schepler <ches...@apache.org>
> wrote:
>
> > The downside to null is that it again forces users to handle this case
> > themselves.
> >
> > The reality is that there is no good default value.
> >
> > Ideally we fix all cases where we return such values, such that the
> > fallback to 0 isn't even used.
> > Arguably the same could be said for null, but I'd think that 0 is less
> > of a surprise.
> >
> > On 24/07/2023 17:21, Gyula Fóra wrote:
> > > I agree that it's a bit strange to have 0 as a fallback value because
> it
> > > can also naturally occur for many metrics.
> > > If we want to omit the value null would be probably better as Matthias
> > > suggested.
> > >
> > > Gyula
> > >
> > > On Mon, Jul 24, 2023 at 4:02 PM Matthias Pohl
> > > <matthias.p...@aiven.io.invalid> wrote:
> > >
> > >> What was the reason you decided to go for 0 as the fallback value
> > instead
> > >> of null? Wouldn't that be a more reasonable value for error cases?
> > >>
> > >> On Mon, Jul 24, 2023 at 12:51 PM Chesnay Schepler <ches...@apache.org
> >
> > >> wrote:
> > >>
> > >>> There are a number of cases where the REST API can return infinity or
> > >>> NaN for certain double fields.
> > >>>
> > >>> This is problematic because the JSON spec does not allow such values,
> > >>> and tooling working against that spec may run into issues when
> > >>> encountering such a value.
> > >>>
> > >>> Specifically we've seen this become an issue in clients generated
> from
> > >>> the OpenAPI spec.
> > >>>
> > >>>
> > >>>
> > >>>
> > >>
> >
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=263425797
> >
> >
>

Reply via email to