Hi apigeeks, I am seeing an abnormal behavior of apigee message processor and router. If I don't have any proxy deployed on a VHOST then I am getting an exception constantly logged in edge-message-processor logs as per below where it says "Unable to identify proxy for host <router-ip>:<vhost-port>"
2017-07-02 19:07:08,274 NIOThread@1 ERROR ADAPTORS.HTTP.FLOW - AbstractRequestListener.onException() : Request: GET, uri: /, message Id:null, exception:com.apigee.rest.framework.ResourceNotFoundException{ code = messaging.adaptors.http.flow.ApplicationNotFound, message = Unable to identify proxy for host: <router-ip>:9004 and url: /, associated contexts = []} context:ClientInputChannel(ClientChannel[A:<mp-ip>:8998 Remote host:<router-ip>:59874]@610 useCount=1 bytesRead=0 bytesWritten=0 age=0ms lastIO=0ms )) 2017-07-02 19:07:08,274 NIOThread@1 ERROR ADAPTORS.HTTP.FLOW - AbstractRequestListener.onException() : Exception caught com.apigee.rest.framework.ResourceNotFoundException: Unable to identify proxy for host: <router-ip>:9004 and url: / at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$MessageProcessorRequestListener.init(MessageProcessorHttpSkeletonFactory.java:282) [http-adaptor-1.0.0.jar:na] at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$MessageProcessorRequestListener.onHeaders(MessageProcessorHttpSkeletonFactory.java:481) [http-adaptor-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context$1.onHeaders(HTTPServer.java:601) [http-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageReader.onRead(MessageReader.java:119) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context.startReading(HTTPServer.java:670) [http-1.0.0.jar:na] at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$MessageProcessorRequestListener.onStart(MessageProcessorHttpSkeletonFactory.java:202) [http-adaptor-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context$1.setBufferUnprocessed(HTTPServer.java:499) [http-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageReader.onRead(MessageReader.java:83) [http-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageReader.start(MessageReader.java:67) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context.startSafeReading(HTTPServer.java:661) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context.run(HTTPServer.java:387) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer.onAccept(HTTPServer.java:233) [http-1.0.0.jar:na] at com.apigee.nio.handlers.NIOThread.run(NIOThread.java:69) [nio-1.0.0.jar:na]
When I deploy the proxy the exception changes and instead of the router-ip and port now it gives me the VHOST name instead. Although the traffic is working good and we are able to see the proxy is responding properly.
2017-07-02 19:05:48,213 NIOThread@3 ERROR ADAPTORS.HTTP.FLOW - AbstractRequestListener.onException() : Request: GET, uri: /, message Id:null, exception:com.apigee.rest.framework.ResourceNotFoundException{ code = messaging.adaptors.http.flow.ApplicationNotFound, message = Unable to identify proxy for host: vhdef-out and url: /, associated contexts = []} context:ClientInputChannel(ClientChannel[A:<MP-IP>:8998 Remote host:<Router-IP>:59838]@602 useCount=1 bytesRead=0 bytesWritten=0 age=0ms lastIO=0ms )) 2017-07-02 19:05:48,213 NIOThread@3 ERROR ADAPTORS.HTTP.FLOW - AbstractRequestListener.onException() : Exception caught com.apigee.rest.framework.ResourceNotFoundException: Unable to identify proxy for host: vhdef-out and url: / at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$MessageProcessorRequestListener.getDeploymentIdentifier(MessageProcessorHttpSkeletonFactory.java:433) [http-adaptor-1.0.0.jar:na] at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$MessageProcessorRequestListener.classifyByHostAndPath(MessageProcessorHttpSkeletonFactory.java:403) [http-adaptor-1.0.0.jar:na] at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$MessageProcessorRequestListener.init(MessageProcessorHttpSkeletonFactory.java:278) [http-adaptor-1.0.0.jar:na] at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$MessageProcessorRequestListener.onHeaders(MessageProcessorHttpSkeletonFactory.java:481) [http-adaptor-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context$1.onHeaders(HTTPServer.java:601) [http-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageReader.onRead(MessageReader.java:119) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context.startReading(HTTPServer.java:670) [http-1.0.0.jar:na] at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$MessageProcessorRequestListener.onStart(MessageProcessorHttpSkeletonFactory.java:202) [http-adaptor-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context$1.setBufferUnprocessed(HTTPServer.java:499) [http-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageReader.onRead(MessageReader.java:83) [http-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageReader.start(MessageReader.java:67) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context.startSafeReading(HTTPServer.java:661) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context.run(HTTPServer.java:387) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer.onAccept(HTTPServer.java:233) [http-1.0.0.jar:na] at com.apigee.nio.handlers.NIOThread.run(NIOThread.java:69) [nio-1.0.0.jar:na]
Can someone please shed some light on this error being logged. These errors are being logged at very frequent intervals which is causing system.log file size to grow upto 100 of MBs per day.
Thanks!!
Hi @Mohammed Zuber, In both the cases, I see there are Request: GET, uri:/ calls.
Do you know who is making this calls?
As a best practice always have an endpoint/proxy (Non-supported) listen on /,raise a fault and return 404.
Hi, @Maruti Chand, We have a generic Non-supported endpoint in all the proxies, and nobody is making any requests to "URI:/". Tracetool also doesn't show any such requests being made. These errors are being logged only in MP log files.
What I can assume is that router to MP health check might be causing these, still don't have a concrete idea of how that can be checked and traced.
We are having some Apigee people coming, they might be able to help on this. I will keep the community posted if I get any solution around this.
Thanks.