Hi

If we can change code on translator != null then next line (
applyStreamingTransform(transform, node, translator); ) will cause NPE

It's main problem why I don't understand code:

x = null;
if (x == null && f1_null_value_forbid(x)) { ..}
f2_null_value_forbid(x);

change (x == null) => (x !=null) simple change point of NPE


2016-08-31 13:43 GMT+04:00 Aljoscha Krettek <aljos...@apache.org>:

> Hi,
> I think this is more suited for the Beam dev list. Nevertheless, I think
> this is a coding error and the condition should be
> if (translator != null && !applyCanTranslate(transform, node, translator))
>
> With what program did you encounter an NPE, it seems to me that this should
> rarely happen, at least it doesn't happen in all the Beam runner tests.
>
> Cheers,
> Aljoscha
>
> On Wed, 31 Aug 2016 at 11:27 Demin Alexey <diomi...@gmail.com> wrote:
>
> > Hi
> >
> > Sorry if i mistake with mailing list.
> >
> > After  BEAM-102 was solved in FlinkStreamingPipelineTranslator we have
> code
> > in visitPrimitiveTransform:
> >
> >
> > if (translator == null && applyCanTranslate(transform, node,
> translator)) {
> >   LOG.info(node.getTransform().getClass().toString());
> >   throw new UnsupportedOperationException(
> >       "The transform " + transform + " is currently not supported.");
> > }
> > applyStreamingTransform(transform, node, translator);
> >
> >
> > but applyCanTranslate and applyStreamingTransform always require NotNull
> > translator
> > as result if you try use side input in your code then you will cause NPE
> >
> > Maybe Aljoscha Krettek could describe how this code must work?
> >
> >
> > Regards,
> > Alexey Diomin
> >
>

Reply via email to