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)

Reply via email to