BTW open() enables me only to initialize data to my objects. It still 
impossible to access to previous records’ data unless I use state’ tools.

That’s why I said that Flink’ state functionality is futile. Because when you 
use primitives or any serializable object then you don’t need to use open() and 
StateValue and so on. Indeed I then used only simple data in my program then 
everything worked fine and it been seem to me as if all the state’ tools are 
useless.

I think this should be explained better in the documentation.

Ziv.


From: Tzu-Li (Gordon) Tai [via Apache Flink Mailing List archive.] 
[mailto:ml+s1008284n19650...@n3.nabble.com]
Sent: 26 September 2017 14:40
To: ziv
Subject: RE: is flink' states functionality futile?

Hi Ziv,

if I mark it as transient, then its value erased and I get null pointer 
exception.
on the other hand, leave it without 'transient', it's a compilation error - 
implementation of function is not serializable.
For unserializable class fields that you need to use for processing, you need 
to make it transient, and only initialize it in the open() method.

To override the open() method you will need to extend the Rich variant of the 
operator you are implementing. For example, the RichFlatMapFunction is the Rich 
variant of the FlatMapFunction.

Does that answer your question?

Cheers,
Gordon

On 26 September 2017 at 11:58:43 AM, Meri Ziv ([hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=0>) wrote:

hi Tzu-Li,

sorry I have to reopen it but I'm still having troubles with using data from 
previous records.
you said:

“If that’s the case, and you don’t care about losing state on failures and 
don’t care about at-least-once / exactly-once, then yes you don’t have to use 
the managed state APIs in Flink.
You can just have ordinary fields to achieve this since Flink’s streaming 
operators are basically long-running processes that continuously process events 
in the stream and manipulates its state.”

look that if one of my fields is of unserializable type, then:
if I mark it as transient, then its value erased and I get null pointer 
exception.
on the other hand, leave it without 'transient', it's a compilation error - 
implementation of function is not serializable.

how you explain that?

Best, Ziv.

From: Tzu-Li (Gordon) Tai [mailto:[hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=1>]
Sent: 28 July 2017 09:12
To: [hidden email]</user/SendEmail.jtp?type=node&node=19650&i=2>; Meri Ziv
Subject: RE: is flink' states functionality futile?

Here it is (sorry about that):

[1] 
https://ci.apache.org/projects/flink/flink-docs-release-1.3/internals/stream_checkpointing.html


On 26 July 2017 at 4:15:54 PM, ziv ([hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=3><mailto:[hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=4>>) wrote:
Hi, what is the reference you wanted to link in [1]?

From: Tzu-Li (Gordon) Tai [via Apache Flink Mailing List archive.] 
[mailto:[hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=5>]<mailto:[mailto:[hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=6>]>
Sent: 26 July 2017 05:44
To: Meri Ziv
Subject: Re: is flink' states functionality futile?

<https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/stream/state.html>
it's a program that sinks messages only after enough items accumulated in
the buffe
Yes, that’s another important aspect of how Flink’s checkpointing is used to 
achieve at-least-once / exactly-once delivery to external systems.

For more details on how this works, I recommend taking at the docs here [1].


Now, assume I'm not bothered of recovering failures and only want the
simplest way to implement a program that remembers data from the last run in
the stream

By “the last run in the stream”, you mean the history of the stream so far, 
correct?
If that’s the case, and you don’t care about losing state on failures and don’t 
care about at-least-once / exactly-once, then yes you don’t have to use the 
managed state APIs in Flink.
You can just have ordinary fields to achieve this since Flink’s streaming 
operators are basically long-running processes that continuously process events 
in the stream and manipulates its state.

Cheers,
Gordon

On 23 July 2017 at 10:28:37 PM, ziv ([hidden 
email]</user/SendEmail.jtp?type=node&node=18936&i=0>) wrote:

Ok, Let me see if I understand you correctly.
You actually state that flink' states functionality is introduced only to
handle recovering from failures.
Let's take the example given in 1.3 documentary -
https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/stream/state.html
<https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/stream/state.html>
it's a program that sinks messages only after enough items accumulated in
the buffer.
Now, assume I'm not bothered of recovering failures and only want the
simplest way to implement a program that remembers data from the last run in
the stream, then, according to you, I may not use none of the elements
associated with flink' states -
ListState
snapshotState
initializeState
restoreState
and the program still functions correctly?





--
View this message in context: 
http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/is-flink-states-functionality-futile-tp18867p18879.html
Sent from the Apache Flink Mailing List archive. mailing list archive at 
Nabble.com.

________________________________
If you reply to this email, your message will be added to the discussion below:
http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/is-flink-states-functionality-futile-tp18867p18936.html
To start a new topic under Apache Flink Mailing List archive., email [hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=7><mailto:[hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=8><mailto:[hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=9>%3cmailto:[hidden 
email]</user/SendEmail.jtp?type=node&node=19650&i=10>>>
To unsubscribe from is flink' states functionality futile?, click here<
NAML<http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>

The information in this e-mail transmission contains proprietary and business
sensitive information. Unauthorized interception of this e-mail may constitute
a violation of law. If you are not the intended recipient, you are hereby
notified that any review, dissemination, distribution or duplication of this
communication is strictly prohibited. You are also asked to contact the sender
by reply email and immediately destroy all copies of the original message.




--
View this message in context: 
http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/is-flink-states-functionality-futile-tp18867p18939.html
Sent from the Apache Flink Mailing List archive. mailing list archive at 
Nabble.com.

The information in this e-mail transmission contains proprietary and business
sensitive information. Unauthorized interception of this e-mail may constitute
a violation of law. If you are not the intended recipient, you are hereby
notified that any review, dissemination, distribution or duplication of this
communication is strictly prohibited. You are also asked to contact the sender
by reply email and immediately destroy all copies of the original message.

________________________________
If you reply to this email, your message will be added to the discussion below:
http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/is-flink-states-functionality-futile-tp18867p19650.html
To start a new topic under Apache Flink Mailing List archive., email 
ml+s1008284n1...@n3.nabble.com<mailto:ml+s1008284n1...@n3.nabble.com>
To unsubscribe from is flink' states functionality futile?, click 
here<http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=18867&code=eml2bWVyaUBnbWFpbC5jb218MTg4Njd8MTk1NTY5MzMz>.
NAML<http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>

Reply via email to