accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Busbey (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-3402) Introduction of the mapreduce maven module breaks 1.6 compatibility
Date Thu, 11 Dec 2014 23:20:15 GMT


Sean Busbey commented on ACCUMULO-3402:

(without comment on if a dependency coordinate change should be considered breaking)

Two potential solutions:

1) Change which package the classes are in within the new module and leave backwards compatible
deprecated classes in core

This is more painful for folks who want to update, since htey have to update both a dependency
and a classname. However, this seems reasonably sustainable and is similar to what e.g. commons-math3
and commons-pool2 did.

2) Package the classes in both places

Since the mapreduce modules ostensibly aren't needed for normal Accumulo operations, we could
use packaging to place the classes in both it and core. Then we can keep it out of our classpath
for our normal use. If we restrict folks to using to launch MR jobs we can also suggest
people use the new dependency as provided, which avoids it showing up and conflicting with
core at runtime.

> Introduction of the mapreduce maven module breaks 1.6 compatibility
> -------------------------------------------------------------------
>                 Key: ACCUMULO-3402
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>          Components: client
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Blocker
>             Fix For: 1.7.0
> The introduction of mapreduce maven module breaks backwards compatibility with 1.6.
> Code that previously worked against 1.6 (that used our mapreduce classes) is now broken
without a deprecation cycle -- specifically trying to compile Hive against Accumulo 1.7 is
> While the classes themselves haven't technically changed, the required dependencies have.
In my eyes, this is an incompatible change that violates our current public API rules.

This message was sent by Atlassian JIRA

View raw message