Thursday, August 18, 2011

HttpPingRoutineImpl and wls_does_not_exist_url

cd C:\Oracle2\Middleware\user_projects\domains\osb_domain\bin
setDomainEnv.cmd


java weblogic.cluster.messaging.internal.HttpPingRoutineImpl -host localhost -port 7001

if the server is running, this returns:
HttpPing returns: 1

otherwise
HttpPing returns: 0


This routine try to establish a URLConnection to
http://host:port/wls_does_not_exist_url

of course wls_does_not_exist_url simply doesn't exist, but if the WL server is running you get a HTTP 404, while if it's not running you get an HTTP error code between 300 and 400, or between 500 and 600.

This routing is used in the cluster members discovery mechanism.

When you see "starting remote group discovery" in the log, you are in
weblogic.cluster.messaging.internal.GroupImpl, then calls PingRoutine.ping

If the property weblogic.unicast.HttpPing is set, you use the HttpPingRoutine, otherwise the Socket-based PingRoutine

To debug all the messages set the weblogic.debug.DebugUnicastMessaging property.

You can set timeout values on these pings with these System properties:

httpPing.connectTimeout (default "3000")

httpPing.readTimeout (default "6000")



There are some cluster parameters you can try to tune if your "starting remote group discovery" is taking too long:

Member Warmup Timeout:
"Maximum number of seconds that a cluster member will wait to discover and synchronize with other servers in the cluster. Normally, the member will be able to sync in 30 seconds. If the value of this attribute is higher, that does not necessarily mean that it will take longer for the member to warmup. Instead it defines an upper bound on the time that a server will wait to sync with the servers that it has discovered. If the value is set 0, servers will not attempt to discover other running server in the cluster during server initialization"






No comments: