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

Navina Ramesh commented on SAMZA-1346:
--------------------------------------

>  if the locality manager is null, then host affinity is not enabled and we 
> could just defer to group().

Would it more straightforward for the grouper to check the 
`job.host-affinity.enabled` configuration? If you assume that localityManager 
definition implies host-affinity is enabled, it might hide potential issues in 
other components, where localityManager is defined/used, however, the user 
didn't intend to enable host-affinity. Not that host-affinity should have any 
adverse side-effect on the job execution itself. Let me know what you think. 
Thanks!

> GroupByContainerCount.balance() should guard against null LocalityManager
> -------------------------------------------------------------------------
>
>                 Key: SAMZA-1346
>                 URL: https://issues.apache.org/jira/browse/SAMZA-1346
>             Project: Samza
>          Issue Type: Improvement
>            Reporter: Jake Maes
>            Assignee: Jake Maes
>
> While it's less likely after SAMZA-1334, we have seen cases of an NPE in 
> embedded mode. 
> {noFormat}
> org.apache.samza.SamzaException: Failed to run application
>       at 
> org.apache.samza.runtime.LocalApplicationRunner.run(LocalApplicationRunner.java:136)
>       at 
> com.linkedin.beam.runners.samza.runtime.fluent.FluentRuntime$RunnerTask.run(FluentRuntime.java:114)
>       ... 1 more
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.samza.container.grouper.task.GroupByContainerCount.balance(GroupByContainerCount.java:92)
>       at 
> org.apache.samza.coordinator.JobModelManager$.readJobModel(JobModelManager.scala:257)
>       at 
> org.apache.samza.coordinator.JobModelManager.readJobModel(JobModelManager.scala)
>       at 
> org.apache.samza.standalone.StandaloneJobCoordinator.<init>(StandaloneJobCoordinator.java:108)
>       at 
> org.apache.samza.standalone.StandaloneJobCoordinatorFactory.getJobCoordinator(StandaloneJobCoordinatorFactory.java:29)
>       at 
> org.apache.samza.processor.StreamProcessor.<init>(StreamProcessor.java:111)
>       at 
> org.apache.samza.processor.StreamProcessor.<init>(StreamProcessor.java:94)
>       at 
> org.apache.samza.runtime.LocalApplicationRunner.createStreamProcessor(LocalApplicationRunner.java:231)
>       at 
> org.apache.samza.runtime.LocalApplicationRunner.lambda$run$0(LocalApplicationRunner.java:125)
>       at 
> org.apache.samza.runtime.LocalApplicationRunner$$Lambda$35/1940982718.accept(Unknown
>  Source)
>       at java.util.ArrayList.forEach(ArrayList.java:1249)
>       at 
> org.apache.samza.runtime.LocalApplicationRunner.run(LocalApplicationRunner.java:121)
>       ... 2 more
> {noFormat}
> It should be straight forward to defend against this case and provide better 
> feedback in the logs. E.g. if the locality manager is null, then host 
> affinity is not enabled and we could just defer to group().



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to