+1

I don't have an opinion on failing the upgrade vs concatenating data when
the columns are eventually dropped (frankly I think it'd be fine to just
drop the data there because you would have no way to access it through the
API anyway, but that's probably not a popular idea), but I do agree that
it's going to need to wait until APIv3 is removed.

On Tue, Jun 29, 2021 at 9:20 AM Jeremy Mitchell <mitchell...@gmail.com>
wrote:

> yeah, what rob said. let's kill them but follow the correct api deprecation
> process to avoid any "surprises".
>
> jeremy
>
> On Mon, Jun 28, 2021 at 10:02 PM Robert O Butts <r...@apache.org> wrote:
>
> > I'm +1 on getting rid of those fields, but unfortunately we need to
> support
> > them in older APIs. People have scripts that rely on them, and parse
> magic
> > data they've put in those fields.
> >
> > We can remove the field from the API in newer major versions. But we need
> > to somehow still serve it in the existing API versions (which will need
> > supported for at least 1 major ATC version after the deprecation is
> > announced).
> >
> > I agree, they're terrible and need removed. But I know for a fact there
> are
> > people putting arbitrary data in them in Production systems, which they
> > parse with custom scripts hitting the API. Even if we didn't know that
> for
> > sure, we still need to follow the Deprecation/removal process, to avoid
> > breaking users who don't necessarily follow the mailing lists closely.
> >
> > So, ATC 6.0 is about to be released, which introduces API 4.0. If we
> remove
> > `longDesc2` and `longDesc3` from API 4.0 and declare API 3.x deprecated
> in
> > ATC 6.0, we can remove API 3.x and older in ATC 7.0. Which will allow us
> to
> > delete the database fields in ATC 7.0.
> >
> > If we actually delete the database fields, we need to stop serving API
> 3.x
> > and older. We historically haven't removed API versions as often as we
> > could, mostly because it's painful to users. But serving a half-baked API
> > will cause all kinds of subtle bugs and data loss. If we delete the DB
> > field, we need to actually stop serving /api/3.x.
> >
> > > copy over all the data in the existing LD1 and LD2 fields, and append
> it
> > to the LD field, and drop the LD! And LD2 fields from the table.
> >
> > I'm not so sure about this, though. If someone has a specific format,
> > key-value, JSON, etc, just joining the fields is going to break their
> > scripts. It might be better to make the upgrade fail if the field isn't
> > empty, requiring users to handle and move or delete the data themselves
> > before upgrading.
> >
> >
> > On Mon, Jun 28, 2021 at 3:56 PM Chatterjee, Srijeet
> > <srijeet_chatter...@comcast.com.invalid> wrote:
> >
> > > Hi all,
> > > I’m proposing a change to the DeliveryService structure and database
> > > table, to remove the “Long Description 1” and “Long Description 2”
> > fields.
> > > These fields are seldom used, and can be replaced by the already
> existing
> > > “Long Description” field. In my migration, I’m planning to copy over
> all
> > > the data in the existing LD1 and LD2 fields, and append it to the LD
> > field,
> > > and drop the LD! And LD2 fields from the table. Pls let me know if you
> > have
> > > concerns with this change, or if you have a better way of doing this.
> > >
> > > Thanks,
> > > Srijeet
> > >
> >
>

Reply via email to