[
https://issues.apache.org/jira/browse/ACCUMULO-1488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13684218#comment-13684218
]
Adam Fuchs commented on ACCUMULO-1488:
--------------------------------------
I think we are all in agreement that consensus seeking is a good thing. The
issue at hand is whether to include this feature in the 1.5 branch, not whether
we should have debates. My comment about the effort spent on this argument is
simply meant to imply that the benefit of second guessing this particular
action of mine as a committer is negligible compared to the time we are wasting
on this particular debate. Perhaps I jumped to a conclusion too soon, and so I
am happy to include a more thorough justification of why I think this feature
should be included:
1. This feature is a modular addition. There are no dependencies on it anywhere
else in the Accumulo code base, and it only depends on an interface that has
been stable over the course of several releases. Maintenance of this feature
will include bug fixes limited to the module and adaptation to changes in the
underlying interfaces. In the 1.5 branch, the latter will not happen, so we're
only talking about bug fixes to the module itself. I don't think anyone is
arguing that bug fixes of this module are going to be challenging in 1.5, nor
are they a reason to roll back to an earlier version.
2. There is concern about the addition to the API that this feature brings, and
whether that will change before 1.6 is released. To that point, I would argue
that there is always the option of supporting multiple sets of user iterators,
and the additional cost of having this feature in perpetuity alongside whatever
other set of iterators that subsume this functionality will be an upper bound
on the marginal effort incurred by this change. That is in part due to the fact
that we have several other examples of code that use the same interfaces on
which this feature depends, so it does not introduce additional maintenance
beyond the module itself. We can amortize the cost of maintaining this module
by roughly comparing it to the benefit to our user base. I would say that if
one project takes advantage of it that more than makes up for the perpetual
maintenance cost of the module, but we can debate that if you like. Let me also
note that I did post this feature as a patch for a week before committing it,
and there is still plenty of time to change the API before 1.5.1 is released if
we want to do so.
3. An additional point that has been made is that there are alternative
solutions. In fact, this feature could be included into an instance of Accumulo
1.5 as a jar included in the lib/ext directory. This approach is quite easy for
anyone that knows how to compile java code into jars, has write access to the
lib/ext directory on the instance they want to use, and doesn't have any other
security policies to go through before including code outside of the core
Accumulo code base. Users that do not fit that category will have other hoops
to jump through, and we have seen many instances of such users. Even for the
users in the "easy" category, this is a cost incurred per instance of Accumulo
which is generally higher than the cost of including it in the primary build.
4. There is also a discussion of the cost of waiting to 1.6 for this feature to
be included. We can probably estimate that this will be 2 months at a minimum,
which admittedly is not very long. However, there is some uncertainly around
that cost which is mitigated by back-porting to the 1.5 branch. That mitigation
is really the only benefit of back-porting, and obviously must be weighed
against the costs. Including a long debate in the costs obviously reduces the
number of features we would choose to backport, so I think it's important that
we trust our committers to make such a decision and delegate that
responsibility.
> support BigDecimal encoding for basic built-in combiners
> --------------------------------------------------------
>
> Key: ACCUMULO-1488
> URL: https://issues.apache.org/jira/browse/ACCUMULO-1488
> Project: Accumulo
> Issue Type: New Feature
> Reporter: Adam Fuchs
> Fix For: 1.5.1, 1.6.0
>
> Attachments: ACCUMULO-1488.patch
>
>
> Support sum, min, and max operations for decimal numbers using the
> java.math.BigDecimal String encoding and decoding functions
> (BigDecimal.toString() and BigDecimal(String)).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira