[
https://issues.apache.org/jira/browse/ACCUMULO-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13966861#comment-13966861
]
Christopher Tubbs commented on ACCUMULO-2659:
---------------------------------------------
Looking at this again, I cannot imagine any sensible way to reintroduce the
removed ConfiguratorBase.getToken(...), because its ONLY value was to
reconstruct an AuthenticationToken with CredentialHelper, which was never
public API. This is a bit inane, because the methods that replace it give you
an AuthenticationToken directly, and CredentialHelper was removed.
Further, we just don't store the bytes that way anymore, so I can give a byte
array back, representing a serialized form of a token, but it won't be what any
caller would expect... unless I reintroduce CredentialHelper's serialization
mechanism, only to serialize an AuthenticationToken to bytes, so that a caller
can reconstruct an AuthenticationToken from those bytes... which they could
only previously do with CredentialHelper, which no longer exists, and all this
is moot, because the replacement methods give you an AuthenticationToken
directly in the first place.
Any fix would be a hack to reintroduce a method that is completely useless, and
whose usage would depend on something that was never in the public API
(CredentialHelper).
What I can do, is rename the ConfiguratorBase package to "impl" instead of
"util", and replace it with a *mostly* 1.5.x-compatible implementation (either
without a getToken() method or one which throws an exception).
> Incompatible map reduce changes in 1.6.0
> ----------------------------------------
>
> Key: ACCUMULO-2659
> URL: https://issues.apache.org/jira/browse/ACCUMULO-2659
> Project: Accumulo
> Issue Type: Bug
> Reporter: Keith Turner
> Priority: Blocker
> Fix For: 1.6.0
>
>
> While examining API changes for 1.6.0 I noticed some non-deprecated methods
> were removed. I am not sure how important these are, but technically these
> methods are in the public API. Opening this issue to document what I found.
> I compared 1.6.0 to 1.5.0.
> In ACCUMULO-1674 the following methods were removed
> {noformat}
> package org.apache.accumulo.core.client.mapreduce.lib.util
> ConfiguratorBase.getToken ( Class<?>, Configuration ) [static] : byte[ ]
> ConfiguratorBase.getTokenClass ( Class<?> ,Configuration) [static] : String
> {noformat}
> In ACCUMULO-391 the following method was removed
> {noformat}
> package org.apache.accumulo.core.client.mapreduce.lib.util
> InputConfigurator.getTabletLocator ( Class<?>, Configuration ) [static] :
> TabletLocator
> {noformat}
> In ACCUMULO-391 the following method was removed and not properly fixed in
> ACCUMULO-2586
> {noformat}
> accumulo-core.jar, RangeInputSplit.class
> package org.apache.accumulo.core.client.mapred
> InputFormatBase.RangeInputSplit.InputFormatBase.RangeInputSplit ( String
> table, Range range, String[ ] locations )
> package org.apache.accumulo.core.client.mapreduce
> InputFormatBase.RangeInputSplit.InputFormatBase.RangeInputSplit ( String
> table, Range range, String[ ] locations )
> {noformat}
> It seems like the following were removed in ACCUMULO-1854
> {noformat}
> package org.apache.accumulo.core.client.mapred
> InputFormatBase.RecordReaderBase<K.setupIterators (JobConf job, Scanner
> scanner ) : void
> package org.apache.accumulo.core.client.mapreduce
> InputFormatBase.RecordReaderBase<K.setupIterators (TaskAttemptContext
> context, Scanner scanner) : void
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)