Hi all,

TL;DR: I propose we *delete* support for `--catalogReset`, for the next release. It's not supported in karaf mode, and it's dangerous (could break rebind of entities)!

Note that I'm not suggesting deprecate. We've moved to karaf as the default in 0.12 release, so effectively the functionality has already disappeared (in the recommended way of running Brooklyn).

---

In classic mode, we have support for `--catalogReset`. This works in combination with `--rebind ...` to tell Brooklyn that it should delete the persisted catalog (reseting it to the default initial catalog), while keeping the rest of the persisted state as-is.

We don't support this in Karaf mode, and no-one has missed it.

It is dangerous: if you have an entity instance then that will be persisted along with a catalogItemId, but resetting the catalog might cause that catalog item to disapear. This can cause serious problems when we try to rebind that entity instance (because we've lost type information).

It is better to explicitly manage the catalog via additions/deprecations/removals.

This is yet another example of where we can (slightly) simplify our startup/catalog code by removing unnecessary functionality.

---

Slightly longer term, we want to rethink how we load the catalog (from "initial" and persisted state): rebind is confusing when upgrading Brooklyn, because it keeps the persisted catalog and doesn't automatically add any of the catalog items/versions for the new Brooklyn version. One has to do that addition manually.

But that will be a topic for a new email thread!

Aled


Reply via email to