tabular-io / iceberg-rest-image

Simple project to expose a catalog over REST using a Java catalog backend
Apache License 2.0
93 stars 39 forks source link

Image doesn't use in-memory database per default #68

Open Sejmou opened 7 months ago

Sejmou commented 7 months ago

The documentation of this image on DockerHub mentions that it uses an 'in memory backend'. However, I tested it locally and noticed that the catalog was in fact persisted (i.e. it still existed after rebooting the container). I assume this is due to an error in the source code.

I think the connection string jdbc:sqlite:file:/tmp/iceberg_rest_mode=memory in

catalogProperties.putIfAbsent(
        CatalogProperties.URI, "jdbc:sqlite:file:/tmp/iceberg_rest_mode=memory");

needs to be replaced. Currently, this creates an iceberg_rest_mode=memory file in the tmp directory of the container that is persisted and is just a regular sqlite DB file.

manuzhang commented 5 months ago

From the README example, this looks to be on purpose, since you can already list namespaces on start.