Bug#784947: libt-digest-java: Version 3.1 is severely incompatible with version 3.0

2015-05-11 Thread Emmanuel Bourg
Le 11/05/2015 13:28, Hilko Bengen a écrit :

> Please don't just look at Elasticsearch but at the
> japi-compliance-checker report I attached.

The incompatibilities are only relevant if they affect the packages
depending on the library, and this relevance isn't reported by
japi-compliance-checker. You could have a package with 1%
incompatibility that breaks badly many reverse dependencies, and a
package with 50% incompatibility affecting no reverse dependency. japi
and clirr are useful tools but you can't avoid an impact analysis on the
reverse dependencies to assess the severity of the incompatibility.

Emmanuel Bourg

__
This is the maintainer address of Debian's Java team
. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#784947: libt-digest-java: Version 3.1 is severely incompatible with version 3.0

2015-05-11 Thread Hilko Bengen
* Emmanuel Bourg:

> I got a look at Elasticsearch, and this is just a one line change:
> state.centroidCount() becomes state.centroids().size() in
> TDigestState.java. I wouldn't call that a severe incompatibility.

Please don't just look at Elasticsearch but at the
japi-compliance-checker report I attached.

> We can also reintroduce the missing centroidCount() method in t-digest,
> such that our package supports rdeps expecting the version 3.0 or the
> version 3.1.

No. Users (in this case software developers trying to work with what
Debian provides) have a certain expectation that what Debian distributes
as t-digest 3.0 is comparable to what they could get via Maven.

Cheers,
-Hilko

__
This is the maintainer address of Debian's Java team
. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#784947: libt-digest-java: Version 3.1 is severely incompatible with version 3.0

2015-05-11 Thread Emmanuel Bourg
Here is the patch for Elasticsearch:

https://github.com/jpountz/elasticsearch/commit/9e5b561

__
This is the maintainer address of Debian's Java team
. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#784947: libt-digest-java: Version 3.1 is severely incompatible with version 3.0

2015-05-11 Thread Emmanuel Bourg
I got a look at Elasticsearch, and this is just a one line change:
state.centroidCount() becomes state.centroids().size() in
TDigestState.java. I wouldn't call that a severe incompatibility.

We can also reintroduce the missing centroidCount() method in t-digest,
such that our package supports rdeps expecting the version 3.0 or the
version 3.1.

Emmanuel Bourg

__
This is the maintainer address of Debian's Java team
. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#784947: libt-digest-java: Version 3.1 is severely incompatible with version 3.0

2015-05-11 Thread Hilko Bengen
* Emmanuel Bourg:

> t-digest is a fairly small library, did you consider porting
> Elasticsearch to the new version instead of reverting to the previous
> version? This looks like an easy modification, and upstream will
> certainly be interested in such a change.

No, I did not. And I will not consider this.

Patching dependent software should, in my opinion, only be used as a
last resort.

Cheers,
-Hilko

__
This is the maintainer address of Debian's Java team
. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#784947: libt-digest-java: Version 3.1 is severely incompatible with version 3.0

2015-05-10 Thread Emmanuel Bourg
Le 11/05/2015 03:45, Hilko Bengen a écrit :

> Elasticsearch 1.4.5 cannot be built with libt-digest-java/3.1-1 installed.
> Reverting back to 3.0-1 resolves this problem.

Hi Hilko,

t-digest is a fairly small library, did you consider porting
Elasticsearch to the new version instead of reverting to the previous
version? This looks like an easy modification, and upstream will
certainly be interested in such a change.

Emmanuel Bourg

__
This is the maintainer address of Debian's Java team
. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#784947: libt-digest-java: Version 3.1 is severely incompatible with version 3.0

2015-05-10 Thread Hilko Bengen
Package: libt-digest-java
Version: 3.0-1
Severity: grave

Elasticsearch 1.4.5 cannot be built with libt-digest-java/3.1-1 installed.
Reverting back to 3.0-1 resolves this problem.

The attached report generated by japi-compliance-checker shows that the
3.1 is backwards incompatible. The package should therefore be reverted
to 3.0.

-Hilko
Title: 
t-digest: 3.0 to 3.1 compatibility report





API compatibility report for the t-digest library  between 3.0 and 3.1 versions


BinaryCompatibility
SourceCompatibility

Test Info

Library Namet-digest
Version #13.0
Version #23.1
Java Version1.7.0_79
SubjectBinary Compatibility

Test ResultsTotal Java ARchives1Total Methods / Classes192 / 13VerdictIncompatible(30.2%)

Problem SummarySeverityCountAdded Methods-33Removed MethodsHigh10Problems withData TypesHigh4Medium1Low4Problems withMethodsHigh1Medium0Low0

Added Methods (33)
t-digest-3.1.jar, AbstractTDigest.class
package com.tdunning.math.stats

AbstractTDigest.weightedAverage ( double x1, int w1, double x2, int w2 ) [static]  :  double


