[
https://issues.apache.org/jira/browse/HBASE-23015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16927656#comment-16927656
]
Sean Busbey edited comment on HBASE-23015 at 9/11/19 3:17 PM:
--------------------------------------------------------------
bq. "test" scope should be good enough for this issue?
no this won't be correct. {{hbase-shaded-testing-util-tester}} should only have
the dependencies that a downstream user would need. The fact that you have to
tell it about jackson is a red flag. Simlarly, the hbase-shaded-server having
things at test scope means there won't be relocated classes in the output jar,
which is wrong.
{quote}
Sean Busbey the only issue is if we backport HBASE-20587and there are some
bugfix iterative commits on top of this, we might need to know and backport
them all? I don't correctly remember but I did see some bugfix commit after
this GSON commit.
May be moving to shaded GSON might take more time.
{quote}
Maybe there are bugfix. I'm not worried about having to find the set of updated
changes for backport, since I've had to do a similar task several times. I'm
mostly focused on reducing the long term support burden.
1) I like making branch-1 more like branch-2 because more folks are paying
attention to maintenance there
2) Given the outcome to date of trying to have a "jackson 2 but not downstream"
I think we know _less_ about how complete that approach is compared to the GSON
move that happened in branch-2.
bq. With the patch, tests in testing-util and shaded-testing-util are able to
bring up minicluster.
We expressly need a downstream user of these artifacts to work. I don't think
the current patch will do that.
If you want to take this jira on please focus on moving to the hbase-thirdparty
GSON via backport. If you're not into that approach, that's also okay, just
please unassign and I'll take care of it before continuing with the 1.4.11
release.
was (Author: busbey):
bq. "test" scope should be good enough for this issue?
no this won't be correct. {{hbase-shaded-testing-util-tester}} should only have
the dependencies that a downstream user would need. The fact that you have to
tell it about jackson is a red flag. Simlarly, the hbase-shaded-server having
things at test scope means there won't be relocated classes in the output jar,
which is wrong.
{code}
Sean Busbey the only issue is if we backport HBASE-20587and there are some
bugfix iterative commits on top of this, we might need to know and backport
them all? I don't correctly remember but I did see some bugfix commit after
this GSON commit.
May be moving to shaded GSON might take more time.
{code}
Maybe there are bugfix. I'm not worried about having to find the set of updated
changes for backport, since I've had to do a similar task several times. I'm
mostly focused on reducing the long term support burden.
1) I like making branch-1 more like branch-2 because more folks are paying
attention to maintenance there
2) Given the outcome to date of trying to have a "jackson 2 but not downstream"
I think we know _less_ about how complete that approach is compared to the GSON
move that happened in branch-2.
bq. With the patch, tests in testing-util and shaded-testing-util are able to
bring up minicluster.
We expressly need a downstream user of these artifacts to work. I don't think
the current patch will do that.
If you want to take this jira on please focus on moving to the hbase-thirdparty
GSON via backport. If you're not into that approach, that's also okay, just
please unassign and I'll take care of it before continuing with the 1.4.11
release.
> branch-1 hbase-server, testing util, and shaded testing util need jackson
> --------------------------------------------------------------------------
>
> Key: HBASE-23015
> URL: https://issues.apache.org/jira/browse/HBASE-23015
> Project: HBase
> Issue Type: Bug
> Components: Client, shading
> Affects Versions: 1.5.0, 1.3.6, 1.4.11
> Reporter: Sean Busbey
> Assignee: Viraj Jasani
> Priority: Blocker
> Fix For: 1.5.0, 1.3.6, 1.4.11
>
> Attachments: HBASE-23015.branch-1.000.patch
>
>
> HBASE-22728 moved out jackson transitive dependencies. mostly good, but
> moving jackson2 to provided in hbase-server broke few things
> testing-util needs a transitive jackson 2 in order to start the minicluster,
> currently fails with CNFE for {{com.fasterxml.jackson.databind.ObjectMapper}}
> when trying to initialize the master.
> shaded-testing-util needs a relocated jackson 2 for the same reason
> it's not used for any of the mapreduce stuff in hbase-server, so
> {{hbase-shaded-server}} for that purpose should be fine. But it is used by
> {{WALPrettyPrinter}} and some folks might expect that to work from that
> artifact since it is present.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)