diff --git a/cluster/shard_space.go b/cluster/shard_space.go index 6fb12bc26a..68c5a1e41a 100644 --- a/cluster/shard_space.go +++ b/cluster/shard_space.go @@ -56,21 +56,22 @@ func (s *ShardSpace) Validate(clusterConfig *ClusterConfiguration, checkForDb bo if s.Name == "" { return fmt.Errorf("Shard space must have a name") } - if s.Regex != "" { - reg := s.Regex - if strings.HasPrefix(reg, "/") { - if strings.HasSuffix(reg, "/i") { - reg = fmt.Sprintf("(?i)%s", reg[1:len(reg)-2]) - } else { - reg = reg[1 : len(reg)-1] - } - } - r, err := regexp.Compile(reg) - if err != nil { - return fmt.Errorf("Error parsing regex: %s", err) - } - s.compiledRegex = r + if s.Regex == "" { + return fmt.Errorf("A regex is required for a shard space") } + reg := s.Regex + if strings.HasPrefix(reg, "/") { + if strings.HasSuffix(reg, "/i") { + reg = fmt.Sprintf("(?i)%s", reg[1:len(reg)-2]) + } else { + reg = reg[1 : len(reg)-1] + } + } + r, err := regexp.Compile(reg) + if err != nil { + return fmt.Errorf("Error parsing regex: %s", err) + } + s.compiledRegex = r if s.Split == 0 { s.Split = DEFAULT_SPLIT }