You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2020/01/09 21:47:13 UTC
[incubator-datasketches-characterization] branch master updated:
Mostly fix LGTM warnings.
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-datasketches-characterization.git
The following commit(s) were added to refs/heads/master by this push:
new 3d9f171 Mostly fix LGTM warnings.
3d9f171 is described below
commit 3d9f171b3ed74f1142437603d829f89f513b5049
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Thu Jan 9 13:47:03 2020 -0800
Mostly fix LGTM warnings.
---
src/main/java/org/apache/datasketches/Files.java | 9 ++++++---
src/main/java/org/apache/datasketches/Properties.java | 4 ++--
src/main/java/org/apache/datasketches/UnzipFiles.java | 4 +++-
.../characterization/hll/DruidHllAccuracyProfile.java | 6 +++---
.../characterization/hll/HllAccuracyProfile.java | 18 +++++++++---------
.../characterization/hll/ZetaHllAccuracyProfile.java | 6 +++---
.../characterization/memory/BaseUtf8SpeedProfile.java | 2 +-
.../characterization/theta/ThetaAccuracyProfile.java | 6 +++---
.../theta/ThetaUnionAccuracyProfile.java | 6 +++---
.../theta/ThetaUnionAccuracyProfile2.java | 6 +++---
.../concurrent/ConcurrentThetaAccuracyProfile.java | 6 +++---
src/main/resources/hll/HllUnionUpdateSpeedJob.conf | 2 +-
12 files changed, 40 insertions(+), 35 deletions(-)
diff --git a/src/main/java/org/apache/datasketches/Files.java b/src/main/java/org/apache/datasketches/Files.java
index 0b914e8..282f63a 100644
--- a/src/main/java/org/apache/datasketches/Files.java
+++ b/src/main/java/org/apache/datasketches/Files.java
@@ -711,6 +711,7 @@ public final class Files {
* @return a BufferedReader object
* @throws RuntimeException if FileNotFoundException occurs.
*/
+ //TODO This could have potential resource leaks
public static BufferedReader openBufferedReader(final File file, final int bufSize,
final Charset charset) {
final int bufSz = (bufSize < DEFAULT_BUFSIZE) ? DEFAULT_BUFSIZE : bufSize;
@@ -734,6 +735,7 @@ public final class Files {
* @param fileName the name of the file to configure
* @return a PrintWriter
*/
+ //TODO This could have potential output resource leaks
public static final PrintWriter openPrintWriter(final String fileName) {
File file = null;
PrintWriter pw = null;
@@ -751,8 +753,8 @@ public final class Files {
final BufferedWriter bw;
try {
final FileOutputStream fos = new FileOutputStream(file, true);
- final OutputStreamWriter osw = new OutputStreamWriter(fos, Charset.defaultCharset());
- bw = new BufferedWriter(osw, 8192);
+ final OutputStreamWriter osw = new OutputStreamWriter(fos, Charset.defaultCharset()); //LEAK?
+ bw = new BufferedWriter(osw, 8192); //LEAK?
} catch (final IOException e) {
// never opened, so don't close it.
throw new RuntimeException("Could not create: " + file.getPath() + LS + e);
@@ -941,13 +943,14 @@ public final class Files {
* @return BufferedWriter object
* @throws RuntimeException if IOException occurs.
*/
+ //TODO This could have potential output resource leaks
public static BufferedWriter openBufferedWriter(final File file, final int bufSize,
final boolean append, final Charset charset) {
final int bufSz = (bufSize < DEFAULT_BUFSIZE) ? DEFAULT_BUFSIZE : bufSize;
BufferedWriter out = null; // default bufsize is 8192.
try {
final FileOutputStream fos = new FileOutputStream(file, append);
- final OutputStreamWriter osw = new OutputStreamWriter(fos, charset);
+ final OutputStreamWriter osw = new OutputStreamWriter(fos, charset); //LEAK?
out = new BufferedWriter(osw, bufSz);
} catch (final IOException e) {
// never opened, so don't close it.
diff --git a/src/main/java/org/apache/datasketches/Properties.java b/src/main/java/org/apache/datasketches/Properties.java
index 0c995f3..335ea20 100644
--- a/src/main/java/org/apache/datasketches/Properties.java
+++ b/src/main/java/org/apache/datasketches/Properties.java
@@ -144,8 +144,8 @@ public class Properties {
public static String removeLastPairSeparator(final String kvPairs, final char pairSeparator) {
final StringBuilder sb = new StringBuilder(kvPairs);
final int len = sb.length();
- final Character last = sb.charAt(len - 1);
- if (last.equals(pairSeparator)) {
+ final char last = sb.charAt(len - 1);
+ if (last == pairSeparator) {
sb.deleteCharAt(len - 1);
}
return sb.toString();
diff --git a/src/main/java/org/apache/datasketches/UnzipFiles.java b/src/main/java/org/apache/datasketches/UnzipFiles.java
index daecc08..57b30e6 100644
--- a/src/main/java/org/apache/datasketches/UnzipFiles.java
+++ b/src/main/java/org/apache/datasketches/UnzipFiles.java
@@ -52,7 +52,9 @@ public class UnzipFiles {
while ((ze != null) && !ze.getName().startsWith("__")) {
final String fileName = ze.getName();
final File newFile = new File(destDir + File.separator + fileName);
-
+ if (!newFile.toPath().normalize().startsWith(new File(destDir).toPath())) {
+ throw new IOException("Bad zip entry");
+ }
//create directories for sub directories in zip
new File(newFile.getParent()).mkdirs();
try (FileOutputStream fos = new FileOutputStream(newFile)) {
diff --git a/src/main/java/org/apache/datasketches/characterization/hll/DruidHllAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/hll/DruidHllAccuracyProfile.java
index 262d3bc..4bbc0dc 100644
--- a/src/main/java/org/apache/datasketches/characterization/hll/DruidHllAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/hll/DruidHllAccuracyProfile.java
@@ -42,11 +42,11 @@ public class DruidHllAccuracyProfile extends BaseAccuracyProfile {
public void doTrial() {
final int qArrLen = qArr.length;
sketch = HyperLogLogCollector.makeLatestCollector();
- int lastUniques = 0;
+ long lastUniques = 0;
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
if (useString) {
final String vstr = Long.toHexString(++vIn);
sketch.add(hash.hash(vstr));
diff --git a/src/main/java/org/apache/datasketches/characterization/hll/HllAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/hll/HllAccuracyProfile.java
index cfea470..5612720 100644
--- a/src/main/java/org/apache/datasketches/characterization/hll/HllAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/hll/HllAccuracyProfile.java
@@ -57,14 +57,14 @@ public class HllAccuracyProfile extends BaseAccuracyProfile {
public void doTrial() {
final int qArrLen = qArr.length;
sketch.reset(); //reuse the same sketch
- int lastUniques = 0;
+ long lastUniques = 0;
final int sw = (useCharArr ? 2 : 0) | (useComposite ? 1 : 0);
switch (sw) {
case 0: { //use longs; use HIP
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
sketch.update(++vIn);
}
lastUniques += delta;
@@ -79,8 +79,8 @@ public class HllAccuracyProfile extends BaseAccuracyProfile {
case 1: { //use longs; use Composite
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
sketch.update(++vIn);
}
lastUniques += delta;
@@ -95,8 +95,8 @@ public class HllAccuracyProfile extends BaseAccuracyProfile {
case 2: { //use char[]; use HIP
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
final String vstr = Long.toHexString(++vIn);
sketch.update(vstr.toCharArray());
}
@@ -112,8 +112,8 @@ public class HllAccuracyProfile extends BaseAccuracyProfile {
case 3: { //use char[]; use Composite
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
final String vstr = Long.toHexString(++vIn);
sketch.update(vstr.toCharArray());
}
diff --git a/src/main/java/org/apache/datasketches/characterization/hll/ZetaHllAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/hll/ZetaHllAccuracyProfile.java
index 0e06ae4..804af50 100644
--- a/src/main/java/org/apache/datasketches/characterization/hll/ZetaHllAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/hll/ZetaHllAccuracyProfile.java
@@ -68,11 +68,11 @@ public class ZetaHllAccuracyProfile extends BaseAccuracyProfile {
public void doTrial() {
final int qArrLen = qArr.length;
reset();
- int lastUniques = 0;
+ long lastUniques = 0;
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
sketch.add(++vIn);
}
lastUniques += delta;
diff --git a/src/main/java/org/apache/datasketches/characterization/memory/BaseUtf8SpeedProfile.java b/src/main/java/org/apache/datasketches/characterization/memory/BaseUtf8SpeedProfile.java
index 12e0266..0cdb713 100644
--- a/src/main/java/org/apache/datasketches/characterization/memory/BaseUtf8SpeedProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/memory/BaseUtf8SpeedProfile.java
@@ -103,7 +103,7 @@ public abstract class BaseUtf8SpeedProfile implements JobProfile {
String getRow() {
final double lgCP = Math.log(numCPPerTrial) / LN2;
- final long totCP = trials * numCPPerTrial;
+ final long totCP = (long)trials * numCPPerTrial;
final double meanJavaEncodePerCP_nS = sumJavaEncodeTrials_nS / totCP;
final double meanJavaDecodePerCP_nS = sumJavaDecodeTrials_nS / totCP;
final double meanMemEncodePerCP_nS = sumMemEncodeTrials_nS / totCP;
diff --git a/src/main/java/org/apache/datasketches/characterization/theta/ThetaAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/theta/ThetaAccuracyProfile.java
index 27f7820..bf65a83 100644
--- a/src/main/java/org/apache/datasketches/characterization/theta/ThetaAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/theta/ThetaAccuracyProfile.java
@@ -63,11 +63,11 @@ public class ThetaAccuracyProfile extends BaseAccuracyProfile {
public void doTrial() {
final int qArrLen = qArr.length;
sketch.reset(); //reuse the same sketch
- int lastUniques = 0;
+ long lastUniques = 0;
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
sketch.update(++vIn);
}
lastUniques += delta;
diff --git a/src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile.java
index e96e97d..f2525b6 100644
--- a/src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile.java
@@ -61,11 +61,11 @@ public class ThetaUnionAccuracyProfile extends BaseAccuracyProfile {
public void doTrial() {
final int qArrLen = qArr.length;
union.reset(); //reuse the same sketch
- int lastUniques = 0;
+ long lastUniques = 0;
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
union.update(++vIn);
}
lastUniques += delta;
diff --git a/src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile2.java b/src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile2.java
index f4b01e0..58ccb2a 100644
--- a/src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile2.java
+++ b/src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile2.java
@@ -79,12 +79,12 @@ public class ThetaUnionAccuracyProfile2 extends BaseAccuracyProfile {
public void doTrial() {
final int qArrLen = qArr.length;
union.reset(); //reuse the same union
- int lastUniques = 0;
+ long lastUniques = 0;
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
+ final long delta = (long)(q.trueValue - lastUniques);
sketch.reset(); //reuse the same sketch
- for (int u = 0; u < delta; u++) {
+ for (long u = 0; u < delta; u++) {
sketch.update(++vIn);
}
if (rebuild) { sketch.rebuild(); } //Resizes down to k. Only useful with QSSketch
diff --git a/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaAccuracyProfile.java b/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaAccuracyProfile.java
index 26323a4..4cad487 100644
--- a/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaAccuracyProfile.java
+++ b/src/main/java/org/apache/datasketches/characterization/theta/concurrent/ConcurrentThetaAccuracyProfile.java
@@ -77,11 +77,11 @@ public class ConcurrentThetaAccuracyProfile extends BaseAccuracyProfile {
//reuse the same sketches
sharedSketch.reset(); // reset shared sketch first
localSketch.reset(); // local sketch reset is reading the theta from shared sketch
- int lastUniques = 0;
+ long lastUniques = 0;
for (int i = 0; i < qArrLen; i++) {
final AccuracyStats q = qArr[i];
- final double delta = q.trueValue - lastUniques;
- for (int u = 0; u < delta; u++) {
+ final long delta = (long)(q.trueValue - lastUniques);
+ for (long u = 0; u < delta; u++) {
localSketch.update(++vIn);
}
lastUniques += delta;
diff --git a/src/main/resources/hll/HllUnionUpdateSpeedJob.conf b/src/main/resources/hll/HllUnionUpdateSpeedJob.conf
index b203583..650ac33 100644
--- a/src/main/resources/hll/HllUnionUpdateSpeedJob.conf
+++ b/src/main/resources/hll/HllUnionUpdateSpeedJob.conf
@@ -40,5 +40,5 @@ ReadableDateFormat=yyyy/MM/dd HH:mm:ss z
JobProfile=org.apache.datasketches.characterization.hll.HllUnionUpdateSpeedProfile
LgK=12
NumSketches=32
-TgtHllType=HLL_8
+TgtHllType=HLL_4
Direct=true
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org