.removeCoprocessor(className1) .build(); assertTrue(desc.getCoprocessorDescriptors().size() == 1); .removeCoprocessor(className2) .build(); assertTrue(desc.getCoprocessorDescriptors().isEmpty());
/** * Test cps in the table description * @throws Exception */ @Test public void testGetSetRemoveCP() throws Exception { // simple CP String className = "org.apache.hadoop.hbase.coprocessor.SimpleRegionObserver"; TableDescriptor desc = TableDescriptorBuilder.newBuilder(TableName.valueOf(name.getMethodName())) .setCoprocessor(className) // add and check that it is present .build(); assertTrue(desc.hasCoprocessor(className)); desc = TableDescriptorBuilder.newBuilder(desc) .removeCoprocessor(className) // remove it and check that it is gone .build(); assertFalse(desc.hasCoprocessor(className)); }
for(String coprocessor: coprocessors) { if(coprocessor.equals(localIndexSplitter)) { dataTableDescBuilder.removeCoprocessor(localIndexSplitter); modifyTable = true;
builder.removeCoprocessor(Indexer.class.getName()); builder.removeCoprocessor(PhoenixTransactionalIndexer.class.getName()); Class<? extends RegionObserver> coprocessorGCClass = aprovider.getTransactionProvider().getGCCoprocessor(); if (coprocessorClass != null && newDesc.hasCoprocessor(coprocessorClass.getName())) { builder.removeCoprocessor(coprocessorClass.getName()); builder.removeCoprocessor(coprocessorGCClass.getName());
public static void removeCoprocessor(Connection conn, String tableName, Class coprocessorClass) throws Exception { ConnectionQueryServices services = conn.unwrap(PhoenixConnection.class).getQueryServices(); TableDescriptor descriptor = services.getTableDescriptor(Bytes.toBytes(tableName)); TableDescriptorBuilder descriptorBuilder = null; if (descriptor.getCoprocessors().contains(coprocessorClass.getName())) { descriptorBuilder=TableDescriptorBuilder.newBuilder(descriptor); descriptorBuilder.removeCoprocessor(coprocessorClass.getName()); }else{ return; } final int retries = 10; int numTries = retries; descriptor = descriptorBuilder.build(); try (Admin admin = services.getAdmin()) { admin.modifyTable(descriptor); while (!admin.getDescriptor(TableName.valueOf(tableName)).equals(descriptor) && numTries > 0) { numTries--; if (numTries == 0) { throw new Exception( "Failed to remove " + coprocessorClass.getName() + " after " + retries + " retries."); } Thread.sleep(1000); } } }
.removeCoprocessor(className1) .build(); assertTrue(desc.getCoprocessorDescriptors().size() == 1); .removeCoprocessor(className2) .build(); assertTrue(desc.getCoprocessorDescriptors().isEmpty());
/** * Test cps in the table description * @throws Exception */ @Test public void testGetSetRemoveCP() throws Exception { // simple CP String className = "org.apache.hadoop.hbase.coprocessor.SimpleRegionObserver"; TableDescriptor desc = TableDescriptorBuilder.newBuilder(TableName.valueOf(name.getMethodName())) .setCoprocessor(className) // add and check that it is present .build(); assertTrue(desc.hasCoprocessor(className)); desc = TableDescriptorBuilder.newBuilder(desc) .removeCoprocessor(className) // remove it and check that it is gone .build(); assertFalse(desc.hasCoprocessor(className)); }
for(String coprocessor: coprocessors) { if(coprocessor.equals(localIndexSplitter)) { dataTableDescBuilder.removeCoprocessor(localIndexSplitter); modifyTable = true;
for(String coprocessor: coprocessors) { if(coprocessor.equals(localIndexSplitter)) { dataTableDescBuilder.removeCoprocessor(localIndexSplitter); modifyTable = true;
builder.removeCoprocessor(Indexer.class.getName()); builder.removeCoprocessor(PhoenixTransactionalIndexer.class.getName()); Class<? extends RegionObserver> coprocessorClass = provider.getTransactionProvider().getCoprocessor(); if (coprocessorClass != null && newDesc.hasCoprocessor(coprocessorClass.getName())) { builder.removeCoprocessor(coprocessorClass.getName());
builder.removeCoprocessor(Indexer.class.getName()); builder.removeCoprocessor(PhoenixTransactionalIndexer.class.getName()); Class<? extends RegionObserver> coprocessorGCClass = aprovider.getTransactionProvider().getGCCoprocessor(); if (coprocessorClass != null && newDesc.hasCoprocessor(coprocessorClass.getName())) { builder.removeCoprocessor(coprocessorClass.getName()); builder.removeCoprocessor(coprocessorGCClass.getName());