Ah, cluster.xml is directly copied from the user's input? I thought Managix created it based on asterix-configuration.xml, but I guess maybe it's the other way 'round. Been a while since I did that. Ok, I think that makes sense for what I'm doing. Thanks!
Ceej aka Chris Hillery On Fri, Jul 31, 2015 at 2:17 AM, Ian Maxon <[email protected]> wrote: > The cluster.xml/Cluster file is just used to represent all the > parameters of the AsterixDB instance, like IP and so on. For example: > > https://github.com/apache/incubator-asterixdb/blob/master/asterix-installer/src/main/resources/clusters/demo/demo.xml > . The user has to create it. Basically it represents the instance, > i.e. if you modify it, that isn't quite the same AsterixDB instance > anymore. I actually reused that piece in the YARN port with slight > modification. > > On Fri, Jul 31, 2015 at 1:44 AM, Chris Hillery <[email protected]> > wrote: > > Thanks for the detailed reply! That's very useful information for me. > > > > Could you tell me a little bit about the cluster.xml file? I believe > > Managix creates that, although I'm not sure... is/was it created > elsewhere? > > What does it contain, and is its lifecycle? > > > > Thanks, > > Ceej > > aka Chris Hillery > > > > On Fri, Jul 31, 2015 at 1:29 AM, Raman Grover <[email protected]> > > wrote: > > > >> The asterix-events package dates back to fall of 2012. It was required > to > >> have a mechanism/framework for causing "events" in an asterixDB cluster > >> either on a adhoc basis or following a set pattern. A failure of an NC > or > >> joining of an NC, execution of an AQL statement could be considered as > >> examples of an event. Such a framework would allow testing/monitoring > of > >> an AsterixDB instance under a constructed environment with a set of > events > >> scheduled upfront. Consider running a workload and causing NC failures > >> that follow a pattern or are completely random and automating the > complete > >> test environment. > >> > >> The asterix-events framework modeled an event as an execution of a shell > >> script; you could do absolutely anything on a cluster as/when you > desire > >> as long as the action can be written as a script. > >> Events could be scheduled to occur at specific locations or at random > >> nodes. Asterix-events allowed defining a "pattern" as an XML to capture > >> the periodicity or dependency (e.g. one event would fire another) for a > >> given event. > >> > >> In Jan of 2013, when we requirement for Managix came up, it made sense > to > >> not reinvent the wheel; I thought of reusing the asterix-events > framework > >> and model the actions taken by Managix when setting up an instance as > >> events occurring across a cluster. Thus creating an AsterixDB instance > is > >> actually an asterix-events pattern that has a sequence of events firing > >> across a cluster, these include transfer of binaries to nodes following > by > >> starting of CC and NCs etc. > >> > >> Managix is only a client of the asterix-events framework and as such is > >> very thin in itself; much of the mechanism to execute a particular > step on > >> a cluster is enabled and handled by the underling generic asterix-events > >> framework. Managix just provides the specific pattern to execute for > each > >> managix command. You may also think of a "pattern" as a "job" and > >> asterix-events as the framework that executes the pattern/job. > >> Asterix-events framework also allows listening for errors or completion > of > >> an event on the cluster. Managix uses this functionality to report an > error > >> on when it fails to execute a step on a node (e.g. failing to start NC > on a > >> cluster). > >> > >> I am hopeful that asterix-events framework would find other uses within > >> AsterixDB and possibly be picked up others in simulating event(s) and > >> validating the behavior of the system. E.g. cause random node failures > in > >> an automated scripted way and evaluate the impact on our strategy for > data > >> replication within AsterixDB. > >> > >> Regards, > >> Raman > >> > >> > >> > >> > >> > >> > >> On Thu, Jul 30, 2015 at 11:47 PM, Ian Maxon <[email protected]> wrote: > >> > >> > I believe the original purpose was profiling and instrumenting > >> > AsterixDB. It is also used to provide managix's functionality. > >> > > >> > I know a thing or two about it via my YARN adventures, so I'd be happy > >> > to share all I know. Raman is probably the authority though, as he is > >> > the author. > >> > > >> > -Ian > >> > > >> > On Thu, Jul 30, 2015 at 11:02 PM, Chris Hillery <[email protected]> > >> > wrote: > >> > > What purpose is served by the asterix-events package? It appears to > >> > provide > >> > > allow introspecting an Asterix instance, but I think there's more > to it > >> > > than that. > >> > > > >> > > What kind of code would be a client of this package? > >> > > > >> > > I'm particularly interested in the lifecycle of the JAXB class > >> "Cluster" > >> > > and the cluster.xml file which is the marshalled form of that class. > >> > > > >> > > Who would be a good person to have a Skype chat with about this? > >> > > > >> > > Thanks, > >> > > Ceej > >> > > aka Chris Hillery > >> > > >> > >> > >> > >> -- > >> Raman > >> >
