You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@ambari.apache.org by Andrew Onischuk <ao...@hortonworks.com> on 2017/08/03 09:15:20 UTC

Review Request 61400: Race condition causing execution commands to fail

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

Review request for Ambari and Vitalyi Brodetskyi.


Bugs: AMBARI-21646
    https://issues.apache.org/jira/browse/AMBARI-21646


Repository: ambari


Description
-------

STR:  
1\. Execution command started  
2\. Registration failed  
3\. Execution command finished.

At this point we try to send an execution command result as not a registered
agent.  
Which leads to exception on server or agent.

    
    
    ERROR 2017-08-02 13:36:52,524 ActionQueue.py:207 - Exception while processing EXECUTION_COMMAND command
    Traceback (most recent call last):
      File "/usr/lib/python2.6/site-packages/ambari_agent/ActionQueue.py", line 200, in process_command
        self.execute_command(command)
      File "/usr/lib/python2.6/site-packages/ambari_agent/ActionQueue.py", line 410, in execute_command
        self.commandStatuses.put_command_status(command, roleResult)
      File "/usr/lib/python2.6/site-packages/ambari_agent/CommandStatusDict.py", line 59, in put_command_status
        self.force_update_to_server(command['clusterId'], new_report)
      File "/usr/lib/python2.6/site-packages/ambari_agent/CommandStatusDict.py", line 62, in force_update_to_server
        self.initializer_module.connection.send(message={'clusters':{cluster_id: [report]}}, destination=Constants.COMMANDS_STATUS_REPORTS_ENDPOINT)
      File "/usr/lib/python2.6/site-packages/ambari_agent/Utils.py", line 223, in decorated
        v = undecorated(self)
      File "/usr/lib/python2.6/site-packages/ambari_agent/InitializerModule.py", line 102, in connection
        conn.connect(wait=True)
      File "/usr/lib/python2.6/site-packages/ambari_stomp/protocol.py", line 505, in connect
        self.transport.wait_for_connection()
      File "/usr/lib/python2.6/site-packages/ambari_stomp/adapter/websocket.py", line 83, in wait_for_connection
        raise ConnectionResponseTimeout("Waiting for connection confirmation timed out")
    ConnectionResponseTimeout: Waiting for connection confirmation timed out


Diffs
-----

  ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py f6d304c 
  ambari-agent/src/main/python/ambari_agent/CommandStatusReporter.py 5e5eb0d 


Diff: https://reviews.apache.org/r/61400/diff/1/


Testing
-------

mvn clean test


Thanks,

Andrew Onischuk