@@ -71,7 +71,9 @@ protected void execute(HttpServletRequest request, HttpServletResponse response,
7171 RpcMethodInfoAndInvoker methodInfoAndInvoker ) {
7272 AtomicBoolean responded = new AtomicBoolean (false );
7373 try {
74+
7475 DefRequest rpcRequest = buildDefRequest (request , response , methodInfoAndInvoker );
76+
7577 CompletableFuture <Void > completionFuture = new CompletableFuture <>();
7678
7779 // use a thread pool for asynchronous processing
@@ -125,6 +127,7 @@ private void invokeRpcRequest(ProviderInvoker<?> invoker, DefRequest rpcRequest,
125127 AtomicBoolean responded ) {
126128
127129 WorkerPool workerPool = invoker .getConfig ().getWorkerPoolObj ();
130+
128131 if (null == workerPool ) {
129132 logger .error ("dispatch rpcRequest [{}] error, workerPool is empty" , rpcRequest );
130133 completionFuture .completeExceptionally (
@@ -179,9 +182,8 @@ private void handleError(Throwable t, DefRequest rpcRequest, HttpServletResponse
179182 try {
180183 if (responded .compareAndSet (false , true )) {
181184 HttpServletRequest request = getOriginalRequest (rpcRequest );
182- logger .warn ("Request processing failed: {}" , request .getRequestURI (), t );
183- httpErrorReply (request , response ,
184- ErrorResponse .create (request , HttpStatus .SC_INTERNAL_SERVER_ERROR , t ));
185+ logger .warn ("reply message error, channel: [{}], msg:[{}]" , request .getRemoteAddr (), request , t );
186+ httpErrorReply (request , response , ErrorResponse .create (request , HttpStatus .SC_SERVICE_UNAVAILABLE , t ));
185187 }
186188 } finally {
187189 completionFuture .completeExceptionally (t );
0 commit comments