[ 
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)

Reply via email to