[mangled: com/tdunning/math/stats/AbstractTDigest.weightedAverage:(DIDI)D]


AbstractTDigest.weightedAverageSorted ( double x1, int w1, double x2, int w2 ) [static]  :  double


[mangled: com/tdunning/math/stats/AbstractTDigest.weightedAverageSorted:(DIDI)D]


t-digest-3.1.jar, ArrayDigest.class
package com.tdunning.math.stats

ArrayDigest.centroids ( )  :  java.util.Collection


[mangled: com/tdunning/math/stats/ArrayDigest.centroids:()Ljava/util/Collection;]


t-digest-3.1.jar, AVLTreeDigest.class
package com.tdunning.math.stats

AVLTreeDigest.centroids ( )  :  java.util.Collection


[mangled: com/tdunning/math/stats/AVLTreeDigest.centroids:()Ljava/util/Collection;]


t-digest-3.1.jar, Encoding.class
package com.tdunning.math.stats

MergingDigest.Encoding.valueOf ( String name ) [static]  :  MergingDigest.Encoding


[mangled: com/tdunning/math/stats/MergingDigest.Encoding.valueOf:(Ljava/lang/String;)Lcom/tdunning/math/stats/MergingDigest$Encoding;]


MergingDigest.Encoding.values ( ) [static]  :  MergingDigest.Encoding[ ]


[mangled: com/tdunning/math/stats/MergingDigest.Encoding.values:()[Lcom/tdunning/math/stats/MergingDigest$Encoding;]


t-digest-3.1.jar, GroupTree.class
package com.tdunning.math.stats

GroupTree.add ( Centroid centroid )  :  boolean


[mangled: com/tdunning/math/stats/GroupTree.add:(Lcom/tdunning/math/stats/Centroid;)Z]


GroupTree.add ( Object x0 )  :  boolean


[mangled: com/tdunning/math/stats/GroupTree.add:(Ljava/lang/Object;)Z]


t-digest-3.1.jar, MergingDigest.class
package com.tdunning.math.stats

MergingDigest.add ( double x, int w )  :  void


[mangled: com/tdunning/math/stats/MergingDigest.add:(DI)V]


MergingDigest.add ( double x, int w, java.util.List history )  :  void


[mangled: com/tdunning/math/stats/MergingDigest.add:(DILjava/util/List;)V]


MergingDigest.asBytes ( java.nio.ByteBuffer buf )  :  void


[mangled: com/tdunning/math/stats/MergingDigest.asBytes:(Ljava/nio/ByteBuffer;)V]


MergingDigest.asSmallBytes ( java.nio.ByteBuffer buf )  :  void


[mangled: com/tdunning/math/stats/MergingDigest.asSmallBytes:(Ljava/nio/ByteBuffer;)V]


MergingDigest.byteSize ( )  :  int


[mangled: com/tdunning/math/stats/MergingDigest.byteSize:()I]


MergingDigest.cdf ( double x )  :  double


[mangled: com/tdunning/math/stats/MergingDigest.cdf:(D)D]


MergingDigest.centroids ( )  :  java.util.Collection


[mangled: com/tdunning/math/stats/MergingDigest.centroids:()Ljava/util/Collection;]


MergingDigest.compress ( )  :  void


[mangled: com/tdunning/math/stats/MergingDigest.compress:()V]


MergingDigest.compression ( )  :  double


[mangled: com/tdunning/math/stats/MergingDigest.compression:()D]


MergingDigest.fromBytes ( java.nio.ByteBuffer buf ) [static]  :  MergingDigest


[mangled: com/tdunning/math/stats/MergingDigest.fromBytes:(Ljava/nio/ByteBuffer;)Lcom/tdunning/math/stats/MergingDigest;]


MergingDigest.MergingDigest ( double compression )


[mangled: com/tdunning/math/stats/MergingDigest."":(D)V]


MergingDigest.MergingDigest ( double compression, int bufferSize )


[mangled: com/tdunning/math/stats/MergingDigest."":(DI)V]


MergingDigest.MergingDigest ( double compression, int bufferSize, int size )


[mangled: com/tdunning/math/stats/MergingDigest."":(DII)V]


MergingDigest.quantile ( double q )  :  double


[mangled: com/tdunning/math/stats/MergingDigest.quantile:(D)D]


MergingDigest.recordAllData ( )  :  TDigest


[mangled: com/tdunning/math/stats/MergingDigest.recordAllData:()Lcom/tdunning/math/stats/TDigest;]


MergingDigest.size ( )  :  long


[mangled: com/tdunning/math/stats/MergingDigest.size:()J]


MergingDigest.smallByteSize ( )  :  int


[mangled: com/tdunning/math/stats/MergingDigest.smallByteSize:()I]


t-digest-3.1.jar, Sort.class
package com.tdunning.math.stats

Sort.checkPartition ( int[ ] order, double[ ] values, double pivotValue, int start, int low, int high, int end )