Yes, it would be good to post your code.
Are you using a FoldFunction in a window (if yes, what window) or as a
running aggregate?

In general, collecting state in a FoldFunction is usually not something
that you should do. Did you consider using an AggregateFunction?

Fabian

Am Mi., 10. Okt. 2018 um 11:08 Uhr schrieb Chesnay Schepler <
ches...@apache.org>:

> In which method are you calling getRuntimeContext()? This method can only
> be used after open() has been called.
>
> On 09.10.2018 17:09, Ahmad Hassan wrote:
>
> Hi,
>
> We want to use MapState inside fold function to keep the map of all
> products that we see in 24 hour window to store huge state in rocksdb
> rather than overflowing heap. However, I don't seem to initialise mapstate
> within foldfunction or any class that is extending RichMapFunction
>
> private transient MapStateDescriptor<String, String> descr = new
> MapStateDescriptor<>("mymap", String.class, String.class);
> this.getRuntimeContext().getMapState(descr);
>
> I get error
>
> java.lang.IllegalStateException: The runtime context has not been
> initialized.
> at
> org.apache.flink.api.common.functions.AbstractRichFunction.getRuntimeContext(AbstractRichFunction.java:53)
>
>
> Any clues how to get the runtime context please?
>
> Thanks.
>
> Best regards
>
>
>

Reply via email to