[
https://issues.apache.org/jira/browse/SAMZA-670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14589497#comment-14589497
]
József Márton Jung commented on SAMZA-670:
------------------------------------------
Hi guys,
Thanks for the comments.
{quote}
How did you put into the AM UI?
{quote}
Basically I passed the {{LocalityManager}} instance instead of container
locality map in {{JobCoordinator.scala}} at the end of {{refreshJobModel}}
function. I changed the {{JobModel}} class to accept the {{LocalityManager}} in
the constructor (as it accepts the {{containerToHostMapping}} map currently).
Later it can be accessed through {{SamzaAppMasterState}}, like
{{state.jobCoordinator.jobModel.getLocalityManager}}.
{quote}
Also try to invoke the LocalityManager later as Yi suggested. I checked the
LocalityManger code, it does not the bug related to your issue. Let me know if
it's about flushing.
{quote}
I changed the {{LocalityManager.writeContainerToHostMapping}} method to flush
the {{coordinatorStramProducer}} (added a method into it to flush the
{{systemProducer}} for a given source). I started my Samza app, waited ~7
minutes, and there is no info about the JMX addresses when {{LocalityManager}}
invokes the {{readContainerLocality}} method.
Here is the samza-appliaction-master.log:
{noformat}
2015-06-17 09:36:30 SamzaAppMasterTaskManager [INFO] Started container ID 0
...
...
2015-06-17 09:43:18 CoordinatorStreamSystemConsumer [INFO] Bootstrapping
configuration from coordinator stream.
{noformat}
If the {{LocalityManager}} finds a mapping, it logs it, but there are no logged
values. (If I restart my samza app, it logs the values for the previous run)
> Allow easier access to JMX port
> -------------------------------
>
> Key: SAMZA-670
> URL: https://issues.apache.org/jira/browse/SAMZA-670
> Project: Samza
> Issue Type: Improvement
> Components: container
> Affects Versions: 0.9.0
> Reporter: Naveen Somasundaram
> Assignee: József Márton Jung
> Fix For: 0.10.0
>
>
> The current way we expose JMX is throw logs. The process for figuring this
> out is (To debug a particular partition):
> 1. Figure out the Partition to container mapping through the YARM AM or logs.
> 2. Once we know the container, access the container logs and figure out the
> JMX port.
> 3. Connect to the machine using the JMX port.
> We should ideally expose it through some REST service or make it available
> through the coordinator stream.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)