I was the original developer of this feature. It existed in pretty much the 
same form in Hive and was a straightforward port. The style of using enums to 
encode and restrict supported parameters came from the origin. I thought it a 
good idea, though, because this shells out to an external process so is 
inherently risky. Make a mistake and it’s probably a CVE worthy issue. 

I second Bryan’s recommendation to keep compatibility. In the worst case there 
can be two implementation classes selectable by site configuration. 

> On Jan 18, 2024, at 6:03 AM, Bryan Beaudreault <bbeaudrea...@apache.org> 
> wrote:
> 
> Yea, that makes sense and was the one reason I could think of as well.
> 
> My concern with not backporting is that 3.x has been in development for
> many years, and all of our users are on 2.x (or even 1.x). Duo is making
> progress on 3.x now, but it's not clear when it will be released or,
> further, when people will upgrade. So IMO features that land just in
> master/branch-3 may not see any users for a long time. All of the active
> development for users gets backported to 2.x, and unnecessarily keeping big
> diffs between 3.x and 2.x just increases the backport burden (merge
> conflicts). There are some good reasons for certain major feature changes
> to have such a diff, but not sure it warrants it for this.
> 
> I am guessing the changes in your PR which break v1 are related to either
> removal of certain enum options or what the default values are. I suggest
> that we _do_ backport this to branch-2, but in that backport we add back
> whatever enum options are necessary to keep support for both v1 and v2. We
> can say that v1 is dropped in 3.x. If necessary, we can add a config in
> branch-2 to specify which version of async-profiler to use (like if we need
> to determine which default values to use).
> 
> Thoughts?
> 
>> On Thu, Jan 18, 2024 at 8:42 AM Lars Francke <lars.fran...@gmail.com> wrote:
>> 
>> Hi Bryan,
>> 
>> good question. We can probably keep supporting v1 if we wanted to but
>> I'm wondering if it's worth the effort (personally I think not).
>> I do agree that it should not be backported!
>> 
>> And I have wondered the same. If you look at the history of the issue
>> I kinda proposed forwarding parameters as well but then thought that
>> it would mean giving someone "access" to a shell with HBase privileges
>> and we'd need to deal with sanitizing inputs and making sure people do
>> nothing malicious.
>> That was a task that I wasn't prepared to tackle so I opted to keep
>> the current route and just update it.
>> 
>> I hope that makes sense?
>> 
>> Cheers,
>> Lars
>> 
>>> On Thu, Jan 18, 2024 at 2:16 PM Bryan Beaudreault
>>> <bbeaudrea...@apache.org> wrote:
>>> 
>>> Is it necessary to break support for v1?
>>> 
>>> It would be fine to merge this to master and branch-3. But I think this
>>> change falls into the "Dependency Compatibility" portion of our
>>> compatibility guidelines[1]. If so, then we should not backport to
>> branch-2
>>> or 2.x.
>>> 
>>> Generally, I have previously wondered what value the Event and Output
>> enums
>>> provide. It requires us to keep the enums updated with async-profiler
>>> options, when we could just directly send the user's input to
>>> async-profiler. If they specify a bad option, maybe we can show them the
>>> error message from async-profiler. This approach might allow for any
>>> async-profiler version.
>>> 
>>> [1] https://hbase.apache.org/book.html#hbase.versioning.post10
>>> 
>>> On Thu, Jan 18, 2024 at 3:45 AM Lars Francke <lars.fran...@gmail.com>
>> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> I just wanted to give a heads-up on an issue I created (thanks for
>>>> everyone's help)[1]
>>>> 
>>>> This would be a breaking change as it removes support for
>>>> async-profiler v1 but in exchange it does add support for various v2
>>>> features and in general "unbreaks" things that were broken.
>>>> 
>>>> I already have an approved PR[2] but wanted to give the chance to
>>>> comment before I merge that sometimes in the next few days or weeks
>>>> 
>>>> Cheers,
>>>> Lars
>>>> 
>>>> 
>>>> [1] <https://issues.apache.org/jira/browse/HBASE-28242>
>>>> [2] <https://github.com/apache/hbase/pull/5566>
>>>> 
>> 

Reply via email to