@Override public void update(GlobalQuotaSettingsImpl quotaPojo) throws IOException { QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace, ((GlobalQuotaSettingsImpl) quotaPojo).toQuotas()); } @Override
@Override public void update(GlobalQuotaSettingsImpl quotaPojo) throws IOException { QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotaPojo.toQuotas()); } @Override
@Override public void update(GlobalQuotaSettingsImpl quotaPojo) throws IOException { QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotaPojo.toQuotas()); } @Override
public static void addUserQuota(final Connection connection, final String user, final String namespace, final Quotas data) throws IOException { addQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserNamespace(namespace), data); }
public static void addTableQuota(final Connection connection, final TableName table, final Quotas data) throws IOException { addQuotas(connection, getTableRowKey(table), data); }
public static void addNamespaceQuota(final Connection connection, final String namespace, final Quotas data) throws IOException { addQuotas(connection, getNamespaceRowKey(namespace), data); }
@Test public void testTableQuotaUtil() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName()); Quotas quota = Quotas.newBuilder() .setThrottle(Throttle.newBuilder() .setReqNum(ProtobufUtil.toTimedQuota(1000, TimeUnit.SECONDS, QuotaScope.MACHINE)) .setWriteNum(ProtobufUtil.toTimedQuota(600, TimeUnit.SECONDS, QuotaScope.MACHINE)) .setReadSize(ProtobufUtil.toTimedQuota(8192, TimeUnit.SECONDS, QuotaScope.MACHINE)) .build()) .build(); // Add user quota and verify it QuotaUtil.addTableQuota(this.connection, tableName, quota); Quotas resQuota = QuotaUtil.getTableQuota(this.connection, tableName); assertEquals(quota, resQuota); // Remove user quota and verify it QuotaUtil.deleteTableQuota(this.connection, tableName); resQuota = QuotaUtil.getTableQuota(this.connection, tableName); assertEquals(null, resQuota); }
@Test public void testNamespaceQuotaUtil() throws Exception { final String namespace = "testNamespaceQuotaUtilNS"; Quotas quota = Quotas.newBuilder() .setThrottle(Throttle.newBuilder() .setReqNum(ProtobufUtil.toTimedQuota(1000, TimeUnit.SECONDS, QuotaScope.MACHINE)) .setWriteNum(ProtobufUtil.toTimedQuota(600, TimeUnit.SECONDS, QuotaScope.MACHINE)) .setReadSize(ProtobufUtil.toTimedQuota(8192, TimeUnit.SECONDS, QuotaScope.MACHINE)) .build()) .build(); // Add user quota and verify it QuotaUtil.addNamespaceQuota(this.connection, namespace, quota); Quotas resQuota = QuotaUtil.getNamespaceQuota(this.connection, namespace); assertEquals(quota, resQuota); // Remove user quota and verify it QuotaUtil.deleteNamespaceQuota(this.connection, namespace); resQuota = QuotaUtil.getNamespaceQuota(this.connection, namespace); assertEquals(null, resQuota); }
QuotaUtil.addUserQuota(this.connection, user, quota); Quotas resQuota = QuotaUtil.getUserQuota(this.connection, user); assertEquals(quota, resQuota); QuotaUtil.addUserQuota(this.connection, user, tableName, quotaTable); Quotas resQuotaTable = QuotaUtil.getUserQuota(this.connection, user, tableName); assertEquals(quotaTable, resQuotaTable); QuotaUtil.addUserQuota(this.connection, user, namespace, quotaNamespace); Quotas resQuotaNS = QuotaUtil.getUserQuota(this.connection, user, namespace); assertEquals(quotaNamespace, resQuotaNS); QuotaUtil.deleteUserQuota(this.connection, user); resQuota = QuotaUtil.getUserQuota(this.connection, user); assertEquals(null, resQuota); QuotaUtil.deleteUserQuota(this.connection, user, tableName); resQuotaTable = QuotaUtil.getUserQuota(this.connection, user, tableName); assertEquals(null, resQuotaTable); QuotaUtil.deleteUserQuota(this.connection, user, namespace); resQuotaNS = QuotaUtil.getUserQuota(this.connection, user, namespace); assertEquals(null, resQuotaNS);
if (namespace != null) { LOG.debug("Deleting quota for namespace: " + namespace); QuotaUtil.deleteNamespaceQuota(conn, namespace); } else if (tableName != null) { LOG.debug("Deleting quota for table: " + tableName); QuotaUtil.deleteTableQuota(conn, tableName); } else if (userName != null) { LOG.debug("Deleting quota for user: " + userName); QuotaUtil.deleteUserQuota(conn, userName);
public static void addUserQuota(final Connection connection, final String user, final TableName table, final Quotas data) throws IOException { addQuotas(connection, getUserRowKey(user), getSettingsQualifierForUserTable(table), data); }
@Override public void delete() throws IOException { QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, namespace); } @Override
@Override public GlobalQuotaSettingsImpl fetch() throws IOException { return new GlobalQuotaSettingsImpl(userName, table, null, null, QuotaUtil.getUserQuota(masterServices.getConnection(), userName, table)); } @Override
@Override public GlobalQuotaSettingsImpl fetch() throws IOException { return new GlobalQuotaSettingsImpl(null, table, null, null, QuotaUtil.getTableQuota(masterServices.getConnection(), table)); } @Override
if (namespace != null) { LOG.debug("Deleting quota for namespace: " + namespace); QuotaUtil.deleteNamespaceQuota(conn, namespace); } else { assert tableName != null; LOG.debug("Deleting quota for table: "+ tableName); QuotaUtil.deleteTableQuota(conn, tableName);
public static void addUserQuota(final Connection connection, final String user, final Quotas data) throws IOException { addQuotas(connection, getUserRowKey(user), data); }
@Override public GlobalQuotaSettingsImpl fetch() throws IOException { return new GlobalQuotaSettingsImpl(null, null, namespace, null, QuotaUtil.getNamespaceQuota(masterServices.getConnection(), namespace)); } @Override
@Override public void delete() throws IOException { QuotaUtil.deleteTableQuota(masterServices.getConnection(), table); } @Override
@Override public void delete() throws IOException { QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace); } @Override
public static void addRegionServerQuota(final Connection connection, final String regionServer, final Quotas data) throws IOException { addQuotas(connection, getRegionServerRowKey(regionServer), data); }