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 20:23:25 GMT
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