accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <josh.el...@gmail.com>
Subject Re: Technical discussion on MockShell being in public API for 1.7.0
Date Wed, 15 Apr 2015 20:40:10 GMT
No worries, thanks for copying it over there.

Christopher wrote:
> Oops, sorry, I overlooked your request to comment on the issue and
> commented here instead. I won't duplicate my comments there, but will
> watch both threads for following up. Sorry.
>
> --
> Christopher L Tubbs II
> http://gravatar.com/ctubbsii
>
>
> On Wed, Apr 15, 2015 at 4:21 PM, Christopher<ctubbsii@apache.org>  wrote:
>> I've been in favor of deprecating mock entirely. I certainly don't
>> like it being considered public API, since it mainly was built to
>> enable testing (where heavy flexibility is needed to test various
>> scenarios... much more flexibility than a stable public API can easily
>> provide). I also don't like the idea of Shell's Java API being
>> included in the public API (it's intended as a command line utility,
>> not a programmatic interface to Accumulo).
>>
>> Given all that, along with the inherent difficulty of preserving
>> MockShell in the public API, I'm thinking this might be one of those
>> "ask for forgiveness" cases, and make a note about it in the release
>> notes. I'm just speculating here, but I think this is probably low
>> risk and won't affect too many people.
>>
>> As we think about API stabilization issues moving forward, it's
>> probably inevitable we're going to run into this occassional case.
>> What's important is that they become fewer and farther between, and
>> that we document clearly when it happens.
>>
>> --
>> Christopher L Tubbs II
>> http://gravatar.com/ctubbsii
>>
>>
>> On Wed, Apr 15, 2015 at 3:02 PM, Josh Elser<josh.elser@gmail.com>  wrote:
>>> In case others don't see it in JIRA notifications, here's some broad
>>> visibility.
>>>
>>> I noticed, through japi reports, that MockShell was technically public API
>>> and was removed from it due to the addition of the shell maven module. If
>>> you have opinions, please raise them on ACCUMULO-3726. If we need to expand
>>> it out to a standalone conversation, we can start a new discussion here.
>>>
>>> -------- Original Message --------
>>> Subject: [jira] [Commented] (ACCUMULO-3726) Restore MockShell in public API
>>> Date: Wed, 15 Apr 2015 18:59:59 +0000 (UTC)
>>> From: Josh Elser (JIRA)<jira@apache.org>
>>> Reply-To: jira@apache.org
>>> To: notifications@accumulo.apache.org
>>>
>>>
>>>      [
>>> https://issues.apache.org/jira/browse/ACCUMULO-3726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14496703#comment-14496703
>>> ]
>>>
>>> Josh Elser commented on ACCUMULO-3726:
>>> --------------------------------------
>>>
>>> _curse_
>>>
>>> I was worried about that. This seems like
>>> yet-another-public-api-shouldnt-be-public-api issue. MockShell came from
>>> o.a.a.c.client.mock.MockShell and went to o.a.a.shell.mock.MockShell. Shell
>>> came from o.a.a.core.util.Shell and went to o.a.a.shell.Shell. It makes 0
>>> sense to assume MockShell is public API but Shell is not (and also causes
>>> more problems as it leaks Shell into the public API).
>>>
>>> Given that, I would be in favor of breaking our rules on compatibility.
>>>
>>> 1. MockShell should never have been in public API (as Shell was never public
>>> API)
>>> 2. It is not easily restored and deprecated.
>>> 3. It is likely very low risk that someone was using themselves (we
>>> ourselves only reference it in a single test case).
>>>
>>> cc/ [~busbey] since you have been very adamant in the past on topics of this
>>> matter.
>>>
>>>> Restore MockShell in public API
>>>> -------------------------------
>>>>
>>>>                  Key: ACCUMULO-3726
>>>>                  URL: https://issues.apache.org/jira/browse/ACCUMULO-3726
>>>>              Project: Accumulo
>>>>           Issue Type: Sub-task
>>>>           Components: client
>>>>             Reporter: Josh Elser
>>>>             Assignee: Josh Elser
>>>>             Priority: Blocker
>>>>              Fix For: 1.7.0
>>>>
>>>>
>>>> MockShell was moved from o.a.a.core.client.mock. to o.a.a.shell.mock which
>>>> is a violation of our public API statement.
>>>> It needs to be restored and deprecated with a proper cycle.
>>>
>>>
>>>
>>> --
>>> This message was sent by Atlassian JIRA
>>> (v6.3.4#6332)

Mime
View raw message