brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aled Sage <aled.s...@gmail.com>
Subject Proposal: delete `--catalogReset`?
Date Tue, 26 Sep 2017 08:53:01 GMT
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



Mime
View raw message