Introducing Data Replication To AsterixDB
This change includes the following:
- Add data replication properties to cluster properties and Managix validate command.
- Introduce Data Replication components.
- Add data replication required fields to LogRecord.
- Specialized LogManager for data replication.
- Fix for invalid cluster state on nodes failure.
- ASTERIXDB-139: Fix for cleaning workspace files on startup/shutdown.
- Fix for temp datasets storage reclamation.
- Allow MetadataNode rebinding with CC.
- Add flag to checkpoint to identify sharp checkpoints.
- ASTERIXDB-1170: Fix shutdown sequence
Change-Id: I729fdd1144dbc9ff039b4bc414494860d7553810
Reviewed-on: https://asterix-gerrit.ics.uci.edu/338
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Young-Seok Kim <kisskys@gmail.com>
diff --git a/asterix-common/src/main/resources/schema/cluster.xsd b/asterix-common/src/main/resources/schema/cluster.xsd
index d9b62c2..d3203d5 100644
--- a/asterix-common/src/main/resources/schema/cluster.xsd
+++ b/asterix-common/src/main/resources/schema/cluster.xsd
@@ -44,7 +44,11 @@
<xs:element name="http_port" type="xs:integer" />
<xs:element name="debug_port" type="xs:integer" />
<xs:element name="metadata_node" type="xs:string" />
-
+ <xs:element name="enabled" type="xs:boolean" />
+ <xs:element name="replication_port" type="xs:integer" />
+ <xs:element name="replication_factor" type="xs:integer" />
+ <xs:element name="replication_store" type="xs:string" />
+ <xs:element name="replication_time_out" type="xs:integer" />
<!-- definition of complex elements -->
<xs:element name="working_dir">
@@ -72,6 +76,18 @@
</xs:complexType>
</xs:element>
+ <xs:element name="data_replication">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:enabled" />
+ <xs:element ref="cl:replication_port" />
+ <xs:element ref="cl:replication_factor" />
+ <xs:element ref="cl:replication_store" />
+ <xs:element ref="cl:replication_time_out" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
<xs:element name="property">
<xs:complexType>
<xs:sequence>
@@ -126,6 +142,7 @@
<xs:element ref="cl:iodevices" minOccurs="0" />
<xs:element ref="cl:working_dir" />
<xs:element ref="cl:metadata_node" />
+ <xs:element ref="cl:data_replication" minOccurs="0" />
<xs:element ref="cl:master_node" />
<xs:element ref="cl:node" maxOccurs="unbounded" />
<xs:element ref="cl:substitute_nodes" />