Search in sources :

Example 1 with NamespaceNotFoundException

use of org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException in project bookkeeper by apache.

the class TestProtocolInternalUtils method testCreateRootRangeException.

// 
// Test Exceptions related utils
// 
@Test
public void testCreateRootRangeException() {
    String name = "test-create-root-range-exception";
    // stream exists exception
    Throwable cause1 = createRootRangeException(name, StatusCode.STREAM_EXISTS);
    assertTrue(cause1 instanceof StreamExistsException);
    StreamExistsException see = (StreamExistsException) cause1;
    // stream not found
    Throwable cause2 = createRootRangeException(name, StatusCode.STREAM_NOT_FOUND);
    assertTrue(cause2 instanceof StreamNotFoundException);
    StreamNotFoundException snfe = (StreamNotFoundException) cause2;
    // invalid stream name
    Throwable invalidStreamNameCause = createRootRangeException(name, StatusCode.INVALID_STREAM_NAME);
    assertTrue(invalidStreamNameCause instanceof InvalidStreamNameException);
    InvalidStreamNameException isne = (InvalidStreamNameException) invalidStreamNameCause;
    // failure
    Throwable cause3 = createRootRangeException(name, StatusCode.FAILURE);
    ClientException se = (ClientException) cause3;
    assertEquals("fail to access its root range : code = " + StatusCode.FAILURE, se.getMessage());
    // namespace exists exception
    Throwable cause5 = createRootRangeException(name, StatusCode.NAMESPACE_EXISTS);
    assertTrue(cause5 instanceof NamespaceExistsException);
    // namespace not-found exception
    Throwable cause6 = createRootRangeException(name, StatusCode.NAMESPACE_NOT_FOUND);
    assertTrue(cause6 instanceof NamespaceNotFoundException);
    // invalid namespace name
    Throwable cause7 = createRootRangeException(name, StatusCode.INVALID_NAMESPACE_NAME);
    assertTrue(cause7 instanceof InvalidNamespaceNameException);
}
Also used : InvalidStreamNameException(org.apache.bookkeeper.clients.exceptions.InvalidStreamNameException) InvalidNamespaceNameException(org.apache.bookkeeper.clients.exceptions.InvalidNamespaceNameException) StreamNotFoundException(org.apache.bookkeeper.clients.exceptions.StreamNotFoundException) StreamExistsException(org.apache.bookkeeper.clients.exceptions.StreamExistsException) ClientException(org.apache.bookkeeper.clients.exceptions.ClientException) NamespaceExistsException(org.apache.bookkeeper.clients.exceptions.NamespaceExistsException) NamespaceNotFoundException(org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException) Test(org.junit.Test)

Example 2 with NamespaceNotFoundException

use of org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException in project bookkeeper by apache.

the class RootRangeClientImplTestBase method testCreateRootRangeException.

@Test
public void testCreateRootRangeException() {
    String name = "test-create-root-range-exception";
    // stream exists exception
    Throwable cause1 = createRootRangeException(name, StatusCode.STREAM_EXISTS);
    assertTrue(cause1 instanceof StreamExistsException);
    StreamExistsException see = (StreamExistsException) cause1;
    // stream not found
    Throwable cause2 = createRootRangeException(name, StatusCode.STREAM_NOT_FOUND);
    assertTrue(cause2 instanceof StreamNotFoundException);
    StreamNotFoundException snfe = (StreamNotFoundException) cause2;
    // failure
    Throwable cause3 = createRootRangeException(name, StatusCode.FAILURE);
    assertTrue(cause3 instanceof ClientException);
    ClientException se = (ClientException) cause3;
    assertEquals("fail to access its root range : code = " + StatusCode.FAILURE, se.getMessage());
    // unexpected
    Throwable cause4 = createRootRangeException(name, StatusCode.BAD_VERSION);
    assertTrue(cause4 instanceof ClientException);
    // namespace exists exception
    Throwable cause5 = createRootRangeException(name, StatusCode.NAMESPACE_EXISTS);
    assertTrue(cause5 instanceof NamespaceExistsException);
    // namespace not-found exception
    Throwable cause6 = createRootRangeException(name, StatusCode.NAMESPACE_NOT_FOUND);
    assertTrue(cause6 instanceof NamespaceNotFoundException);
    // invalid namespace name
    Throwable cause7 = createRootRangeException(name, StatusCode.INVALID_NAMESPACE_NAME);
    assertTrue(cause7 instanceof InvalidNamespaceNameException);
}
Also used : InvalidNamespaceNameException(org.apache.bookkeeper.clients.exceptions.InvalidNamespaceNameException) StreamNotFoundException(org.apache.bookkeeper.clients.exceptions.StreamNotFoundException) StreamExistsException(org.apache.bookkeeper.clients.exceptions.StreamExistsException) ClientException(org.apache.bookkeeper.clients.exceptions.ClientException) NamespaceExistsException(org.apache.bookkeeper.clients.exceptions.NamespaceExistsException) NamespaceNotFoundException(org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException) Test(org.junit.Test)

Example 3 with NamespaceNotFoundException

use of org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException in project bookkeeper by apache.

the class StorageAdminClientTest method testNamespaceAPI.

