I am setting up a microservice that accesses accumulo.  It's a specialized
thing of limited scope.  I do need to get it to create tables (Code is
below.).


   - Java 17
   - SpringBoot running Jetty
   - Postman


In the below code bit, the tableName is a string "patient×´.  When I run it,
I get an error message:

org.apache.accumulo.core.client.AccumuloException: Input byte[] should at
least have 2 bytes for base64 bytes

        at
org.apache.accumulo.core.clientImpl.TableOperationsImpl.doFateOperation(TableOperationsImpl.java:413)

        at
org.apache.accumulo.core.clientImpl.TableOperationsImpl.doFateOperation(TableOperationsImpl.java:365)

        at
org.apache.accumulo.core.clientImpl.TableOperationsImpl.doTableFateOperation(TableOperationsImpl.java:1803)

        at
org.apache.accumulo.core.clientImpl.TableOperationsImpl.create(TableOperationsImpl.java:254)

        at
org.apache.accumulo.core.clientImpl.TableOperationsImpl.create(TableOperationsImpl.java:226)

        at
d4m.acc.microservice.D4MACCController.createTable(D4MACCController.java:58)

Q: Why it seems all is quite correct?  The log message is correct.  The
return value is correct.

@PostMapping("/create")

public String createTable(@RequestBody String tableName) {

TableOperations ops = client.tableOperations();

try {

LOG.info("create=" + tableName);

ops.create(tableName);

} catch (AccumuloException | AccumuloSecurityException |
TableExistsException e) {

e.printStackTrace();

}

return tableName;
}--

Thanks

My software always runs perfectly in the end. If it is not perfect, it is
not yet the end.

Geoffry Roberts

Reply via email to