[ 
https://issues.apache.org/jira/browse/IMPALA-8143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16764545#comment-16764545
 ] 

ASF subversion and git services commented on IMPALA-8143:
---------------------------------------------------------

Commit adde66b37cea3689dac453f5d4f2aa4863a35979 in impala's branch 
refs/heads/master from Andrew Sherman
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=adde66b ]

IMPALA-7985: Port RemoteShutdown() to KRPC.

The :shutdown command is used to shutdown a remote server. The common
case is that a user specifies the impalad to shutdown by specifying a
host e.g. :shutdown('host100'). If a user has more than one impalad on a
remote host then the form :shutdown('<host>:<port>') can be used to
specify the port by which the impalad can be contacted. Prior to
IMPALA-7985 this port was the backend port, e.g.
:shutdown('host100:22000'). With IMPALA-7985 the port to use is the KRPC
port, e.g. :shutdown('host100:27000').

Shutdown is implemented by making an rpc call to the target impalad.
This changes the implementation of this call to use KRPC.

To aid the user in finding the KRPC port, the KRPC address is added to
the /backends section of the debug web page.

We attempt to detect the case where :shutdown is pointed at a thrift
port (like the backend port) and print an informative message.

Documentation of this change will be done in IMPALA-8098.
Further improvements to DoRpcWithRetry() will be done in IMPALA-8143.

For discussion of why it was chosen to implement this change in an
incompatible way, see comments in
https://issues.apache.org/jira/browse/IMPALA-7985.

TESTING

Ran all end-to-end tests.
Enhance the test for /backends in test_web_pages.py.
In test_restart_services.py add a call to the old backend port to the
test. Some expected error messages were changed in line with what KRPC
returns.

Change-Id: I4fd00ee4e638f5e71e27893162fd65501ef9e74e
Reviewed-on: http://gerrit.cloudera.org:8080/12260
Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>


> Add features to DoRpcWithRetry()
> --------------------------------
>
>                 Key: IMPALA-8143
>                 URL: https://issues.apache.org/jira/browse/IMPALA-8143
>             Project: IMPALA
>          Issue Type: Task
>            Reporter: Andrew Sherman
>            Assignee: Andrew Sherman
>            Priority: Major
>
> DoRpcWithRetry() is a templated utility function that is currently in 
> control-service.h that is used to retry synchronous Krpc calls. It makes a 
> call to a Krpc function that is is passed as a lambda function. It sets the 
> krpc timeout to the ‘krpc_timeout‘ parameter and calls the Krpc function a 
> number of times controlled by the ‘times_to_try’ parameter.
> Possible improvements:
>  * Move code to rpc-mgr.inline.h
>  * Add a configurable sleep if RpcMgr::IsServerTooBusy() says the remote 
> server’s queue is full.
>  * Do we want exponential backoff? How can we test this?
>  * how long should the sleep be for existing clients?
>  * Make QueryState::ReportExecStatus() use DoRpcWithRetry()
>  * Consider if asynchronous code like that in KrpcDataStreamSender::Channel  
> can also use DoRpcWithRetry()
>  * Replace FAULT_INJECTION_RPC_DELAY with DebugAction 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to