Thanks a lot for your reply. Yes, I thought this before, but I didn't use this because I will insert it into a queue when I intercept the request, and sort them and do something, and then run the request, it means that the request will not be executed immediately, since I don't want to block the handler thread, I do the interception in the listen.
On Mon, May 2, 2016 at 6:59 PM, Mingliang Liu <[email protected]> wrote: > Will the NameNodeRpcServer.java a better place for your interception (for > HDFS related operations)? > > Thanks, > > L > > > On May 2, 2016, at 3:09 PM, Kun Ren <[email protected]> wrote: > > > > Hi Genius, > > > > I want to intercept the requests in the processRpcRequest() method in the > > listener component in server.java, for example if I want to intercept the > > "mkdirs" and "append" request, I just try to get the method name and > > parameters before this line: > > callQueue.put(call); > > > > Currently I use the following way to get the method name: > > rpcRequest = call.rpcRequest; > > RpcRequestWrapper request = (RpcRequestWrapper) rpcRequest; > > RequestHeaderProto rpcRequestProto = request.getRequestHeader(); > > String methodName = rpcRequestProto.getMethodName(); > > > > Then the methodName is "mkdirs" if the request is "./bin/hdfs dfs -mkdir > > input/test1", however I don't know how to get the parameter, like > > "input/test1", does anyone know how to get the methodName and parameters > > from the Call object? > > > > Thanks a lot and very appreciate. > >
