March 02, 2010

  • Attendees: Dies, Anissa, Jennifer, Ken, Nazrul, Bill, Byron, Paul, ???
  • Today's topic was cluster support for GF V3.1.
    During the meeting we referred to the following document (which will
    continuously be updated):
    V3.1Clustering
    For GF V3.1 we're planning cluster support without a Node Agent (NA).
    At the later stage we could consider adding the Node Agent again.
    Without a Node Agent, it will not be possible to start remote instances.
    There was an idea to use ssh to replace that functionality from the NA,
    but this will probably not be done in GFv3.1.
    One of the main reasons to not including a NA is that people complained
    about it. Not only because of issues they had and because it turned out
    not to be as light-weight as it was initially intended to be, but users
    say they prefer to register their instances with their OS's services
    functionality (Windows service, etc.). This would give them behaviour
    they are familiar with, and provide extra functionality, such as setting
    the maximum number of times an instance should be restarted in case of a
    failure.
    Most of the discussion was about the way remote instances should
    synchronise their files (and state) with the DAS.
    In GF v2.x, the deploy process runs on the DAS and the remote instances
    download the post-deployment (including generated) artefacts.
    In GF v3.1, we want the remote instances to do the operations
    themselves, so there would be less issues with file synchronization.
    A potential issue with this approach is when deploying of applications
    that require a lot of resources for deployment. For instance, JSPs can
    be precompiled during deployment, and CMP applications access the DB for
    schema generation. This will need to be investigated further
    (performance comparison tests, etc.).
    We can also consider optimizations like doing the deploy per DAS instead
    of per
    instance when the cluster's instances are on the same machine, and share
    the files instead of each instance having its own copy.
    Someone pointed out that this could create issues when redeploying an
    application that is already running on a cluster instance. (Classes that
    are in use would be overwritten).
    For the file synchronization we would use the files' timestamps. For
    complete subdirectories, only the subdirectories' filestamps would be
    compared.
    Discussion on this topic will be continued next week.