@Override protected String getNamespaceName() { return newNsDescriptor.getName(); }
/** * Constructor * @param admin the administrative API * @throws IOException */ public NamespacesModel(Admin admin) throws IOException { NamespaceDescriptor[] nds = admin.listNamespaceDescriptors(); namespaces = new ArrayList<>(nds.length); for (NamespaceDescriptor nd : nds) { namespaces.add(nd.getName()); } }
private boolean doesNamespaceExist(Admin admin, String namespaceName) throws IOException{ NamespaceDescriptor[] nd = admin.listNamespaceDescriptors(); for(int i = 0; i < nd.length; i++){ if(nd[i].getName().equals(namespaceName)){ return true; } } return false; }
@Override public void preModifyNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, NamespaceDescriptor currentNsDesc, NamespaceDescriptor newNsDesc) throws IOException { // We require only global permission so that // a user with NS admin cannot altering namespace configurations. i.e. namespace quota requireGlobalPermission(ctx, "modifyNamespace", Action.ADMIN, newNsDesc.getName()); }
@Override public void preCreateNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, NamespaceDescriptor ns) throws IOException { requireGlobalPermission(ctx, "createNamespace", Action.ADMIN, ns.getName()); }
public void validateTableAndRegionCount(NamespaceDescriptor desc) throws IOException { if (getMaxRegions(desc) <= 0) { throw new ConstraintException( "The max region quota for " + desc.getName() + " is less than or equal to zero."); } if (getMaxTables(desc) <= 0) { throw new ConstraintException( "The max tables quota for " + desc.getName() + " is less than or equal to zero."); } }
public static TNamespaceDescriptor namespaceDescriptorFromHBase(NamespaceDescriptor in) { TNamespaceDescriptor out = new TNamespaceDescriptor(); out.setName(in.getName()); for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) { out.putToConfiguration(conf.getKey(), conf.getValue()); } return out; }
private NamespaceDescriptor findNamespace(Admin admin, String namespaceName) throws IOException{ NamespaceDescriptor[] nd = admin.listNamespaceDescriptors(); for(int i = 0; i < nd.length; i++){ if(nd[i].getName().equals(namespaceName)){ return nd[i]; } } return null; }
public static void insertNamespaceToMeta(Connection conn, NamespaceDescriptor ns) throws IOException { byte[] row = Bytes.toBytes(ns.getName()); Put put = new Put(row, true).addColumn(HConstants.NAMESPACE_FAMILY, HConstants.NAMESPACE_COL_DESC_QUALIFIER, ProtobufUtil.toProtoNamespaceDescriptor(ns).toByteArray()); try (Table table = conn.getTable(TableName.META_TABLE_NAME)) { table.put(put); } }
private boolean doesNamespaceExist(Admin admin, String namespaceName) throws IOException { NamespaceDescriptor[] nd = admin.listNamespaceDescriptors(); for(int i = 0; i < nd.length; i++) { if(nd[i].getName().equals(namespaceName)) { return true; } } return false; }
@VisibleForTesting public static void createDirectory(MasterFileSystem mfs, NamespaceDescriptor nsDescriptor) throws IOException { mfs.getFileSystem().mkdirs(FSUtils.getNamespaceDir(mfs.getRootDir(), nsDescriptor.getName())); }
/** * Action before any real action of creating namespace. * @param env MasterProcedureEnv */ private boolean prepareCreate(final MasterProcedureEnv env) throws IOException { if (getTableNamespaceManager(env).doesNamespaceExist(nsDescriptor.getName())) { setFailure("master-create-namespace", new NamespaceExistException("Namespace " + nsDescriptor.getName() + " already exists")); return false; } getTableNamespaceManager(env).validateTableAndRegionCount(nsDescriptor); return true; }
public static HBaseProtos.NamespaceDescriptor toProtoNamespaceDescriptor(NamespaceDescriptor ns) { HBaseProtos.NamespaceDescriptor.Builder b = HBaseProtos.NamespaceDescriptor.newBuilder() .setName(ByteString.copyFromUtf8(ns.getName())); for(Map.Entry<String, String> entry: ns.getConfiguration().entrySet()) { b.addConfiguration(HBaseProtos.NameStringPair.newBuilder() .setName(entry.getKey()) .setValue(entry.getValue())); } return b.build(); }
public boolean namespaceExists(String ns) throws IOException { NamespaceDescriptor[] descs = TEST_UTIL.getAdmin().listNamespaceDescriptors(); for (NamespaceDescriptor desc : descs) { if (ns.equals(desc.getName())) { return true; } } return false; }
@Override public CompletableFuture<Void> createNamespace(NamespaceDescriptor descriptor) { return this.<CreateNamespaceRequest, CreateNamespaceResponse> procedureCall( RequestConverter.buildCreateNamespaceRequest(descriptor), (s, c, req, done) -> s.createNamespace(c, req, done), (resp) -> resp.getProcId(), new CreateNamespaceProcedureBiConsumer(descriptor.getName())); }
@Override public CompletableFuture<Void> modifyNamespace(NamespaceDescriptor descriptor) { return this.<ModifyNamespaceRequest, ModifyNamespaceResponse> procedureCall( RequestConverter.buildModifyNamespaceRequest(descriptor), (s, c, req, done) -> s.modifyNamespace(c, req, done), (resp) -> resp.getProcId(), new ModifyNamespaceProcedureBiConsumer(descriptor.getName())); }
private void validateNamespaceCreated(NamespaceDescriptor nsd) throws IOException { NamespaceDescriptor createdNsDescriptor = UTIL.getAdmin().getNamespaceDescriptor(nsd.getName()); assertNotNull(createdNsDescriptor); } }
@Before public void beforeMethod() throws IOException { for (HTableDescriptor desc : admin.listTables(prefix+".*")) { admin.disableTable(desc.getTableName()); admin.deleteTable(desc.getTableName()); } for (NamespaceDescriptor ns : admin.listNamespaceDescriptors()) { if (ns.getName().startsWith(prefix)) { admin.deleteNamespace(ns.getName()); } } }