You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2014/07/07 16:58:34 UTC

[jira] [Created] (FLINK-1005) Add different mutable-object modes to runtime

Stephan Ewen created FLINK-1005:
-----------------------------------

             Summary: Add different mutable-object modes to runtime
                 Key: FLINK-1005
                 URL: https://issues.apache.org/jira/browse/FLINK-1005
             Project: Flink
          Issue Type: Improvement
          Components: Local Runtime
    Affects Versions: 0.6-incubating
            Reporter: Stephan Ewen
            Assignee: Stephan Ewen
             Fix For: 0.6-incubating


Currently, the runtime works strictly with mutable objects. That means that as few objects as possible (typically one or two) are reused for the data records all the time. Objects are cloned/restored, though, at various places to ensure that the contents is fresh at every call.

The rational behind this was to reduce pressure on the garbage collector. In fact, you can run programs where no garbage collection happens (if the UDFs are written to reuse objects as well).

It can, however, lead to bugs in not-carefully written user code.

I propose to add two modes to the runtime:
  - No-object-reuse (default) mode. New objects for every record. Safe but potentially slower.
  - Object-reusing mode - All objects are reused, without backup copies.. The UDFs must be careful to not keep any objects as state or not to modify the objects,







--
This message was sent by Atlassian JIRA
(v6.2#6252)