> On 18 Sep 2015, at 18:47, HADDLETON, Robert W (Bob) 
> <bob.haddle...@alcatel-lucent.com> wrote:
> 
> Hi Renat:
> 
> [TL;DR] - maybe use multiple words in the state name to avoid confusion
> 
> I agree that there is a lot of overlap - WAITING and DELAYED and POSTPONED 
> are all very similar.  The context is important when trying to decipher what 
> the words means.
> 
> I would normally interpret WAITING as having a known condition:
> 
> * I'm WAITING for the baseball game to begin
> 
> DELAYED implies WAITING but adds the context that something was supposed to 
> have started already, or has already started, is now blocked by something out 
> of your control, and you may or may not know when it will start again:
> 
> * The (start of the) ballgame has been DELAYED (by rain) (until 2:00). (So 
> I'm still WAITING for it to begin)
> 
> POSTPONED implies DELAYED, but adds that something was "scheduled" to start 
> at a certain time and has been re-scheduled for a later time.  It may or may 
> not have started already, and the later time may or may not be known:
> 
> * The ballgame has been POSTPONED (because of rain) (until tomorrow) (so the 
> game has been DELAYED and I'm still WAITING for it to start)
> 
> So using any of the three words on their own without context or additional 
> information will likely be confusing, or at least subject to different 
> interpretations.
> 
> I would be reluctant to rename DELAYED to POSTPONED, because it raises more 
> questions (until when?) than DELAYED without providing more answers.

Yeah, this makes perfect sense to me. Really good analysis. I agree that 
context is really important to eliminate ambiguity.

> I think what it comes down to is the need to provide more information in the 
> state name than is possible with one English word:
> 
> WAITING_FOR_PRECONDITIONS
> DELAYED_BY_RETRY
> 
> These provide more specific context to the state but the state transition 
> table gets to be unmanageable when there is a state for everything.
> 
> If more Waiting/delayed states are added it in the future it might make sense 
> to create them as sub-states of RUNNING, to keep the transitions manageable.


This all makes me think that we probably just need to clarify one of these 
names so they look like:
RUNNING_DELAYED - a substate of RUNNING and it has exactly this meaning: it’s 
generally running but delayed till some later time.
WAITING - it is not a substate of RUNNING and hence it means a task has not 
started yet

And at the same time these names still remain not too verbose.

What do you think?

P.S. Thank you very much Robert!

Renat Akhmerov
@ Mirantis Inc.

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to