You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "Jon Bringhurst (JIRA)" <ji...@apache.org> on 2014/09/13 03:22:34 UTC

[jira] [Commented] (SAMZA-348) Configure Samza jobs through a stream

    [ https://issues.apache.org/jira/browse/SAMZA-348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14132439#comment-14132439 ] 

Jon Bringhurst commented on SAMZA-348:
--------------------------------------

It might be a good idea to have this as an interface named "ConfigState" (or something like that) instead of "ConfigStream", unless there's a specific feature of this that can only exist when it's backed by something similiar to a Kafka stream (instead of Zookeeper for example).

Along that line of thought, does this avoid using Zookeeper to avoid a new dependency? Or for some other reason?

{quote}
The YARN AM exposes the Config object's data via an HTTP JSON webapp.
{quote}

Is the intent for this API to allow changing the config without restarting the AM? If so, this might be a nice way to manage several Samza jobs with an external system (perhaps one with a nice web UI, like a Mesos meta-scheduler).

{quote}
This refactoring would also help make Mesos support easier.
{quote}

I definitely agree.

> Configure Samza jobs through a stream
> -------------------------------------
>
>                 Key: SAMZA-348
>                 URL: https://issues.apache.org/jira/browse/SAMZA-348
>             Project: Samza
>          Issue Type: Bug
>    Affects Versions: 0.7.0
>            Reporter: Chris Riccomini
>              Labels: project
>         Attachments: DESIGN-SAMZA-348-0.md, DESIGN-SAMZA-348-0.pdf
>
>
> Samza's existing config setup is problematic for a number of reasons:
> # It's completely immutable once a job starts. This prevents any dynamic reconfiguration and auto-scaling. It is debatable whether we want these feature or not, but our existing implementation actively prevents it. See SAMZA-334 for discussion.
> # We pass existing configuration through environment variables. YARN exports environment variables in a shell script, which limits the size to the varargs length on the machine. This is usually ~128KB. See SAMZA-333 and SAMZA-337 for details.
> # User-defined configuration (the Config object) and programmatic configuration (checkpoints and TaskName:State mappings (see SAMZA-123)) are handled differently. It's debatable whether this makes sense.
> In SAMZA-123, [~jghoman] and I propose implementing a ConfigLog. This log would replace both the checkpoint topic and the existing config environment variables in SamzaContainer and Samza's YARN AM.
> I'd like to keep this ticket's scope limited to just the implementation of the ConfigLog, and not re-designing how Samza's config is used in the code (SAMZA-40). We should, however, discuss how this feature would affect dynamic reconfiguration/auto-scaling.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)