voldemort.tools
Class ValidateSchemaForAvroStores
java.lang.Object
voldemort.tools.ValidateSchemaForAvroStores
public class ValidateSchemaForAvroStores
- extends java.lang.Object
Input: 1. Absolute path to a Directory which may contain stores.xml in its
sub directories (OR) 2. Absolute path to a single stores.xml file
NOTE: 1. This tool just checks for invalid, partial and non backwards
compatible Avro schemas and that it DOESNOT fix invalid/partial/non
backwards-compatible schemas 2. It is users responsibility to give right
path. 3. Avro types validated: avro-generic and avro-generic-versioned 4.
Avro types for which backwards compatibility is checked:
avro-generic-versioned 6. Note that avro-specific and avro-reflective are not
validated
How to check if a schema is valid? Exceptions are thrown otherwise. Look for
them and the corresponding store in the log
How to know if a valid schema is fully backwards compatible? Grep for "WARN"
or "ERROR" in console output for partial/non-backwards compatible avro
schemas. If no match for grep then things are good.
Field Summary |
protected static org.apache.log4j.Logger |
logger
|
Method Summary |
static void |
main(java.lang.String[] args)
|
static void |
recurseDirectory(java.io.File inputFile)
|
static void |
validate(java.io.File storesXMLFile)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected static final org.apache.log4j.Logger logger
ValidateSchemaForAvroStores
public ValidateSchemaForAvroStores()
validate
public static void validate(java.io.File storesXMLFile)
recurseDirectory
public static void recurseDirectory(java.io.File inputFile)
main
public static void main(java.lang.String[] args)
Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu