accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher <ctubb...@apache.org>
Subject Re: Technical discussion on MockShell being in public API for 1.7.0
Date Wed, 15 Apr 2015 22:17:45 GMT
It seems you may have read my comment about *not* duplicating as
carefully as I initially read your request to comment on the JIRA :)
If you want, I can copy it over there (or somebody else can), but
right now, I don't think it's necessary. :)

Sorry if I'm adding to the confusion.

--
Christopher L Tubbs II
http://gravatar.com/ctubbsii


On Wed, Apr 15, 2015 at 4:40 PM, Josh Elser <josh.elser@gmail.com> wrote:
> 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