Monitor thinks instances are dead
Monitor thinks instances are dead
- Subject: Monitor thinks instances are dead
- From: Jeffrey Schmitz <email@hidden>
- Date: Wed, 15 Feb 2006 09:28:00 -0700
Hello,
I thought I would move the below thread over from deployment since this seems to be a much more active list, and also I am getting desparate here. I hope that's ok. I think the basic problem I'm having is Monitor thinks the instances it is starting are dying, even though they aren't. This causes them to only be accessible via direct connect (i.e. by specifying the port number in the URL) since wotaskd assigns them a negative instance ID as can be seen in my host config below. So the thing I need to figure out is, why does Monitor think my instances are dead when they are not. btw, I do have web services (i.e. apache) on and I'm running 10.4.x server. The rest of the thread is below...
I tried adding WODirectConnectEnabled false as an added application parameter on start (although I was never setting it to true in the first place, and I thought false was the default), and still the only way to connect to my application instances is by specifying the port number. Also, although Monitor actually does start my app and it is running, it reports the app as dying. I have tried giving my app a very long startup time (3 minutes) with the same results. And looking at the Host config via monitor shows that the instances that have been started using monitor are being given a negative host ID.
also, I can start my app from the command line using the same parameters Monitor says it uses and it starts fine, but even for that app I can only connect by specifying the port number in the URL.
I've pasted below my info copied from what Monitor is reporting as the startup options and the Host config.
Any help would be GREATLY appreciated because I really can't think of anything else to try other than trying to get it to run on Tomcat.
Thanks,
Jeff
My startup options:
-WOPort 2002 -WOCachingEnabled YES -WODebuggingEnabled NO -WOOutputPath /dev/null -WOAutoOpenInBrowser NO -WOAutoOpenClientApplication NO -WOLifebeatInterval 30 -WOLifebeatEnabled YES -WOLifebeatDestinationPort 1085 -WOAdaptor WODefaultAdaptor -WOWorkerThreadCount 8 -WOListenQueueSize 128 -WOWorkerThreadCountMin 16 -WOWorkerThreadCountMax 256 -NSProjectSearchPath () -WOSessionTimeOut 3600 -WOApplicationName MyApp -WOMonitorEnabled YES -WONoPause YES -Xms512m -Xmx1024m -WOStatisticsPassword xxxxyyyy -WODirectConnectEnabled false
My Site Config:
<SiteConfig type="NSDictionary">
<hostArray type="NSArray">
<element type="NSDictionary">
<type type="NSString">MACOSX</type>
<name type="NSString">localhost</name>
</element>
</hostArray>
<applicationArray type="NSArray">
<element type="NSDictionary">
<adaptorThreadsMax type="NSNumber">256</adaptorThreadsMax>
<startingPort type="NSNumber">2001</startingPort>
<cachingEnabled type="NSString">YES</cachingEnabled>
<additionalArgs type="NSString">-Xms512m -Xmx1024m -WOStatisticsPassword xxxxyyyy -WODirectConnectEnabled false</additionalArgs>
<adaptor type="NSString">WODefaultAdaptor</adaptor>
<projectSearchPath type="NSString">()</projectSearchPath>
<autoOpenInBrowser type="NSString">NO</autoOpenInBrowser>
<listenQueueSize type="NSNumber">128</listenQueueSize>
<timeForStartup type="NSNumber">120</timeForStartup>
<lifebeatInterval type="NSNumber">30</lifebeatInterval>
<adaptorThreadsMin type="NSNumber">16</adaptorThreadsMin>
<notificationEmailEnabled type="NSString">NO</notificationEmailEnabled>
<debuggingEnabled type="NSString">NO</debuggingEnabled>
<phasedStartup type="NSString">YES</phasedStartup>
<autoRecover type="NSString">YES</autoRecover>
<adaptorThreads type="NSNumber">8</adaptorThreads>
<name type="NSString">MyApp</name>
<macPath type="NSString">/Library/WebObjects/Applications/MyApp.woa/MyApp</macPath>
<minimumActiveSessionsCount type="NSNumber">0</minimumActiveSessionsCount>
<sessionTimeOut type="NSNumber">3600</sessionTimeOut>
</element>
</applicationArray>
<instanceArray type="NSArray">
<element type="NSDictionary">
<port type="NSNumber">2001</port>
<cachingEnabled type="NSString">YES</cachingEnabled>
<schedulingStartDay type="NSNumber">1</schedulingStartDay>
<additionalArgs type="NSString">-Xms512m -Xmx1024m -WOStatisticsPassword=xxxxyyyy -WODirectConnectEnabled false</additionalArgs>
<path type="NSString">/Library/WebObjects/Applications/MyApp.woa/MyApp</path>
<schedulingHourlyStartTime type="NSNumber">3</schedulingHourlyStartTime>
<autoOpenInBrowser type="NSString">NO</autoOpenInBrowser>
<schedulingEnabled type="NSString">NO</schedulingEnabled>
<schedulingType type="NSString">DAILY</schedulingType>
<debuggingEnabled type="NSString">NO</debuggingEnabled>
<schedulingInterval type="NSNumber">12</schedulingInterval>
<autoRecover type="NSString">YES</autoRecover>
<lifebeatInterval type="NSNumber">30</lifebeatInterval>
<applicationName type="NSString">MyApp</applicationName>
<gracefulScheduling type="NSString">YES</gracefulScheduling>
<schedulingWeeklyStartTime type="NSNumber">3</schedulingWeeklyStartTime>
<id type="NSNumber">1</id>
<hostName type="NSString">localhost</hostName>
<minimumActiveSessionsCount type="NSNumber">0</minimumActiveSessionsCount>
<schedulingDailyStartTime type="NSNumber">3</schedulingDailyStartTime>
</element>
<element type="NSDictionary">
<port type="NSNumber">2002</port>
<cachingEnabled type="NSString">YES</cachingEnabled>
<schedulingStartDay type="NSNumber">1</schedulingStartDay>
<additionalArgs type="NSString">-Xms512m -Xmx1024m -WOStatisticsPassword xxxxyyyy -WODirectConnectEnabled false</additionalArgs>
<path type="NSString">/Library/WebObjects/Applications/MyApp.woa/MyApp</path>
<schedulingHourlyStartTime type="NSNumber">3</schedulingHourlyStartTime>
<autoOpenInBrowser type="NSString">NO</autoOpenInBrowser>
<schedulingEnabled type="NSString">NO</schedulingEnabled>
<schedulingType type="NSString">DAILY</schedulingType>
<debuggingEnabled type="NSString">NO</debuggingEnabled>
<schedulingInterval type="NSNumber">12</schedulingInterval>
<autoRecover type="NSString">YES</autoRecover>
<lifebeatInterval type="NSNumber">30</lifebeatInterval>
<applicationName type="NSString">MyApp</applicationName>
<gracefulScheduling type="NSString">YES</gracefulScheduling>
<schedulingWeeklyStartTime type="NSNumber">3</schedulingWeeklyStartTime>
<id type="NSNumber">2</id>
<hostName type="NSString">localhost</hostName>
<minimumActiveSessionsCount type="NSNumber">0</minimumActiveSessionsCount>
<schedulingDailyStartTime type="NSNumber">3</schedulingDailyStartTime>
</element>
</instanceArray>
<site type="NSDictionary">
<viewRefreshEnabled type="NSString">YES</viewRefreshEnabled>
<password type="NSString">E6CD15482C2B643DE962D3B4466D79B1A2DF</password>
<woAdaptor type="NSString">http://68.188.35.122/cgi-bin/WebObjects</woAdaptor>
<viewRefreshRate type="NSNumber">60</viewRefreshRate>
</site>
</SiteConfig>
Adaptor Config as sent to Local WOAdaptors - All Running Applications and Instances
<?xml version="1.0" encoding="ASCII"?>
<adaptor>
<application name="JavaMonitor">
<instance id="-8086" port="8086" host="My-Quad.local"/>
</application>
<application name="MyApp">
<instance id="-2002" port="2002" host="My-Quad.local"/>
<instance id="-2001" port="2001" host="My-Quad.local"/>
</application>
</adaptor>
Adaptor Config as sent to remote WOAdaptors - All Registered and Running Applications and Instances
<?xml version="1.0" encoding="ASCII"?>
<adaptor>
</adaptor>
Adaptor Config as written to disk - All Registered Applications and Instances
<?xml version="1.0" encoding="ASCII"?>
<adaptor>
<application name="MyApp">
<instance id="1" port="2001" host="localhost"/>
<instance id="2" port="2002" host="localhost"/>
</application>
</adaptor>
Properties of this wotaskd
The Configuration Directory is: /Library/WebObjects/Configuration/
Wotaskd is NOT writing WOConfig.xml to disk
The multicast address is: 239.128.14.2
This wotaskd is running on Port: 1085
Wotaskd is NOT responding to Multicast
WOAssumeApplicationIsDeadMultiplier is 4
On Feb 14, 2006, at 12:59 PM, Chuck Hill wrote:
>
> On Feb 13, 2006, at 9:28 PM, Jeffrey Schmitz wrote:
>
>> This is a very simple question that I can't seem to find the answer to in the Deployment documentation. When I deploy an app with multiple instances, what URL am I supposed to use such that connections amont the instances are load-balanced? The only URL I can figure out how to use are the direct connect ones to a specific instances, but using one of those as my URL isn't going to allow load balancing, right?
>>
>
> Correct. First, turn off Direct Connect in deployment unless you have some (odd) reason for having it on. The URL should not have any instance number in it:
> http://www.domain.com/cgi-bin/WebObjects/MyApp.woa
>
> The woadaptor will talk to wotaskd and choose an appropriate instance based on how it is doing load balancing. I think you can also use -1 to tell it to do this:
> http://www.domain.com/cgi-bin/WebObjects/MyApp.woa/-1
>
> Chuck
>
> --
> Coming in 2006 - an introduction to web applications using WebObjects and Xcode http://www.global-village.net/wointro
>
> Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects
>
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden