quality@glassfish.java.net

Re: Waiting for DAS to start. ...................................................

From: Bill Shannon <bill.shannon_at_sun.com>
Date: Fri, 02 Oct 2009 11:55:17 -0700

Kedar Mhaswade wrote on 10/02/09 11:53:
> Bill Shannon wrote:
>> You know, you just can't win this game! :-)
>>
>> For something that takes an indeterminate and variable time to occur,
>> it's frustrating to have it just sit there doing nothing while you
>> wonder what going on. stop-domain is one such function and it has
>> printed the dots for quite some time. Someone filed a bug saying
>> that start-domain should do the same, which seemed like a reasonable
>> request.
>>
>> Separately, someone complained that start-domain would give up waiting
>> too soon if you had a domain with lots and lots of applications, so we
>> extended the time it would wait before giving up, while also improving
>> it to better detect when the domain fails to start quickly.
>>
>> In the end, if your domain configuration is broken in certain ways, you
>> can be left in a situation where it won't fully start, won't die, and
>> the start-domain command is left waiting for a very long time.
>>
>> If you prefer start-domain to sit quietly waiting, use --terse or
>> AS_ADMIN_TERSE=true.
>>
>> If you want to know what it's doing while it's trying to start, use
>> --verbose.
>>
>> If you have some better ideas about how to handle this case, let me know.
>
> I agree, this is difficult to get right.
>
> Making verbose a default is incompatible with other releases and
> would certainly break scripts. But making the server start in verbose
> by default would make *developers* happy because they would mostly
> know what's going on (again, that depends upon what logging activity
> happens during this period).
>
> The point of the complaint that I thought was something we could be
> better at was
> - At times, sitting quietly doing nothing is analogous to
> printing more and more dots. It just makes the user wait without
> knowing what's going on.

And if you have ideas about how to know what's going on, let me know.

Again, we have --terse and --verbose, so if either those correspond to
the behavior a user wants, they can get it. The question is, what to
do in the default case?

Ideally there would be something between --verbose and complete silence
that would tell you what phase of initialization the server is in, with
perhaps 5 phases total during normal startup.