From the HBase documentation (http://wiki.apache.org/hadoop/Hbase/HbaseArchitecture )

'A column name has the form "<family>:<label>" where <family> and <label> can be arbitrary byte arrays'

yet in HColumnDescriptor.java:

    for (int i = 0; i < (b.length - 1); i++) {
if (Character.isLetterOrDigit(b[i]) || b[i] == '_' || b[i] == '.') {
        continue;
      }
      throw new IllegalArgumentException("Illegal character <" + b[i] +
">. Family names can only contain 'word characters' and must end" +
        "with a colon: " + Bytes.toString(b));
    }

Presumably the code is the authoritative source here; but why is there such a restriction on family names?

Toby

Reply via email to