accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-2659) Incompatible map reduce changes in 1.6.0
Date Fri, 11 Apr 2014 17:46:18 GMT


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

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:
>             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

View raw message