3. Setting up the System 77
Understanding Multi-Server Partitioning and Rejoining
1. All servers in a networked show constantly check for connectivity to each other. If
connectivity is broken for more than a few seconds, the servers consider themselves
isolated from the servers they can't reach. This is called a partitioned network. The
servers within each partition will continue to replicate changes amongst each other, so
newly created data will be replicated amongst all servers in a partition. However, since
there are multiple partitions that can't communicate with each other, there are multiple
(different) copies of the show.
2. A partition can happen very easily. For example, by disconnecting a server's network
cable for a few seconds, then reconnecting it, it will be partitioned from the rest of the
servers.
3. Even after a severed network connection is repaired and connectivity is restored to all
servers, they will still artificially remain partitioned. There is no way to automatically
merge different copies of the show. There simply is no way for the software to know
which copy of the show is "correct", since conflicting changes may be made within
each partition. Since Hog 4 OS can't automatically resolve the differences, the servers
artificially maintain the partition. So each partition's copy of the show is maintained
only within that partition, and new data is only replicated within each partition.
4. Although the partitions are artificially maintained, all consoles will continue to have
control over all aspects of the show that they have connectivity to.
5. Logging a console off a show and rejoining allows that console to rejoin a partition is
was previously excluded from. If multiple partitions exist, there is no guarantee which
partition it will join.
6. After shutting everything down, different consoles will have different data, based on the
partition they were in. Copies of the show from a partition that didn't see any changes
will essentially be "old". Changes made in other partitions will be saved on those
consoles, but they may be considered backup / client consoles, and thus they are not
expected to store the master copy of the data.
7. Data loss is a real risk if the master server is briefly disconnected from the other
consoles then reconnected. In this case it will remain artificially partitioned from the
other consoles, even though it will be shown as online in the Network Window. New
data created on your consoles will be replicated amongst those consoles (since they
have their own partition), but the master server won't see any of it since it stays
isolated in its own partition. After logging off all consoles, their partition is gone, and
they will each have a current copy of the show with all new changes. The master server
will have an old (unmodified) copy of the show. If it's rebooted and it initially launches
the show, it will still be using it's old copy. The consoles can now rejoin the master
server, but their current copy of the show will be replaced with the old show from the
master server.
8. To avoid data loss, it recommend that users log off every console / server that's NOT in
the partition that has (or will have) the current copy of the show. So in the above case,
the only recourse is to leave the consoles online, log off the master server, and log on
the master server to the show. It will then replicate the current show from the consoles.