You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/02/17 00:30:00 UTC

[jira] [Commented] (SAMZA-1460) StreamAppender does not explicitly create logging topic

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

ASF GitHub Bot commented on SAMZA-1460:
---------------------------------------

GitHub user dnishimura opened a pull request:

    https://github.com/apache/samza/pull/423

    SAMZA-1460: StreamAppender does not explicitly create logging topic

    Creates the StreamAppender stream explicitly instead of relying on auto stream creation.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dnishimura/samza samza-1460-streamappender-create-logging-topic

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/samza/pull/423.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #423
    
----
commit 9c6437fc1b450c8b60ff6543a180d3b4ae929d4e
Author: Daniel Nishimura <dn...@...>
Date:   2018-02-17T00:27:12Z

    In StreamAppender, explicitly create the stream in the setup.

----


> StreamAppender does not explicitly create logging topic
> -------------------------------------------------------
>
>                 Key: SAMZA-1460
>                 URL: https://issues.apache.org/jira/browse/SAMZA-1460
>             Project: Samza
>          Issue Type: Bug
>            Reporter: Yi Pan (Data Infrastructure)
>            Priority: Major
>
> In StreamAppender, the logging topic is not explicitly created. We will be relying on Kafka cluster topic auto-creation feature to create the logging topic:
> {code}
>   protected void setupSystem() {
>     config = getConfig();
>     SystemFactory systemFactory = null;
>     Log4jSystemConfig log4jSystemConfig = new Log4jSystemConfig(config);
>     if (streamName == null) {
>       streamName = getStreamName(log4jSystemConfig.getJobName(), log4jSystemConfig.getJobId());
>     }
>     String systemName = log4jSystemConfig.getSystemName();
>     String systemFactoryName = log4jSystemConfig.getSystemFactory(systemName);
>     if (systemFactoryName != null) {
>       systemFactory = Util.<SystemFactory>getObj(systemFactoryName);
>     } else {
>       throw new SamzaException("Could not figure out \"" + systemName + "\" system factory for log4j StreamAppender to use");
>     }
>     setSerde(log4jSystemConfig, systemName, streamName);
>     systemProducer = systemFactory.getProducer(systemName, config, new MetricsRegistryMap());
>     systemStream = new SystemStream(systemName, streamName);
>     systemProducer.register(SOURCE);
>     systemProducer.start();
>     log.info(SOURCE + " has been registered in " + systemName + ". So all the logs will be sent to " + streamName
>         + " in " + systemName + ". Logs are partitioned by " + key);
>   }
> {code}
> It would be better to explicitly create the logging topic via SystemAdmin.createStream() to work w/ logging systems that do not support topic auto-creation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)