[
https://issues.apache.org/jira/browse/SAMZA-1933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16636114#comment-16636114
]
ASF GitHub Bot commented on SAMZA-1933:
---------------------------------------
GitHub user shanthoosh opened a pull request:
https://github.com/apache/samza/pull/684
SAMZA-1933: Fix NPE in LocalityManager.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/shanthoosh/samza
fix_NPE_in_task_assignment_manager
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/samza/pull/684.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 #684
----
commit 5253ee334723a3faa9fe93e1d97e1bab34e29ab1
Author: Shanthoosh Venkataraman <spvenkat@...>
Date: 2018-10-02T16:29:56Z
Fix NPE in taskAssignmentManager.
----
> Fix NPE in LocalityManager.
> ----------------------------
>
> Key: SAMZA-1933
> URL: https://issues.apache.org/jira/browse/SAMZA-1933
> Project: Samza
> Issue Type: Bug
> Reporter: Shanthoosh Venkataraman
> Assignee: Shanthoosh Venkataraman
> Priority: Major
>
> Currently to generate JobModel, ApplicationMaster relies upon
> TaskAssignmentManager to read the task to container assignments from the
> coordinator stream. After the metadata store changes, the following exception
> occurs during JobModel generation:
>
> {code:java}
> Exception in thread "main" java.lang.NullPointerException
> at
> org.apache.samza.coordinator.metadatastore.CoordinatorStreamStore.bootstrapMessagesFromStream(CoordinatorStreamStore.java:136)
> at
> org.apache.samza.coordinator.metadatastore.CoordinatorStreamStore.all(CoordinatorStreamStore.java:127)
> at
> org.apache.samza.container.grouper.task.TaskAssignmentManager.readTaskAssignment(TaskAssignmentManager.java:97)
> at
> org.apache.samza.container.grouper.task.GroupByContainerCount.getPreviousContainers(GroupByContainerCount.java:154)
> at
> org.apache.samza.container.grouper.task.GroupByContainerCount.balance(GroupByContainerCount.java:98)
> at
> org.apache.samza.coordinator.JobModelManager$.readJobModel(JobModelManager.scala:205)
> at
> org.apache.samza.coordinator.JobModelManager$.getJobModelManager(JobModelManager.scala:95)
> at
> org.apache.samza.coordinator.JobModelManager$.apply(JobModelManager.scala:81)
> at org.apache.samza.coordinator.JobModelManager.apply(JobModelManager.scala)
> at
> org.apache.samza.clustermanager.ClusterBasedJobCoordinator.<init>(ClusterBasedJobCoordinator.java:177)
> at
> org.apache.samza.clustermanager.ClusterBasedJobCoordinator.main(ClusterBasedJobCoordinator.java:343)
> {code}
> Reason behind the exception is we did not invoke taskManager.init() before
> using the TaskManager instance, hence some of the consumer connections we not
> setup correctly.
> Fix:
> # Invoke taskManager.init() before using it in the LocalityManager.
> # Close the TaskAssignmentManager as soon as it goes out of scope.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)