This is an automated email from the ASF dual-hosted git repository.

jmalkin pushed a commit to branch 5.0.X-backport
in repository https://gitbox.apache.org/repos/asf/datasketches-java.git

commit bbcdd154dc261c6eb5f52219897549b27f9e4f9f
Author: Lee Rhodes <[email protected]>
AuthorDate: Wed Feb 28 16:50:30 2024 -0800

    Fixing issues raised in PR review.
---
 .../datasketches/quantiles/DoublesSketchAccessor.java      |  4 +++-
 .../org/apache/datasketches/quantiles/ItemsSketch.java     |  1 -
 .../apache/datasketches/theta/DirectQuickSelectSketch.java |  2 +-
 .../DirectArrayOfDoublesQuickSelectSketch.java             | 14 ++++++++------
 4 files changed, 12 insertions(+), 9 deletions(-)

diff --git 
a/src/main/java/org/apache/datasketches/quantiles/DoublesSketchAccessor.java 
b/src/main/java/org/apache/datasketches/quantiles/DoublesSketchAccessor.java
index 1c5913b7..6195552a 100644
--- a/src/main/java/org/apache/datasketches/quantiles/DoublesSketchAccessor.java
+++ b/src/main/java/org/apache/datasketches/quantiles/DoublesSketchAccessor.java
@@ -45,10 +45,12 @@ abstract class DoublesSketchAccessor extends 
DoublesBufferAccessor {
     final boolean forceSize,
     final int level) {
     this(checkLvl(level), ds, forceSize, level);
+    //SpotBugs CT_CONSTRUCTOR_THROW is false positive.
+    //this construction scheme is compliant with SEI CERT Oracle Coding 
Standard for Java / OBJ11-J
   }
 
   private DoublesSketchAccessor(
-      final boolean secure,
+      final boolean secure, //required part of Finalizer Attack prevention
       final DoublesSketch ds,
       final boolean forceSize,
       final int level) {
diff --git a/src/main/java/org/apache/datasketches/quantiles/ItemsSketch.java 
b/src/main/java/org/apache/datasketches/quantiles/ItemsSketch.java
index 8a6b7831..3d51363f 100644
--- a/src/main/java/org/apache/datasketches/quantiles/ItemsSketch.java
+++ b/src/main/java/org/apache/datasketches/quantiles/ItemsSketch.java
@@ -36,7 +36,6 @@ import static 
org.apache.datasketches.quantiles.PreambleUtil.extractK;
 import static org.apache.datasketches.quantiles.PreambleUtil.extractN;
 import static org.apache.datasketches.quantiles.PreambleUtil.extractPreLongs;
 import static org.apache.datasketches.quantiles.PreambleUtil.extractSerVer;
-//import static org.apache.datasketches.quantilescommon.QuantilesAPI.EMPTY_MSG;
 
 import java.lang.reflect.Array;
 import java.util.Arrays;
diff --git 
a/src/main/java/org/apache/datasketches/theta/DirectQuickSelectSketch.java 
b/src/main/java/org/apache/datasketches/theta/DirectQuickSelectSketch.java
index 33efe064..8397c130 100644
--- a/src/main/java/org/apache/datasketches/theta/DirectQuickSelectSketch.java
+++ b/src/main/java/org/apache/datasketches/theta/DirectQuickSelectSketch.java
@@ -121,7 +121,7 @@ class DirectQuickSelectSketch extends 
DirectQuickSelectSketchR {
   }
 
   private DirectQuickSelectSketch(
-      final boolean secure,
+      final boolean secure, //required part of Finalizer Attack prevention
       final int lgNomLongs,
       final long seed,
       final float p,
diff --git 
a/src/main/java/org/apache/datasketches/tuple/arrayofdoubles/DirectArrayOfDoublesQuickSelectSketch.java
 
b/src/main/java/org/apache/datasketches/tuple/arrayofdoubles/DirectArrayOfDoublesQuickSelectSketch.java
index 60a3a909..1b4e8690 100644
--- 
a/src/main/java/org/apache/datasketches/tuple/arrayofdoubles/DirectArrayOfDoublesQuickSelectSketch.java
+++ 
b/src/main/java/org/apache/datasketches/tuple/arrayofdoubles/DirectArrayOfDoublesQuickSelectSketch.java
@@ -68,7 +68,9 @@ class DirectArrayOfDoublesQuickSelectSketch extends 
ArrayOfDoublesQuickSelectSke
       final int numValues,
       final long seed,
       final WritableMemory dstMem) {
-    this(validate1(nomEntries, lgResizeFactor, numValues, dstMem),
+    this(checkMemory(nomEntries, lgResizeFactor, numValues, dstMem),
+    //SpotBugs CT_CONSTRUCTOR_THROW is false positive.
+    //this construction scheme is compliant with SEI CERT Oracle Coding 
Standard for Java / OBJ11-J
         nomEntries,
         lgResizeFactor,
         samplingProbability,
@@ -78,7 +80,7 @@ class DirectArrayOfDoublesQuickSelectSketch extends 
ArrayOfDoublesQuickSelectSke
   }
 
   private DirectArrayOfDoublesQuickSelectSketch(
-      final boolean secure,
+      final boolean secure, //required part of Finalizer Attack prevention
       final int nomEntries,
       final int lgResizeFactor,
       final float samplingProbability,
@@ -115,7 +117,7 @@ class DirectArrayOfDoublesQuickSelectSketch extends 
ArrayOfDoublesQuickSelectSke
     setRebuildThreshold();
   }
 
-  private static final boolean validate1(
+  private static final boolean checkMemory(
       final int nomEntries,
       final int lgResizeFactor,
       final int numValues,
@@ -133,13 +135,13 @@ class DirectArrayOfDoublesQuickSelectSketch extends 
ArrayOfDoublesQuickSelectSke
   DirectArrayOfDoublesQuickSelectSketch(
       final WritableMemory mem,
       final long seed) {
-    this(validate2(mem), mem, seed);
+    this(checkSerVer_Endianness(mem), mem, seed);
     //SpotBugs CT_CONSTRUCTOR_THROW is false positive.
     //this construction scheme is compliant with SEI CERT Oracle Coding 
Standard for Java / OBJ11-J
   }
 
   private DirectArrayOfDoublesQuickSelectSketch(
-      final boolean secure,
+      final boolean secure, //required part of Finalizer Attack prevention
       final WritableMemory mem,
       final long seed) {
     super(mem.getByte(NUM_VALUES_BYTE), seed);
@@ -159,7 +161,7 @@ class DirectArrayOfDoublesQuickSelectSketch extends 
ArrayOfDoublesQuickSelectSke
     setRebuildThreshold();
   }
 
-  private static final boolean validate2(final Memory mem) {
+  private static final boolean checkSerVer_Endianness(final Memory mem) {
     final byte version = mem.getByte(SERIAL_VERSION_BYTE);
     if (version != serialVersionUID) {
       throw new SketchesArgumentException("Serial version mismatch. Expected: 
" + serialVersionUID


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to