Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.2.1, 2.2.0
-
None
-
None
Description
The ApplicationClientProtocolPBClientImpl c'tor (and the JobClient 0.20.2 c'tor as well) creates an rpc proxy that eventually uses '0' as the rpcTimeout:
public ApplicationClientProtocolPBClientImpl(long clientVersion, InetSocketAddress addr, Configuration conf) throws IOException { RPC.setProtocolEngine(conf, ApplicationClientProtocolPB.class, ProtobufRpcEngine.class); proxy = RPC.getProxy(ApplicationClientProtocolPB.class, clientVersion, addr, conf); }
which leads to this call in RPC:
public static <T> ProtocolProxy<T> getProtocolProxy(Class<T> protocol, long clientVersion, InetSocketAddress addr, UserGroupInformation ticket, Configuration conf, SocketFactory factory) throws IOException { return getProtocolProxy( protocol, clientVersion, addr, ticket, conf, factory, 0, null);
(the '0' above is the rpc timeout).
Clients should be able to specify the rpc timeout.