> On Sept. 30, 2014, 7:08 p.m., Nate Cole wrote:
> > ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py, lines 
> > 340-341
> > <https://reviews.apache.org/r/26193/diff/1/?file=709770#file709770line340>
> >
> >     Nate's Nit: log the str(exception) so we may have an idea of what went 
> > wrong.  Also, if there is a try/except for each individual definition in 
> > the loop we could also identify which specific one failed.  It looks like 
> > the only "bad" call could be the alert.collect() or the 
> > self.__json_to_callable() method. (stupid markdown won't let me do two 
> > underscores)
> 
> Jonathan Hurley wrote:
>     The loop is stupid, but it's convention based on how the ActionQueue is 
> setup for commands sent to the agents. 99.99% of the time, there will only 
> ever be 1 command. But, I can change the logging to be more precise; I think 
> that much of this method could cause problems, though. If the JSON is messed 
> up, it could cause the agent to crash and restart (saw this during testing).
>     
>     logger.exception logs the message supplied and the caught exception; 
> str(exception) doesn't always provide a full trace if I recall correctly. I 
> will look into this as well before I push.

logger.exception(...)

    Traceback (most recent call last):
      File 
"/usr/lib/python2.6/site-packages/ambari_agent/AlertSchedulerHandler.py", line 
327, in execute_alert
        alert = self.__json_to_callable(clusterName, hostName, 
alert_definition.spack)
    AttributeError: 'dict' object has no attribute 'spack'

logger.error(str(exception))

    ERROR 2014-10-01 02:56:12,410 AlertSchedulerHandler.py:339 - 'dict' object 
has no attribute 'spack'
    
It looks like the exception(...) function provides more information.


- Jonathan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26193/#review55026
-----------------------------------------------------------


On Sept. 30, 2014, 6:38 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26193/
> -----------------------------------------------------------
> 
> (Updated Sept. 30, 2014, 6:38 p.m.)
> 
> 
> Review request for Ambari, Nate Cole and Tom Beerbower.
> 
> 
> Bugs: AMBARI-7568
>     https://issues.apache.org/jira/browse/AMBARI-7568
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> An alert should be able to be scheduled for immediate execution. This is 
> independent of its interval scheduling. The on-demand execution should not 
> affect any existing job schedules on the agent for the definition.
> 
> Alerts run outside of the realm of the normal request/task workflow. 
> Therefore, in order to trigger an on-demand alert to run, the following 
> command is used:
> 
>     POST 
> http://server/api/v1/clusters/{clusterName}/alert_definitions/{alertDefinitionId}?AlertDefinition/run_now=true
>     
> The most sensible way to accomplish this was to create the new 
> AlertExecutionCommand. I know that we are conservative with our extension of 
> AgentCommand, however alerts falls into a new category since the agent is in 
> charge of all of the scheduling logic. It didn't make sense to make this a 
> custom command since there's no associated Python file to "run"; it's all 
> transmitted in the heartbeat and runs inside of the alerts framework.
> 
> 
> Diffs
> -----
> 
>   ambari-agent/src/main/python/ambari_agent/AlertSchedulerHandler.py 
> c645cba0bb28c909894c9162f904c19f438c3304 
>   ambari-agent/src/main/python/ambari_agent/Controller.py 
> 18df06ed8c1960f670a9d4a5e9d1a7021330b9ea 
>   ambari-agent/src/main/python/ambari_agent/alerts/collector.py 
> 9943211eab71d54598fbf58289b1e4171241aa9a 
>   ambari-agent/src/test/python/ambari_agent/TestAlerts.py 
> f9c2ab4a93a2d56ae9d7f7d5051d3bc4a71bd1ae 
>   
> ambari-server/src/main/java/org/apache/ambari/server/agent/AgentCommand.java 
> 6e8aab1bf4236ffb129e12da4ff3c475338da299 
>   
> ambari-server/src/main/java/org/apache/ambari/server/agent/AlertExecutionCommand.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
>  c8261539262ede385387919c7c28d9b827acccef 
>   
> ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatResponse.java
>  1e9dc125556cde334e5bb5ccd2c8c435335d3c89 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
>  e2d283728482ea301aff964a0e3e6ea3191b801c 
>   
> ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertDefinitionHash.java
>  35d77426a9b0cf9373e95d29a48ccb8f1622e96b 
>   ambari-server/src/main/resources/properties.json 
> 3893f39c0ce6a862bcbff53791748b6179238bc2 
>   
> ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertDefinitionHashTest.java
>  1cb6eac7e57398e6eb0e18e45ed1ba5b4541efdf 
> 
> Diff: https://reviews.apache.org/r/26193/diff/
> 
> 
> Testing
> -------
> 
> New tests added; ran the following project targets:
> 
> ambari-agent$ mvn clean test
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 6.988 s
> [INFO] Finished at: 2014-09-30T17:14:20-04:00
> [INFO] Final Memory: 8M/81M
> [INFO] 
> ------------------------------------------------------------------------
> 
> ambari-server$ mvn clean test
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 18:51 min
> [INFO] Finished at: 2014-09-30T18:02:03-04:00
> [INFO] Final Memory: 29M/180M
> [INFO] 
> ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>

Reply via email to