View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to you under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    * http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.hadoop.hbase.quotas;
18  
19  import org.apache.hadoop.hbase.classification.InterfaceAudience;
20  import org.apache.hadoop.hbase.classification.InterfaceStability;
21  
22  /**
23   * Enumeration that represents the action HBase will take when a space quota is violated.
24   *
25   * The target for a violation policy is either an HBase table or namespace. In the case of a
26   * namespace, it is treated as a collection of tables (all tables are subject to the same policy).
27   */
28  @InterfaceAudience.Public
29  @InterfaceStability.Evolving
30  public enum SpaceViolationPolicy {
31    /**
32     * Disables the table(s).
33     */
34    DISABLE,
35    /**
36     * Disallows any mutations or compactions on the table(s).
37     */
38    NO_WRITES_COMPACTIONS,
39    /**
40     * Disallows any mutations (but allows compactions) on the table(s).
41     */
42    NO_WRITES,
43    /**
44     * Disallows any updates (but allows deletes and compactions) on the table(s).
45     */
46    NO_INSERTS;
47  }