What version of Accumulo are you using?



On Apr 20, 2024 12:16 PM, Geoffry Roberts <geoffry.robe...@gmail.com> wrote:
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