Hey guys, I got a chance to get back to the model and had a few questions. All these are aligned towards cleaning up the model. Let me know if I am going down the wrong path in wanting to clean up the model.
* Are constraints only applied to cluster? * What entities is CurrentState applicable to? It appears it applies to a resource + partition combination, am I correct? If so why not add the concept of 'Partition' to the model and have it return resources and have state on the resources? * Is there a reason we don't have a base 'State' to have derived states of IdealState(end state) and CurrentState(where we are in the transition)? That way we could potentially add StartState(start of transitions) and IntermediateState(any one of the states transitioned to while getting to ideal state) as a place holder for all other states. What do you think? * Is there a reason you guys decided not to have a representation of 'Cluster' in the model? * HelixConfigScope applies to configurations related to Cluster, Resource, Participant, Partition and Constraint. Constraint appears to be the odd man, can we fix this? How about having Configuration hierarchy i.e. ClusterConfiguration, ResourceConfiguration, PartitionConfiguration and so on and do away with Scope? * We should remove the AlertsHistory, LeaderHistory from the model package. These are not true model elements, what do you guys think? * We should remove StateModelDefinition, Transition and State from model, it is not core model. It applies to entities in the model. What do you guys think? * We should remove Message from model, its not a model entity. It needs to be a separate package, let me know what you guys think? * LiveInstance should go away, we should only have a status on the Participant. Let me know what you guys think? I am hoping to work a bit on the model tonight, so let me know what you guys think. Thanks, Sandeep
