You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by Benjamin Lerer <bl...@apache.org> on 2022/11/28 08:48:19 UTC

[DISCUSS] Adding dependency to the Big-Math library from eobermuhlner

Hi everybody,

I wanted to discuss the addition of the Big-Math library(
http://eobermuhlner.github.io/big-math/)  as a dependency by
CASSANDRA-17221 <https://issues.apache.org/jira/browse/CASSANDRA-17221>
which add support for abs, exp, log, log10, and round Math function. The
library was added for providing those functions for the Cassandra decimal
type (java BigDecimal).

This patch has been started a long time ago and went through multiple
rounds of reviews and rework. In my enthusiasm to finally commit this patch
I forgot to raise the discussion to the mailing list about the dependency.
I apologize for that.

Does anybody have some concerns with the addition of that Library as a
dependency?

Re: [DISCUSS] Adding dependency to the Big-Math library from eobermuhlner

Posted by "J. D. Jordan" <je...@gmail.com>.
Seems well maintained and MIT licensed. +1 from me.

> On Nov 28, 2022, at 6:35 PM, Derek Chen-Becker <de...@chen-becker.org> wrote:
> 
> Overall the library appears to be high quality, even going so far as
> to have regression tests between versions. I do, however, think that
> the long-term maintenance risk needs to be acknowledged here. I think
> the *absolute* worst case scenario would be corruption or deletion of
> source and artifacts, requiring the Cassandra community to either
> re-implement the functions or remove them from CQL support. More
> likely (having seen it happen once or twice) would be abandonment by
> the author, requiring a fork and maintenance along with some
> dependency modification (assuming the fork would have to be published
> under a different group/artifact ID). I'm +1 for the addition of the
> dependency on the basis of the apparent stability of the project, and
> with the understanding that the functionality offered here is
> ancillary to core Cassandra functionality.
> 
> Cheers,
> 
> Derek
> 
>> On Mon, Nov 28, 2022 at 5:30 AM Josh McKenzie <jm...@apache.org> wrote:
>> 
>> I'm pleased with the rigor he shows on his explanations of implementation and performance: http://obermuhlner.ch/wordpress/2016/06/02/bigdecimalmath/
>> 
>> Seems like it's probably stable given the infrequency of changes to it and he's still actively merging patches submit by others: https://github.com/eobermuhlner/big-math/commits/master as of 8 days ago. Only 4 issues open on the repo at this time as well for a reasonably starred / forked library.
>> 
>> I guess my one concern: this appears to be a library maintained primarily by 1 person; that's a worst-case bus factor. Should he abandon the project is it something we'd plan to fork and bring into tree and maintain ourselves? Given how mature and stable it is I wouldn't be too worried, but worth considering the worst-case.
>> 
>> 
>> On Mon, Nov 28, 2022, at 3:48 AM, Benjamin Lerer wrote:
>> 
>> Hi everybody,
>> 
>> I wanted to discuss the addition of the Big-Math library(http://eobermuhlner.github.io/big-math/)  as a dependency by  CASSANDRA-17221 which add support for abs, exp, log, log10, and round Math function. The library was added for providing those functions for the Cassandra decimal type (java BigDecimal).
>> 
>> This patch has been started a long time ago and went through multiple rounds of reviews and rework. In my enthusiasm to finally commit this patch I forgot to raise the discussion to the mailing list about the dependency. I apologize for that.
>> 
>> Does anybody have some concerns with the addition of that Library as a dependency?
>> 
>> 
> 
> 
> -- 
> +---------------------------------------------------------------+
> | Derek Chen-Becker                                             |
> | GPG Key available at https://keybase.io/dchenbecker and       |
> | https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org |
> | Fngrprnt: EB8A 6480 F0A3 C8EB C1E7  7F42 AFC5 AFEE 96E4 6ACC  |
> +---------------------------------------------------------------+

Re: [DISCUSS] Adding dependency to the Big-Math library from eobermuhlner

Posted by Derek Chen-Becker <de...@chen-becker.org>.
Overall the library appears to be high quality, even going so far as
to have regression tests between versions. I do, however, think that
the long-term maintenance risk needs to be acknowledged here. I think
the *absolute* worst case scenario would be corruption or deletion of
source and artifacts, requiring the Cassandra community to either
re-implement the functions or remove them from CQL support. More
likely (having seen it happen once or twice) would be abandonment by
the author, requiring a fork and maintenance along with some
dependency modification (assuming the fork would have to be published
under a different group/artifact ID). I'm +1 for the addition of the
dependency on the basis of the apparent stability of the project, and
with the understanding that the functionality offered here is
ancillary to core Cassandra functionality.

Cheers,

Derek

On Mon, Nov 28, 2022 at 5:30 AM Josh McKenzie <jm...@apache.org> wrote:
>
> I'm pleased with the rigor he shows on his explanations of implementation and performance: http://obermuhlner.ch/wordpress/2016/06/02/bigdecimalmath/
>
> Seems like it's probably stable given the infrequency of changes to it and he's still actively merging patches submit by others: https://github.com/eobermuhlner/big-math/commits/master as of 8 days ago. Only 4 issues open on the repo at this time as well for a reasonably starred / forked library.
>
> I guess my one concern: this appears to be a library maintained primarily by 1 person; that's a worst-case bus factor. Should he abandon the project is it something we'd plan to fork and bring into tree and maintain ourselves? Given how mature and stable it is I wouldn't be too worried, but worth considering the worst-case.
>
>
> On Mon, Nov 28, 2022, at 3:48 AM, Benjamin Lerer wrote:
>
> Hi everybody,
>
> I wanted to discuss the addition of the Big-Math library(http://eobermuhlner.github.io/big-math/)  as a dependency by  CASSANDRA-17221 which add support for abs, exp, log, log10, and round Math function. The library was added for providing those functions for the Cassandra decimal type (java BigDecimal).
>
> This patch has been started a long time ago and went through multiple rounds of reviews and rework. In my enthusiasm to finally commit this patch I forgot to raise the discussion to the mailing list about the dependency. I apologize for that.
>
> Does anybody have some concerns with the addition of that Library as a dependency?
>
>


-- 
+---------------------------------------------------------------+
| Derek Chen-Becker                                             |
| GPG Key available at https://keybase.io/dchenbecker and       |
| https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org |
| Fngrprnt: EB8A 6480 F0A3 C8EB C1E7  7F42 AFC5 AFEE 96E4 6ACC  |
+---------------------------------------------------------------+

Re: [DISCUSS] Adding dependency to the Big-Math library from eobermuhlner

Posted by Josh McKenzie <jm...@apache.org>.
I'm pleased with the rigor he shows on his explanations of implementation and performance: http://obermuhlner.ch/wordpress/2016/06/02/bigdecimalmath/

Seems like it's probably stable given the infrequency of changes to it and he's still actively merging patches submit by others: https://github.com/eobermuhlner/big-math/commits/master as of 8 days ago. Only 4 issues open on the repo at this time as well for a reasonably starred / forked library.

I guess my one concern: this appears to be a library maintained primarily by 1 person; that's a worst-case bus factor. Should he abandon the project is it something we'd plan to fork and bring into tree and maintain ourselves? Given how mature and stable it is I wouldn't be too worried, but worth considering the worst-case.


On Mon, Nov 28, 2022, at 3:48 AM, Benjamin Lerer wrote:
> Hi everybody,
> 
> I wanted to discuss the addition of the Big-Math library(http://eobermuhlner.github.io/big-math/)  as a dependency by  CASSANDRA-17221 <https://issues.apache.org/jira/browse/CASSANDRA-17221> which add support for abs, exp, log, log10, and round Math function. The library was added for providing those functions for the Cassandra decimal type (java BigDecimal).
> 
> This patch has been started a long time ago and went through multiple rounds of reviews and rework. In my enthusiasm to finally commit this patch I forgot to raise the discussion to the mailing list about the dependency. I apologize for that.
> 
> Does anybody have some concerns with the addition of that Library as a dependency?