Yes, for strings, we can do this, but it is not generic enough. But your idea reminds me that we decide which data structure to use, if we use ValueState<T>.
Vijay Bhaskar <bhaskar.eba...@gmail.com> 于2018年9月14日周五 下午5:24写道: > How it would be to use ValueState<T> with values as string separated by > the delimiter. So that order will never be a problem. Only overhead is to > separate delimiter, read the elements and convert them into primitive types > in case necessary. It just workaround. In case doesn't suite your > requirements pardon me > > Regards > Bhaskar > > On Fri, Sep 14, 2018 at 12:36 PM vino yang <yanghua1...@gmail.com> wrote: > >> Hi, >> >> I saw one of ListState's implementations of HeapListState, and its >> internal data store uses the JDK's List. >> Of course, from an API point of view, maybe we can't make an absolute >> order guarantee. >> But if we look at it from a particular implementation, we can see if it >> can guarantee this, of course, if the user is using the data structure >> purely. >> >> Thanks, vino. >> >> Rong Rong <walter...@gmail.com> 于2018年9月14日周五 下午12:30写道: >> >>> I don't think ordering is guaranteed in the internal implementation, to >>> the best of my knowledge. >>> I agreed with Aljoscha, if there is no clear definition of ordering, it >>> is assumed to be not preserved by default. >>> >>> -- >>> Rong >>> >>> On Thu, Sep 13, 2018 at 7:30 PM vino yang <yanghua1...@gmail.com> wrote: >>> >>>> Hi Aljoscha, >>>> >>>> Regarding window merging, as you said, it's not clear, because Flink >>>> does some internal work. >>>> But if it's just for the user, isn't it clear without any internal >>>> operations? I think if the user explicitly uses it, it should conform to >>>> the basic List semantics. Otherwise why define it instead of using >>>> SetListState directly? >>>> >>>> Thanks, vino. >>>> >>>> Aljoscha Krettek <aljos...@apache.org> 于2018年9月13日周四 下午10:42写道: >>>> >>>>> Hi, >>>>> >>>>> this is not clearly defined anywhere, and I was always working under >>>>> the assumption that the order is not preserved. This potentially allows >>>>> more optimizations by the system, and for example in case of merging >>>>> windows we don't know the order of elements in a ListState after a merge. >>>>> >>>>> Best, >>>>> Aljoscha >>>>> >>>>> On 6. Sep 2018, at 08:19, vino yang <yanghua1...@gmail.com> wrote: >>>>> >>>>> Hi Alexey, >>>>> >>>>> The answer is Yes, which preserves the semantics of the List's order >>>>> of elements. >>>>> >>>>> Thank, vino. >>>>> >>>>> Alexey Trenikhun <yen...@msn.com> 于2018年9月6日周四 上午10:55写道: >>>>> >>>>>> Hello, >>>>>> Does keyed managed ListState<T> preserve elements order, for example >>>>>> if I call listState.add(e1); listState.add(e2); listState.add(e3); , does >>>>>> ListState<T> guarantee that listState.get() will return elements in order >>>>>> they were added (e1, e2, e3) >>>>>> >>>>>> Alexey >>>>>> >>>>>> >>>>>> >>>>>