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