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<[email protected]> 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<[email protected]> 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)<[email protected]>
Reply-To: [email protected]
To: [email protected]
[
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)