@Test
public void testNamespaceAPI() throws Exception {
    // Create a namespace
    String nsName = testName.getMethodName();
    NamespaceConfiguration colConf = NamespaceConfiguration.newBuilder().setDefaultStreamConf(DEFAULT_STREAM_CONF).build();
    NamespaceProperties colProps = FutureUtils.result(adminClient.createNamespace(nsName, colConf));
    assertEquals(nsName, colProps.getNamespaceName());
    assertEquals(colConf.getDefaultStreamConf(), colProps.getDefaultStreamConf());
    // create a duplicated namespace
    try {
        FutureUtils.result(adminClient.createNamespace(nsName, colConf));
        fail("Should fail on creation if namespace " + nsName + " already exists");
    } catch (NamespaceExistsException cee) {
    // expected
    } catch (ClientException ce) {
        // TODO: currently range server throws InternalServerError
        assertTrue(ce.getMessage().endsWith("code = " + StatusCode.INTERNAL_SERVER_ERROR));
    }
    String notFoundColName = testName.getMethodName() + "_notfound";
    // get a not-found namespace
    try {
        FutureUtils.result(adminClient.getNamespace(notFoundColName));
        fail("Should fail on get if namespace " + notFoundColName + " doesn't exist");
    } catch (NamespaceNotFoundException cnfe) {
    // expected
    }
    // delete a not-found namespace
    try {
        FutureUtils.result(adminClient.deleteNamespace(notFoundColName));
        fail("Should fail on delete if namespace " + notFoundColName + " doesn't exist");
    } catch (NamespaceNotFoundException cnfe) {
    // expected
    }
    // get an existing namespace
    NamespaceProperties getColProps = FutureUtils.result(adminClient.getNamespace(nsName));
    assertEquals(colProps, getColProps);
    // delete an existing namespace
    Boolean deleted = FutureUtils.result(adminClient.deleteNamespace(nsName));
    assertTrue(deleted);
    // the namespace should not exist after deleted.
    try {
        FutureUtils.result(adminClient.getNamespace(nsName));
        fail("Should fail on get if namespace " + nsName + " doesn't exist");
    } catch (NamespaceNotFoundException cnfe) {
    // expected
    }
}
Also used : NamespaceProperties(org.apache.bookkeeper.stream.proto.NamespaceProperties) NamespaceConfiguration(org.apache.bookkeeper.stream.proto.NamespaceConfiguration) ClientException(org.apache.bookkeeper.clients.exceptions.ClientException) NamespaceExistsException(org.apache.bookkeeper.clients.exceptions.NamespaceExistsException) NamespaceNotFoundException(org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException) Test(org.junit.Test)

Example 4 with NamespaceNotFoundException

use of org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException in project incubator-pulsar by apache.

the class JavaInstanceRunnable method setupStateTable.

private void setupStateTable() throws Exception {
    if (null == stateStorageServiceUrl) {
        return;
    }
    String tableNs = String.format("%s_%s", instanceConfig.getFunctionConfig().getTenant(), instanceConfig.getFunctionConfig().getNamespace()).replace('-', '_');
    String tableName = instanceConfig.getFunctionConfig().getName();
    // TODO (sijie): use endpoint for now
    StorageClientSettings settings = StorageClientSettings.newBuilder().addEndpoints(NetUtils.parseEndpoint(stateStorageServiceUrl)).clientName("function-" + tableNs + "/" + tableName).build();
    // TODO (sijie): provide a better way to provision the state table for functions
    try (StorageAdminClient storageAdminClient = StorageClientBuilder.newBuilder().withSettings(settings).buildAdmin()) {
        try {
            result(storageAdminClient.getStream(tableNs, tableName));
        } catch (NamespaceNotFoundException nnfe) {
            result(storageAdminClient.createNamespace(tableNs, NamespaceConfiguration.newBuilder().setDefaultStreamConf(DEFAULT_STREAM_CONF).build()));
            result(storageAdminClient.createStream(tableNs, tableName, DEFAULT_STREAM_CONF));
        } catch (StreamNotFoundException snfe) {
            result(storageAdminClient.createStream(tableNs, tableName, DEFAULT_STREAM_CONF));
        }
    }
    log.info("Starting state table for function {}", instanceConfig.getFunctionConfig().getName());
    this.storageClient = StorageClientBuilder.newBuilder().withSettings(settings).withNamespace(tableNs).build();
    this.stateTable = result(storageClient.openTable(tableName));
}
Also used : StorageClientSettings(org.apache.bookkeeper.clients.config.StorageClientSettings) StorageAdminClient(org.apache.bookkeeper.clients.admin.StorageAdminClient) StreamNotFoundException(org.apache.bookkeeper.clients.exceptions.StreamNotFoundException) ToString(lombok.ToString) NamespaceNotFoundException(org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException)

Aggregations

NamespaceNotFoundException (org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException)4 ClientException (org.apache.bookkeeper.clients.exceptions.ClientException)3 NamespaceExistsException (org.apache.bookkeeper.clients.exceptions.NamespaceExistsException)3 StreamNotFoundException (org.apache.bookkeeper.clients.exceptions.StreamNotFoundException)3 Test (org.junit.Test)3 InvalidNamespaceNameException (org.apache.bookkeeper.clients.exceptions.InvalidNamespaceNameException)2 StreamExistsException (org.apache.bookkeeper.clients.exceptions.StreamExistsException)2 ToString (lombok.ToString)1 StorageAdminClient (org.apache.bookkeeper.clients.admin.StorageAdminClient)1 StorageClientSettings (org.apache.bookkeeper.clients.config.StorageClientSettings)1 InvalidStreamNameException (org.apache.bookkeeper.clients.exceptions.InvalidStreamNameException)1 NamespaceConfiguration (org.apache.bookkeeper.stream.proto.NamespaceConfiguration)1 NamespaceProperties (org.apache.bookkeeper.stream.proto.NamespaceProperties)1