[ 
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)

Reply via email to