diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a4d313bd9..f38d12ce5 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -40,11 +40,13 @@ "settings": {}, // Add the IDs of extensions you want installed when the container is created. "extensions": [ - "github.vscode-github-actions", + "EditorConfig.EditorConfig", "GitHub.copilot", "eamodio.gitlens", - "vscjava.vscode-java-pack", - "EditorConfig.EditorConfig" + "github.vscode-github-actions", + "github.vscode-pull-request-github", + "huntertran.auto-markdown-toc", + "vscjava.vscode-java-pack" ] } }, diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..842cbfef9 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "EditorConfig.EditorConfig", + "github.vscode-pull-request-github", + "huntertran.auto-markdown-toc", + "vscjava.vscode-java-pack" + ] +} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..b8d8c6e69 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,72 @@ +# Contributing + +We welcome all contributions! Please open a [pull request](https://github.com/cmu-db/benchbase/pulls). Common contributions may include: + +- Adding support for a new DBMS. +- Adding more tests of existing benchmarks. +- Fixing any bugs or known issues. + +## Contents + + + +- [Contributing](#contributing) + - [Contents](#contents) + - [IDE](#ide) + - [Adding a new DBMS](#adding-a-new-dbms) + - [Java Development Notes](#java-development-notes) + - [Avoid var keyword](#avoid-var-keyword) + - [Compiler Warnings](#compiler-warnings) + - [Alternatives to arrays of generics](#alternatives-to-arrays-of-generics) + + + +## IDE + +Although you can use any IDE you prefer, there are some configurations for [VSCode](https://code.visualstudio.com/) that you may find useful included in the repository, including [Github Codespaces](https://github.com/features/codespaces) and [VSCode devcontainer](https://code.visualstudio.com/docs/remote/containers) support to automatically handle dependencies, environment setup, code formatting, and more. + +## Adding a new DBMS + +Please see the existing MySQL and PostgreSQL code for an example. + +## Java Development Notes + +### Compiler Warnings + +In an effort to enforce clean, safe, maintainable code, [PR #413](https://github.com/cmu-db/benchbase/pull/413) enabled the `-Werror` and `-Xlint:all` options for the `javac` compiler. + +This means that any compiler warnings will cause the build to fail. + +If you are seeing a build failure due to a compiler warning, please fix the warning or (on rare occassions) add an exception to the line causing the issue. + +### Avoid `var` keyword + +In general, we prefer to avoid the `var` keyword in favor of explicit types. + +#### Alternatives to arrays of generics + +Per the [Java Language Specification](https://docs.oracle.com/javase/tutorial/java/generics/restrictions.html#createArrays), arrays of generic types are not allowed and will cause compiler warnings (e.g., `unchecked cast`) + +In some cases, you can extend a generic type to create a non-generic type that can be used in an array. + +For instance, + +```java +// Simple generic class overload to avoid some cast warnings. +class SomeTypeList extends LinkedList {} + +SomeTypeList[] someTypeLists = new SomeTypeList[] { + new SomeTypeList(), + new SomeTypeList(), + new SomeTypeList(), +}; +``` + +#### `this-escape` warnings + +`possible 'this' escape before subclass is fully initialized` + +The `this-escape` warning above is caused by passing using `this.someOverridableMethod()` in a constructor. +This could in theory cause problems with a subclass not being fully initialized when the method is called. + +Since many of our classes are not designed to be subclassed, we can safely ignore this warning by marking the class as `final` rather than completely rewrite the class initialization. diff --git a/README.md b/README.md index 801a3abd3..8dd5b8574 100644 --- a/README.md +++ b/README.md @@ -221,15 +221,17 @@ Please see the existing MySQL and PostgreSQL code for an example. ## Contributing -We welcome all contributions! Please open a pull request. Common contributions may include: +We welcome all contributions! Please open a [pull request](https://github.com/cmu-db/benchbase/pulls). Common contributions may include: - Adding support for a new DBMS. - Adding more tests of existing benchmarks. - Fixing any bugs or known issues. +Please see the [CONTRIBUTING.md](./CONTRIBUTING.md) for addition notes. + ## Known Issues -Please use GitHub's issue tracker for all issues. +Please use [GitHub's issue tracker](https://github.com/cmu-db/benchbase/issues) for all issues. ## Credits diff --git a/pom.xml b/pom.xml index 05dc0846c..ca16ff6d4 100644 --- a/pom.xml +++ b/pom.xml @@ -336,6 +336,20 @@ ${maven.compiler.source} ${maven.compiler.target} + true + true + + + + -Xlint:all,-processing + + -implicit:class + + + -Werror + diff --git a/src/main/java/com/oltpbenchmark/DistributionStatistics.java b/src/main/java/com/oltpbenchmark/DistributionStatistics.java index 65705d2a2..e672801e4 100644 --- a/src/main/java/com/oltpbenchmark/DistributionStatistics.java +++ b/src/main/java/com/oltpbenchmark/DistributionStatistics.java @@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit; public class DistributionStatistics { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(DistributionStatistics.class); private static final double[] PERCENTILES = {0.0, 0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 1.0}; diff --git a/src/main/java/com/oltpbenchmark/WorkloadState.java b/src/main/java/com/oltpbenchmark/WorkloadState.java index de12ec8ce..7b5b20ff5 100644 --- a/src/main/java/com/oltpbenchmark/WorkloadState.java +++ b/src/main/java/com/oltpbenchmark/WorkloadState.java @@ -42,6 +42,7 @@ public class WorkloadState { private final Iterator phaseIterator; private int workersWaiting = 0; + @SuppressWarnings("unused") // never read private int workersWorking = 0; private int workerNeedSleep; @@ -60,7 +61,7 @@ public WorkloadState(BenchmarkState benchmarkState, List works, int num_t */ public void addToQueue(int amount, boolean resetQueues) { int workAdded = 0; - + synchronized (this) { if (resetQueues) { workQueue.clear(); @@ -71,7 +72,7 @@ public void addToQueue(int amount, boolean resetQueues) { || !currentPhase.isRateLimited() || currentPhase.isSerial()) { return; } - + // Add the specified number of procedures to the end of the queue. // If we can't keep up with current rate, truncate transactions for (int i = 0; i < amount && workQueue.size() <= RATE_QUEUE_LIMIT; ++i) { diff --git a/src/main/java/com/oltpbenchmark/api/BenchmarkModule.java b/src/main/java/com/oltpbenchmark/api/BenchmarkModule.java index 16a844e5e..6f5fa69f6 100644 --- a/src/main/java/com/oltpbenchmark/api/BenchmarkModule.java +++ b/src/main/java/com/oltpbenchmark/api/BenchmarkModule.java @@ -77,14 +77,15 @@ public abstract class BenchmarkModule { public BenchmarkModule(WorkloadConfiguration workConf) { this.workConf = workConf; this.dialects = new StatementDialects(workConf); - initClassLoader(); + // setClassLoader(); + this.classLoader = ClassLoader.getSystemClassLoader(); } /** * Instantiates the classLoader variable, needs to be overwritten if * benchmark uses a custom implementation. */ - protected void initClassLoader() { + protected void setClassLoader() { this.classLoader = ClassLoader.getSystemClassLoader(); } diff --git a/src/main/java/com/oltpbenchmark/api/StatementDialects.java b/src/main/java/com/oltpbenchmark/api/StatementDialects.java index 5e5826ea0..aed1cfbcb 100644 --- a/src/main/java/com/oltpbenchmark/api/StatementDialects.java +++ b/src/main/java/com/oltpbenchmark/api/StatementDialects.java @@ -20,7 +20,6 @@ import com.oltpbenchmark.WorkloadConfiguration; import com.oltpbenchmark.api.dialects.*; import com.oltpbenchmark.types.DatabaseType; -import com.oltpbenchmark.types.State; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.xml.sax.SAXException; @@ -30,7 +29,6 @@ import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; @@ -40,7 +38,7 @@ /** * @author pavlo */ -public class StatementDialects { +public final class StatementDialects { private static final Logger LOG = LoggerFactory.getLogger(StatementDialects.class); private static final DatabaseType DEFAULT_DB_TYPE = DatabaseType.MYSQL; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkBenchmark.java index 1fbeebf1c..12703b76b 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkBenchmark.java @@ -33,11 +33,10 @@ import java.util.ArrayList; import java.util.List; -public class AuctionMarkBenchmark extends BenchmarkModule { - +public final class AuctionMarkBenchmark extends BenchmarkModule { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(AuctionMarkBenchmark.class); - private final RandomGenerator rng = new RandomGenerator((int) System.currentTimeMillis()); public AuctionMarkBenchmark(WorkloadConfiguration workConf) { @@ -70,6 +69,4 @@ protected List> makeWorkersImpl() { protected Loader makeLoaderImpl() { return new AuctionMarkLoader(this); } - - } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkLoader.java index dae155a5e..5fa073cbb 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkLoader.java @@ -46,7 +46,7 @@ * @author pavlo * @author visawee */ -public class AuctionMarkLoader extends Loader { +public final class AuctionMarkLoader extends Loader { // ----------------------------------------------------------------- // INTERNAL DATA MEMBERS @@ -1195,6 +1195,7 @@ protected class ItemBidGenerator extends SubTableGenerator { private LoaderItemInfo.Bid bid = null; private float currentBidPriceAdvanceStep; private long currentCreateDateAdvanceStep; + @SuppressWarnings("unused") // only ever assigned private float currentPrice; private boolean new_item; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkProfile.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkProfile.java index fb3a38f00..3b2777cf6 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkProfile.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkProfile.java @@ -76,6 +76,7 @@ public class AuctionMarkProfile { // ---------------------------------------------------------------- // SERIALIZABLE DATA MEMBERS // ---------------------------------------------------------------- + static final long serialVersionUID = 0; /** * Database Scale Factor @@ -108,6 +109,14 @@ public class AuctionMarkProfile { */ protected transient Histogram items_per_category = new Histogram<>(); + /** + * Simple generic class overload to avoid some cast warnings below. + */ + class ItemInfoList extends LinkedList { + // Required serialization field. + static final long serialVersionUID = 0; + } + /** * Three status types for an item: * (1) Available - The auction of this item is still open @@ -117,13 +126,13 @@ public class AuctionMarkProfile { * (3) Complete (The auction is closed and (There is no bid winner or * the bid winner has already purchased the item) */ - private transient final LinkedList items_available = new LinkedList<>(); - private transient final LinkedList items_endingSoon = new LinkedList<>(); - private transient final LinkedList items_waitingForPurchase = new LinkedList<>(); - private transient final LinkedList items_completed = new LinkedList<>(); + private transient final ItemInfoList items_available = new ItemInfoList(); + private transient final ItemInfoList items_endingSoon = new ItemInfoList(); + private transient final ItemInfoList items_waitingForPurchase = new ItemInfoList(); + private transient final ItemInfoList items_completed = new ItemInfoList(); + - @SuppressWarnings("unchecked") - protected transient final LinkedList[] allItemSets = new LinkedList[]{ + protected transient final ItemInfoList allItemSets[] = new ItemInfoList[]{ this.items_available, this.items_endingSoon, this.items_waitingForPurchase, @@ -286,7 +295,7 @@ private AuctionMarkProfile copyProfile(AuctionMarkWorker worker, AuctionMarkProf this.items_per_category = other.items_per_category; this.gag_ids = other.gag_ids; - // Initialize the UserIdGenerator so we can figure out whether our + // Initialize the UserIdGenerator so we can figure out whether our // client should even have these ids this.initializeUserIdGenerator(this.client_id); @@ -455,7 +464,6 @@ private static void loadItems(AuctionMarkProfile profile, List vt) { private static void loadPendingItemComments(AuctionMarkProfile profile, List vt) { for (Object[] row : vt) { - int col = 1; long ic_id = SQLUtil.getLong(row[0]); String ic_i_id = SQLUtil.getString(row[1]); String ic_u_id = SQLUtil.getString(row[2]); @@ -712,6 +720,7 @@ private boolean addItem(LinkedList items, ItemInfo itemInfo) { // HACK: Always swap existing ItemInfos with our new one, since it will // more up-to-date information ItemInfo existing = items.set(idx, itemInfo); + assert existing != null; return (true); } @@ -861,7 +870,7 @@ private ItemInfo getRandomItem(LinkedList itemSet, boolean needCurrent continue; } - // If they want an item that is ending in the future, then we compare it with + // If they want an item that is ending in the future, then we compare it with // the current timestamp if (needFutureEndDate) { boolean compareTo = (temp.getEndDate().compareTo(currentTime) < 0); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkWorker.java index 6aa9d6181..55074346e 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkWorker.java @@ -37,7 +37,7 @@ import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; -public class AuctionMarkWorker extends Worker { +public final class AuctionMarkWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(AuctionMarkWorker.class); // ----------------------------------------------------------------- @@ -404,8 +404,10 @@ protected TransactionStatus executeWork(Connection conn, TransactionType txnType public ItemId processItemRecord(Object[] row) { int col = 0; ItemId i_id = new ItemId(SQLUtil.getString(row[col++])); // i_id - String i_u_id = SQLUtil.getString(row[col++]); // i_u_id - String i_name = (String) row[col++]; // i_name + String i_u_id = SQLUtil.getString(row[col++]); // i_u_id + assert i_u_id != null; + @SuppressWarnings("unused") + String i_name = (String) row[col++]; // i_name double i_current_price = SQLUtil.getDouble(row[col++]); // i_current_price long i_num_bids = SQLUtil.getLong(row[col++]); // i_num_bids Timestamp i_end_date = SQLUtil.getTimestamp(row[col++]);// i_end_date @@ -452,7 +454,7 @@ protected boolean executeCloseAuctions(Connection conn, CloseAuctions proc) thro for (Object[] row : results) { ItemId itemId = this.processItemRecord(row); - + assert itemId != null; } profile.updateItemQueues(); @@ -476,7 +478,7 @@ protected boolean executeGetItem(Connection conn, GetItem proc) throws SQLExcept // The first row will have our item data that we want // We don't care about the user information... ItemId itemId = this.processItemRecord(results[0]); - + assert itemId != null; return (true); } @@ -534,14 +536,17 @@ protected boolean executeGetUserInfo(Connection conn, GetUserInfo proc) throws S for (Object[] row : results.getSellerItems()) { ItemId itemId = this.processItemRecord(row); + assert itemId != null; } for (Object[] row : results.getBuyerItems()) { ItemId itemId = this.processItemRecord(row); + assert itemId != null; } for (Object[] row : results.getWatchedItems()) { ItemId itemId = this.processItemRecord(row); + assert itemId != null; } @@ -614,7 +619,7 @@ protected boolean executeNewBid(Connection conn, NewBid proc) throws SQLExceptio itemInfo.getEndDate()); ItemId itemId = this.processItemRecord(results); - + assert itemId != null; return (true); } @@ -797,7 +802,7 @@ protected boolean executeNewPurchase(Connection conn, NewPurchase proc) throws S buyer_credit); ItemId itemId = this.processItemRecord(results); - + assert itemId != null; return (true); } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/AuctionMarkUtil.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/AuctionMarkUtil.java index e6625dfc4..04410db77 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/AuctionMarkUtil.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/AuctionMarkUtil.java @@ -25,8 +25,10 @@ import java.sql.Timestamp; public abstract class AuctionMarkUtil { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(AuctionMarkUtil.class); + @SuppressWarnings("unused") private static final long ITEM_ID_MASK = 0xFFFFFFFFFFFFFFL; // 56 bits (ITEM_ID) /** @@ -63,9 +65,9 @@ public static Timestamp getProcTimestamp(Timestamp[] benchmarkTimes) { */ public static long getScaledTimestamp(Timestamp benchmarkStart, Timestamp clientStart, Timestamp current) { // First get the offset between the benchmarkStart and the clientStart - // We then subtract that value from the current time. This gives us the total elapsed - // time from the current time to the time that the benchmark start (with the gap - // from when the benchmark was loading data cut out) + // We then subtract that value from the current time. This gives us the total elapsed + // time from the current time to the time that the benchmark start (with the gap + // from when the benchmark was loading data cut out) long base = benchmarkStart.getTime(); long offset = current.getTime() - (clientStart.getTime() - base); long elapsed = (offset - base) * AuctionMarkConstants.TIME_SCALE_FACTOR; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/CategoryParser.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/CategoryParser.java index d98e7d348..c06f25e42 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/CategoryParser.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/CategoryParser.java @@ -22,7 +22,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; import java.io.InputStream; import java.nio.charset.Charset; import java.util.List; @@ -30,7 +29,8 @@ import java.util.TreeMap; -public class CategoryParser { +public final class CategoryParser { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(CategoryParser.class); Map _categoryMap; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/GlobalAttributeGroupId.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/GlobalAttributeGroupId.java index bf52b26e2..1df7f063a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/GlobalAttributeGroupId.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/GlobalAttributeGroupId.java @@ -24,7 +24,7 @@ import java.util.Objects; import java.util.stream.IntStream; -public class GlobalAttributeGroupId extends CompositeId implements Comparable { +public final class GlobalAttributeGroupId extends CompositeId implements Comparable { private static final int[] COMPOSITE_BITS = { INT_MAX_DIGITS, // CATEGORY diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/ItemId.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/ItemId.java index d3444c9ce..ddd99b00d 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/ItemId.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/ItemId.java @@ -30,7 +30,7 @@ * * @author pavlo */ -public class ItemId extends CompositeId implements Comparable { +public final class ItemId extends CompositeId implements Comparable { private static final int[] COMPOSITE_BITS = { UserId.ID_LENGTH, // SELLER_ID diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/UserId.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/UserId.java index 662ee0554..428fca04d 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/UserId.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/UserId.java @@ -24,7 +24,7 @@ import java.util.Objects; import java.util.stream.IntStream; -public class UserId extends CompositeId implements Comparable { +public final class UserId extends CompositeId implements Comparable { private static final int[] COMPOSITE_BITS = { INT_MAX_DIGITS, // ITEM_COUNT diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/UserIdGenerator.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/UserIdGenerator.java index f9800788f..7fe6097bc 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/UserIdGenerator.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/util/UserIdGenerator.java @@ -27,7 +27,7 @@ import java.util.Iterator; import java.util.Map; -public class UserIdGenerator implements Iterator { +public final class UserIdGenerator implements Iterator { private final int numClients; private final Integer clientId; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmark.java b/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmark.java index 1ef007372..33de1ab11 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmark.java @@ -29,7 +29,7 @@ import java.util.ArrayList; import java.util.List; -public class CHBenCHmark extends BenchmarkModule { +public final class CHBenCHmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(CHBenCHmark.class); public CHBenCHmark(WorkloadConfiguration workConf) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmarkLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmarkLoader.java index 5eaf2c300..6112318be 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmarkLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmarkLoader.java @@ -26,8 +26,6 @@ import com.oltpbenchmark.util.RandomGenerator; import org.apache.commons.io.IOUtils; -import java.io.BufferedReader; -import java.io.File; import java.io.InputStream; import java.nio.charset.Charset; import java.sql.Connection; @@ -39,7 +37,7 @@ import java.util.StringTokenizer; import java.util.concurrent.CountDownLatch; -public class CHBenCHmarkLoader extends Loader { +public final class CHBenCHmarkLoader extends Loader { private static final RandomGenerator ran = new RandomGenerator(0); @@ -143,11 +141,7 @@ private void truncateTable(Connection conn, String strTable) { } private int loadRegions(Connection conn, PreparedStatement statement) throws SQLException { - int k = 0; - int t = 0; - BufferedReader br = null; - truncateTable(conn, "region"); truncateTable(conn, "nation"); @@ -208,9 +202,7 @@ private int loadRegions(Connection conn, PreparedStatement statement) throws SQL } private int loadNations(Connection conn, PreparedStatement statement) { - int k = 0; - int t = 0; Nation nation = new Nation(); @@ -274,9 +266,7 @@ private int loadNations(Connection conn, PreparedStatement statement) { } private int loadSuppliers(Connection conn, PreparedStatement statement) { - int k = 0; - int t = 0; try { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmarkWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmarkWorker.java index ee3eb79d6..c7b6024b0 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmarkWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/chbenchmark/CHBenCHmarkWorker.java @@ -26,7 +26,7 @@ import java.sql.Connection; import java.sql.SQLException; -public class CHBenCHmarkWorker extends Worker { +public final class CHBenCHmarkWorker extends Worker { public CHBenCHmarkWorker(CHBenCHmark benchmarkModule, int id) { super(benchmarkModule, id); } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsBenchmark.java index 770c73af5..991236988 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsBenchmark.java @@ -36,7 +36,7 @@ import java.util.ArrayList; import java.util.List; -public class EpinionsBenchmark extends BenchmarkModule { +public final class EpinionsBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(EpinionsBenchmark.class); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsLoader.java index fc26f296e..837c81b2a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsLoader.java @@ -32,7 +32,7 @@ import java.util.*; import java.util.concurrent.CountDownLatch; -public class EpinionsLoader extends Loader { +public final class EpinionsLoader extends Loader { private final int num_users; private final int num_items; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsWorker.java index dade16956..fb774a904 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/epinions/EpinionsWorker.java @@ -30,15 +30,13 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; -import java.util.Random; - -public class EpinionsWorker extends Worker { +public final class EpinionsWorker extends Worker { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(EpinionsWorker.class); private final ArrayList user_ids; private final ArrayList item_ids; - private final Random rand = new Random(System.currentTimeMillis()); public EpinionsWorker(EpinionsBenchmark benchmarkModule, int id, ArrayList user_ids, ArrayList item_ids) { super(benchmarkModule, id); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTBenchmark.java index 63150752d..4d85c1ad5 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTBenchmark.java @@ -34,7 +34,7 @@ import java.util.ArrayList; import java.util.List; -public class HYADAPTBenchmark extends BenchmarkModule { +public final class HYADAPTBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(HYADAPTBenchmark.class); public HYADAPTBenchmark(WorkloadConfiguration workConf) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTLoader.java index 3afd19fb2..2a9a5f241 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTLoader.java @@ -29,7 +29,7 @@ import java.util.List; import java.util.Random; -public class HYADAPTLoader extends Loader { +public final class HYADAPTLoader extends Loader { private final int num_record; private static final Random rand = new Random(); @@ -82,6 +82,7 @@ public void load(Connection conn) throws SQLException { total++; if (++batch >= workConf.getBatchSize()) { int[] result = stmt.executeBatch(); + assert result != null; batch = 0; LOG.info(String.format("Records Loaded %d / %d", total, num_record)); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTWorker.java index 0fab60e66..b82a9a61f 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/HYADAPTWorker.java @@ -31,7 +31,7 @@ import java.sql.SQLException; import java.util.HashMap; -public class HYADAPTWorker extends Worker { +public final class HYADAPTWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(HYADAPTWorker.class); private static CounterGenerator insertRecord; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord1.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord1.java index f879a1853..e141c3daf 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord1.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord1.java @@ -28,6 +28,7 @@ import java.sql.SQLException; public class MaxRecord1 extends Procedure { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(MaxRecord1.class); public final SQLStmt maxStmt = new SQLStmt( @@ -44,6 +45,7 @@ public void run(Connection conn, int keyname) throws SQLException { } } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord10.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord10.java index e4bd1422d..37bfd3377 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord10.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord10.java @@ -49,6 +49,7 @@ public void run(Connection conn, int keyname) throws SQLException { } } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord2.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord2.java index 08a5e03ea..2a0a3d227 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord2.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord2.java @@ -41,6 +41,7 @@ public void run(Connection conn, int keyname) throws SQLException { } } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord3.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord3.java index 18fcf9b2c..efca4788f 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord3.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord3.java @@ -41,6 +41,7 @@ public void run(Connection conn, int keyname) throws SQLException { max = r.getInt(1); } } + assert max != -1; } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord4.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord4.java index bb227a158..2061715fe 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord4.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord4.java @@ -43,6 +43,7 @@ public void run(Connection conn, int keyname) throws SQLException { } } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord5.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord5.java index 52766a812..b1f54d74b 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord5.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord5.java @@ -44,6 +44,7 @@ public void run(Connection conn, int keyname) throws SQLException { } } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord6.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord6.java index c56e9972d..bb2e3daa8 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord6.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord6.java @@ -44,6 +44,7 @@ public void run(Connection conn, int keyname) throws SQLException { max = r.getInt(1); } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord7.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord7.java index 3f2658c8c..3ae087a3f 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord7.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord7.java @@ -45,6 +45,7 @@ public void run(Connection conn, int keyname) throws SQLException { max = r.getInt(1); } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord8.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord8.java index 20bf5a396..e43881edc 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord8.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord8.java @@ -46,6 +46,7 @@ public void run(Connection conn, int keyname) throws SQLException { max = r.getInt(1); } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord9.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord9.java index 3f88cefa2..7099acfed 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord9.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/MaxRecord9.java @@ -47,6 +47,7 @@ public void run(Connection conn, int keyname) throws SQLException { max = r.getInt(1); } } + assert max != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord1.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord1.java index 52ac24689..372634d91 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord1.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord1.java @@ -41,6 +41,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord10.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord10.java index a3309bd23..a9730dec7 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord10.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord10.java @@ -48,6 +48,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord2.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord2.java index d62aaef5b..34d3b1765 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord2.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord2.java @@ -40,6 +40,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord3.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord3.java index 09e9e0bf9..b144da52a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord3.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord3.java @@ -41,6 +41,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord4.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord4.java index 3c0d2b868..bfef02bfa 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord4.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord4.java @@ -42,6 +42,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord5.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord5.java index b4a875cd3..30aa5f4fe 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord5.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord5.java @@ -43,6 +43,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord6.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord6.java index 0d7d54168..57ef98115 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord6.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord6.java @@ -44,6 +44,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord7.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord7.java index f2fb37b4d..310110eb0 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord7.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord7.java @@ -45,6 +45,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord8.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord8.java index 356e57678..e6c902d45 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord8.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord8.java @@ -46,6 +46,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord9.java b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord9.java index 44d2e2b70..9329ac523 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord9.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/hyadapt/procedures/SumRecord9.java @@ -47,6 +47,7 @@ public void run(Connection conn, int keyname) throws SQLException { sum = r.getInt(1); } } + assert sum != -1; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpBenchmark.java index 58c211095..9d0b502bd 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpBenchmark.java @@ -33,7 +33,7 @@ * @author pavlo * @author eric-haibin-lin */ -public class NoOpBenchmark extends BenchmarkModule { +public final class NoOpBenchmark extends BenchmarkModule { public NoOpBenchmark(WorkloadConfiguration workConf) { super(workConf); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpLoader.java index a9a2ce039..9e69074f8 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpLoader.java @@ -29,7 +29,7 @@ * @author pavlo * @author eric-haibin-lin */ -public class NoOpLoader extends Loader { +public final class NoOpLoader extends Loader { public NoOpLoader(NoOpBenchmark benchmark) { super(benchmark); } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpWorker.java index 2af31d0de..1fbee1442 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/noop/NoOpWorker.java @@ -31,7 +31,7 @@ * @author pavlo * @author eric-haibin-lin */ -public class NoOpWorker extends Worker { +public final class NoOpWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(NoOpWorker.class); private final NoOp procNoOp; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsBenchmark.java index 86e9cc42b..d129d43b1 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsBenchmark.java @@ -31,8 +31,8 @@ * OtterTune Metrics Timeseries Benchmark * @author pavlo */ -public class OTMetricsBenchmark extends BenchmarkModule { - +public final class OTMetricsBenchmark extends BenchmarkModule { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(OTMetricsBenchmark.class); protected final int num_sources; @@ -45,7 +45,7 @@ public OTMetricsBenchmark(WorkloadConfiguration workConf) { // Compute the number of records per table. this.num_sources = (int) Math.round(OTMetricsConstants.NUM_SOURCES * workConf.getScaleFactor()); this.num_sessions = (int) Math.round(OTMetricsConstants.NUM_SESSIONS * workConf.getScaleFactor()); - this.num_observations = (long) Math.round(OTMetricsConstants.NUM_OBSERVATIONS * workConf.getScaleFactor()); + this.num_observations = Math.round(OTMetricsConstants.NUM_OBSERVATIONS * workConf.getScaleFactor()); } @Override diff --git a/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsLoader.java index 5e9972991..f1a3a6de4 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsLoader.java @@ -38,7 +38,7 @@ * OtterTune Metrics Timeseries Benchmark * @author pavlo */ -public class OTMetricsLoader extends Loader { +public final class OTMetricsLoader extends Loader { public OTMetricsLoader(OTMetricsBenchmark benchmark) { super(benchmark); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsWorker.java index 202c82756..fe8936bc3 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/otmetrics/OTMetricsWorker.java @@ -34,7 +34,7 @@ * OtterTune Metrics Timeseries Benchmark * @author pavlo */ -public class OTMetricsWorker extends Worker { +public final class OTMetricsWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(OTMetricsWorker.class); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserBenchmark.java index ac17f3fca..86c79308b 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserBenchmark.java @@ -29,7 +29,7 @@ import java.util.ArrayList; import java.util.List; -public class ResourceStresserBenchmark extends BenchmarkModule { +public final class ResourceStresserBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(ResourceStresserBenchmark.class); public ResourceStresserBenchmark(WorkloadConfiguration workConf) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserLoader.java index cbd0c96ff..a39dc2f88 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserLoader.java @@ -29,7 +29,7 @@ import java.util.ArrayList; import java.util.List; -public class ResourceStresserLoader extends Loader { +public final class ResourceStresserLoader extends Loader { private final int numEmployees; @@ -97,6 +97,7 @@ private void loadTable(Connection conn, String tableName) throws SQLException { stmt.addBatch(); if (++batch >= workConf.getBatchSize()) { int[] result = stmt.executeBatch(); + assert result != null; batch = 0; if (LOG.isDebugEnabled()) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserWorker.java index 1e7e5da60..dffed7b8a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/ResourceStresserWorker.java @@ -28,7 +28,7 @@ import java.sql.SQLException; import java.util.Random; -public class ResourceStresserWorker extends Worker { +public final class ResourceStresserWorker extends Worker { public static final int CONTENTION1_howManyKeys = 10; public static final int CONTENTION1_howManyUpdates = 20; public static final int CONTENTION1_sleepLength = 1; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/CPU1.java b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/CPU1.java index 95fe70c49..2df497786 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/CPU1.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/CPU1.java @@ -53,6 +53,7 @@ public void run(Connection conn, int howManyPerTransaction, int sleepLength, int // TODO: Is this the right place to sleep? With rs open??? try (ResultSet rs = stmt.executeQuery()) { + assert rs != null; try { Thread.sleep(sleepLength); } catch (InterruptedException e) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/CPU2.java b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/CPU2.java index b6d515f12..194bb6279 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/CPU2.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/CPU2.java @@ -52,6 +52,7 @@ public void run(Connection conn, int howManyPerTransaction, int sleepLength, int // TODO: Is this the right place to sleep? With rs open??? try (ResultSet rs = stmt.executeQuery()) { + assert rs != null; try { Thread.sleep(sleepLength); } catch (InterruptedException e) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/IO2.java b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/IO2.java index 5a237ff88..ef9dae039 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/IO2.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/resourcestresser/procedures/IO2.java @@ -43,7 +43,7 @@ public void run(Connection conn, int myId, int howManyUpdatesPerTransaction, boo //int keyRange = (makeSureWorkerSetFitsInMemory ? 16777216 / 160 : 167772160 / 160); // FIXME int startingKey = myId * keyRange; - int lastKey = (myId + 1) * keyRange - 1; + //int lastKey = (myId + 1) * keyRange - 1; for (int up = 0; up < howManyUpdatesPerTransaction; ++up) { int key = ResourceStresserWorker.gen.nextInt(keyRange) + startingKey; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSBenchmark.java index b2ed1bb3e..35a032e5a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSBenchmark.java @@ -29,7 +29,7 @@ import java.util.ArrayList; import java.util.List; -public class SEATSBenchmark extends BenchmarkModule { +public final class SEATSBenchmark extends BenchmarkModule { private final RandomGenerator rng = new RandomGenerator((int) System.currentTimeMillis()); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSLoader.java index e474e4dd4..31b5e7226 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSLoader.java @@ -39,7 +39,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Matcher; -public class SEATSLoader extends Loader { +public final class SEATSLoader extends Loader { // ----------------------------------------------------------------- // INTERNAL DATA MEMBERS // ----------------------------------------------------------------- @@ -1268,7 +1268,7 @@ public FlightIterable(Table catalog_tbl, int days_past, int days_future) { private Timestamp convertTimeString(Timestamp base_date, String code) { Matcher m = SEATSConstants.TIMECODE_PATTERN.matcher(code); boolean result = m.find(); - + assert result; int hour = -1; try { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSProfile.java b/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSProfile.java index a7c986012..b58946bee 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSProfile.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSProfile.java @@ -210,7 +210,7 @@ protected final void saveProfile(Connection conn) throws SQLException { stmt.setObject(param_idx++, this.reservation_upcoming_offset); // CFP_RESERVATION_OFFSET stmt.setObject(param_idx++, this.num_reservations); // CFP_NUM_RESERVATIONS stmt.setObject(param_idx, JSONUtil.toJSONString(this.code_id_xref)); // CFP_CODE_ID_XREF - int result = stmt.executeUpdate(); + stmt.executeUpdate(); if (LOG.isDebugEnabled()) { LOG.debug("Saved profile information into {}", profileTable.getName()); @@ -226,7 +226,7 @@ protected final void saveProfile(Connection conn) throws SQLException { stmt.setObject(param_idx++, e.getKey()); // CFH_NAME stmt.setObject(param_idx++, e.getValue().toJSONString()); // CFH_DATA stmt.setObject(param_idx, 1); // CFH_IS_AIRPORT - int result = stmt.executeUpdate(); + stmt.executeUpdate(); } if (LOG.isDebugEnabled()) { @@ -238,7 +238,7 @@ protected final void saveProfile(Connection conn) throws SQLException { stmt.setObject(param_idx++, e.getKey()); // CFH_NAME stmt.setObject(param_idx++, e.getValue().toJSONString()); // CFH_DATA stmt.setObject(param_idx, 0); // CFH_IS_AIRPORT - int result = stmt.executeUpdate(); + stmt.executeUpdate(); } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSWorker.java index fd44ea3b8..afdced159 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/seats/SEATSWorker.java @@ -58,7 +58,7 @@ import java.sql.Timestamp; import java.util.*; -public class SEATSWorker extends Worker { +public final class SEATSWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(SEATSWorker.class); /** @@ -73,7 +73,9 @@ private enum Transaction { this.displayName = StringUtil.title(this.name().replace("_", " ")); } + @SuppressWarnings("unused") // never read public final Class proc_class; + public final String displayName; public final String execName; @@ -269,7 +271,7 @@ protected void initialize() { // Fire off a FindOpenSeats so that we can prime ourselves FindOpenSeats proc = this.getProcedure(FindOpenSeats.class); try (Connection conn = getBenchmark().makeConnection()) { - boolean ret = this.executeFindOpenSeats(conn, proc); + this.executeFindOpenSeats(conn, proc); } catch (SQLException ex) { throw new RuntimeException(ex); } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/seats/util/CustomerId.java b/src/main/java/com/oltpbenchmark/benchmarks/seats/util/CustomerId.java index 7b5ed86de..517737b0e 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/seats/util/CustomerId.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/seats/util/CustomerId.java @@ -23,7 +23,7 @@ import java.util.Comparator; import java.util.Objects; -public class CustomerId extends CompositeId implements Comparable { +public final class CustomerId extends CompositeId implements Comparable { private static final int[] COMPOSITE_BITS = { INT_MAX_DIGITS, // ID diff --git a/src/main/java/com/oltpbenchmark/benchmarks/seats/util/FlightId.java b/src/main/java/com/oltpbenchmark/benchmarks/seats/util/FlightId.java index c30e6172e..a749a7964 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/seats/util/FlightId.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/seats/util/FlightId.java @@ -25,7 +25,7 @@ import java.util.Comparator; import java.util.Objects; -public class FlightId extends CompositeId implements Comparable { +public final class FlightId extends CompositeId implements Comparable { private static final int[] COMPOSITE_BITS = { LONG_MAX_DIGITS, // AIRLINE_ID diff --git a/src/main/java/com/oltpbenchmark/benchmarks/sibench/SIBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/sibench/SIBenchmark.java index e0490b426..65930f06f 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/sibench/SIBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/sibench/SIBenchmark.java @@ -34,7 +34,7 @@ import java.util.ArrayList; import java.util.List; -public class SIBenchmark extends BenchmarkModule { +public final class SIBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(SIBenchmark.class); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/sibench/SILoader.java b/src/main/java/com/oltpbenchmark/benchmarks/sibench/SILoader.java index c13785291..22aa4bbfd 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/sibench/SILoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/sibench/SILoader.java @@ -29,7 +29,7 @@ import java.util.List; import java.util.Random; -public class SILoader extends Loader { +public final class SILoader extends Loader { private final int num_record; public SILoader(SIBenchmark benchmark) { @@ -77,7 +77,7 @@ private void loadSITest(Connection conn, int lo, int hi) throws SQLException { stmt.addBatch(); if (++batch >= workConf.getBatchSize()) { - int[] result = stmt.executeBatch(); + stmt.executeBatch(); batch = 0; } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/sibench/SIWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/sibench/SIWorker.java index 2bc394d27..e38144f8c 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/sibench/SIWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/sibench/SIWorker.java @@ -29,7 +29,7 @@ import java.sql.SQLException; import java.util.Random; -public class SIWorker extends Worker { +public final class SIWorker extends Worker { private static Random updateRecordIdGenerator = null; private final int recordCount; @@ -60,7 +60,7 @@ protected TransactionStatus executeWork(Connection conn, TransactionType nextTra private void minRecord(Connection conn) throws SQLException { MinRecord proc = this.getProcedure(MinRecord.class); - int minId = proc.run(conn); + proc.run(conn); } private void updateRecord(Connection conn) throws SQLException { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankBenchmark.java index 5e17ace12..998731a0e 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankBenchmark.java @@ -29,7 +29,7 @@ import java.util.ArrayList; import java.util.List; -public class SmallBankBenchmark extends BenchmarkModule { +public final class SmallBankBenchmark extends BenchmarkModule { protected final long numAccounts; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankLoader.java index 2bdde99a0..33026f87b 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankLoader.java @@ -35,7 +35,7 @@ * * @author pavlo */ -public class SmallBankLoader extends Loader { +public final class SmallBankLoader extends Loader { private final Table catalogAccts; private final Table catalogSavings; private final Table catalogChecking; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankWorker.java index fae17179e..407f6ef4c 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/SmallBankWorker.java @@ -38,7 +38,7 @@ * * @author pavlo */ -public class SmallBankWorker extends Worker { +public final class SmallBankWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(SmallBankWorker.class); private final Amalgamate procAmalgamate; @@ -58,7 +58,7 @@ public SmallBankWorker(SmallBankBenchmark benchmarkModule, int id) { super(benchmarkModule, id); // This is a minor speed-up to avoid having to invoke the hashmap look-up - // everytime we want to execute a txn. This is important to do on + // everytime we want to execute a txn. This is important to do on // a client machine with not a lot of cores this.procAmalgamate = this.getProcedure(Amalgamate.class); this.procBalance = this.getProcedure(Balance.class); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/Amalgamate.java b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/Amalgamate.java index 3aaefa57c..4f850caca 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/Amalgamate.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/Amalgamate.java @@ -44,7 +44,7 @@ public class Amalgamate extends Procedure { // 2013-05-05 // In the original version of the benchmark, this is suppose to be a look up - // on the customer's name. We don't have fast implementation of replicated + // on the customer's name. We don't have fast implementation of replicated // secondary indexes, so we'll just ignore that part for now. public final SQLStmt GetAccount = new SQLStmt( "SELECT * FROM " + SmallBankConstants.TABLENAME_ACCOUNTS + @@ -131,14 +131,13 @@ public void run(Connection conn, long custId0, long custId1) throws SQLException // assert(total >= 0); // Update Balance Information - int status; try (PreparedStatement updateStmt0 = this.getPreparedStatement(conn, ZeroCheckingBalance, custId0)) { - status = updateStmt0.executeUpdate(); + updateStmt0.executeUpdate(); } try (PreparedStatement updateStmt1 = this.getPreparedStatement(conn, UpdateSavingsBalance, total, custId1)) { - status = updateStmt1.executeUpdate(); + updateStmt1.executeUpdate(); } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/DepositChecking.java b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/DepositChecking.java index 87b406fa1..44264986e 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/DepositChecking.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/DepositChecking.java @@ -70,7 +70,7 @@ public void run(Connection conn, String custName, double amount) throws SQLExcep // Then update their checking balance try (PreparedStatement stmt1 = this.getPreparedStatement(conn, UpdateCheckingBalance, amount, custId)) { - int status = stmt1.executeUpdate(); + stmt1.executeUpdate(); } } } \ No newline at end of file diff --git a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/TransactSavings.java b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/TransactSavings.java index b4d3fcd45..5e397925a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/TransactSavings.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/TransactSavings.java @@ -98,7 +98,7 @@ public void run(Connection conn, String custName, double amount) throws SQLExcep // Then update their savings balance try (PreparedStatement stmt = this.getPreparedStatement(conn, UpdateSavingsBalance, amount, custId)) { - int status = stmt.executeUpdate(); + stmt.executeUpdate(); } } } \ No newline at end of file diff --git a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/WriteCheck.java b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/WriteCheck.java index 3cf747593..7bc12ff91 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/WriteCheck.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/smallbank/procedures/WriteCheck.java @@ -112,11 +112,11 @@ public void run(Connection conn, String custName, double amount) throws SQLExcep if (total < amount) { try (PreparedStatement updateStmt = this.getPreparedStatement(conn, UpdateCheckingBalance, amount - 1, custId)) { - int status = updateStmt.executeUpdate(); + updateStmt.executeUpdate(); } } else { try (PreparedStatement updateStmt = this.getPreparedStatement(conn, UpdateCheckingBalance, amount, custId)) { - int status = updateStmt.executeUpdate(); + updateStmt.executeUpdate(); } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPBenchmark.java index fd94d0487..6d94f78b8 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPBenchmark.java @@ -27,7 +27,7 @@ import java.util.ArrayList; import java.util.List; -public class TATPBenchmark extends BenchmarkModule { +public final class TATPBenchmark extends BenchmarkModule { public TATPBenchmark(WorkloadConfiguration workConf) { super(workConf); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPLoader.java index d6d50e993..14401fd34 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPLoader.java @@ -30,7 +30,7 @@ import java.util.List; import java.util.concurrent.CountDownLatch; -public class TATPLoader extends Loader { +public final class TATPLoader extends Loader { private final long subscriberSize; public TATPLoader(TATPBenchmark benchmark) { @@ -147,7 +147,7 @@ void genSubscriber(Connection conn, long lo, long hi) throws SQLException { if (LOG.isDebugEnabled()) { LOG.debug(String.format("%s: %6d / %d", catalog_tbl.getName(), total, subscriberSize)); } - int[] results = pstmt.executeBatch(); + pstmt.executeBatch(); batch = 0; } @@ -156,8 +156,7 @@ void genSubscriber(Connection conn, long lo, long hi) throws SQLException { if (LOG.isDebugEnabled()) { LOG.debug(String.format("%s: %6d / %d", catalog_tbl.getName(), total, subscriberSize)); } - int[] results = pstmt.executeBatch(); - + pstmt.executeBatch(); } } @@ -195,7 +194,7 @@ void genAccessInfo(Connection conn) throws SQLException { if (LOG.isDebugEnabled()) { LOG.debug(String.format("%s: %6d / %d", TATPConstants.TABLENAME_ACCESS_INFO, total, ai_types.length * subscriberSize)); } - int[] results = pstmt.executeBatch(); + pstmt.executeBatch(); batch = 0; } @@ -204,8 +203,7 @@ void genAccessInfo(Connection conn) throws SQLException { if (LOG.isDebugEnabled()) { LOG.debug(String.format("%s: %6d / %d", TATPConstants.TABLENAME_ACCESS_INFO, total, ai_types.length * subscriberSize)); } - int[] results = pstmt.executeBatch(); - + pstmt.executeBatch(); } } } @@ -273,13 +271,13 @@ void genSpeAndCal(Connection conn) throws SQLException { if (LOG.isDebugEnabled()) { LOG.debug(String.format("%s: %d (%s %d / %d)", TATPConstants.TABLENAME_SPECIAL_FACILITY, spe_total, TATPConstants.TABLENAME_SUBSCRIBER, s_id, subscriberSize)); } - int[] results = spe_pstmt.executeBatch(); + spe_pstmt.executeBatch(); if (cal_added) { if (LOG.isDebugEnabled()) { LOG.debug(String.format("%s: %d (%s %d / %d)", TATPConstants.TABLENAME_CALL_FORWARDING, cal_total, TATPConstants.TABLENAME_SUBSCRIBER, s_id, subscriberSize)); } - results = cal_pstmt.executeBatch(); + cal_pstmt.executeBatch(); cal_added = false; } @@ -291,13 +289,13 @@ void genSpeAndCal(Connection conn) throws SQLException { if (LOG.isDebugEnabled()) { LOG.debug(String.format("%s: %d", TATPConstants.TABLENAME_SPECIAL_FACILITY, spe_total)); } - int[] results = spe_pstmt.executeBatch(); + spe_pstmt.executeBatch(); if (cal_added) { if (LOG.isDebugEnabled()) { LOG.debug(String.format("%s: %d", TATPConstants.TABLENAME_CALL_FORWARDING, cal_total)); } - results = cal_pstmt.executeBatch(); + cal_pstmt.executeBatch(); cal_added = false; } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPWorker.java index b84a08392..d27f301a6 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tatp/TATPWorker.java @@ -33,7 +33,7 @@ import java.util.HashMap; import java.util.Map; -public class TATPWorker extends Worker { +public final class TATPWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(TATPWorker.class); /** diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetAccessData.java b/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetAccessData.java index 466391c7a..886dd0668 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetAccessData.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetAccessData.java @@ -39,7 +39,7 @@ public void run(Connection conn, long s_id, byte ai_type) throws SQLException { stmt.setLong(1, s_id); stmt.setByte(2, ai_type); try (ResultSet results = stmt.executeQuery()) { - + assert results != null; } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetNewDestination.java b/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetNewDestination.java index d0ea2dc94..ee9a833b5 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetNewDestination.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetNewDestination.java @@ -49,7 +49,7 @@ public void run(Connection conn, long s_id, byte sf_type, byte start_time, byte stmt.setByte(3, start_time); stmt.setByte(4, end_time); try (ResultSet results = stmt.executeQuery()) { - + assert results != null; } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetSubscriberData.java b/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetSubscriberData.java index 77fd0ec7c..a0c95144b 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetSubscriberData.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/GetSubscriberData.java @@ -35,7 +35,7 @@ public void run(Connection conn, long s_id) throws SQLException { try (PreparedStatement stmt = this.getPreparedStatement(conn, getSubscriber)) { stmt.setLong(1, s_id); try (ResultSet results = stmt.executeQuery()) { - + assert results != null; } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/InsertCallForwarding.java b/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/InsertCallForwarding.java index 0f21e0ef9..7239186a5 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/InsertCallForwarding.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tatp/procedures/InsertCallForwarding.java @@ -56,7 +56,7 @@ public long run(Connection conn, String sub_nbr, byte sf_type, byte start_time, try (PreparedStatement stmt = this.getPreparedStatement(conn, getSpecialFacility)) { stmt.setLong(1, s_id); try (ResultSet results = stmt.executeQuery()) { - + assert results != null; } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/templated/TemplatedBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/templated/TemplatedBenchmark.java index 01ed0ec91..2f5448f7a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/templated/TemplatedBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/templated/TemplatedBenchmark.java @@ -62,16 +62,17 @@ * about the structure of the expected template can be found in the local * readme file. */ -public class TemplatedBenchmark extends BenchmarkModule { +public final class TemplatedBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(TemplatedBenchmark.class); public TemplatedBenchmark(WorkloadConfiguration workConf) { super(workConf); + this.setClassLoader(); } @Override - protected void initClassLoader() { - super.initClassLoader(); + protected void setClassLoader() { + super.setClassLoader(); if (workConf != null && workConf.getXmlConfig().containsKey("query_templates_file")) { this.classLoader = this.loadQueryTemplates( diff --git a/src/main/java/com/oltpbenchmark/benchmarks/templated/TemplatedWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/templated/TemplatedWorker.java index c1fcdfc7e..4f2a5f0e4 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/templated/TemplatedWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/templated/TemplatedWorker.java @@ -28,7 +28,7 @@ import com.oltpbenchmark.api.Worker; import com.oltpbenchmark.types.TransactionStatus; -public class TemplatedWorker extends Worker { +public final class TemplatedWorker extends Worker { protected final Map, TraceTransactionGenerator> generators; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCBenchmark.java index 8bd162ffc..fdf8d7af5 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCBenchmark.java @@ -31,7 +31,7 @@ import java.util.Arrays; import java.util.List; -public class TPCCBenchmark extends BenchmarkModule { +public final class TPCCBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(TPCCBenchmark.class); public TPCCBenchmark(WorkloadConfiguration workConf) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java index daaabc7b7..f0c448533 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCLoader.java @@ -33,7 +33,7 @@ /** * TPC-C Benchmark Loader */ -public class TPCCLoader extends Loader { +public final class TPCCLoader extends Loader { private static final int FIRST_UNPROCESSED_O_ID = 2101; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCWorker.java index bd75874db..9cbb4643c 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/TPCCWorker.java @@ -30,7 +30,7 @@ import java.sql.SQLException; import java.util.Random; -public class TPCCWorker extends Worker { +public final class TPCCWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(TPCCWorker.class); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/District.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/District.java index 2b95eaeed..f60fce86e 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/District.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/District.java @@ -21,6 +21,7 @@ import java.io.Serializable; public class District implements Serializable { + static final long serialVersionUID = 0; public int d_id; public int d_w_id; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/NewOrder.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/NewOrder.java index 8f09c0ad9..2614bb881 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/NewOrder.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/NewOrder.java @@ -21,6 +21,7 @@ import java.io.Serializable; public class NewOrder implements Serializable { + private static final long serialVersionUID = 1L; public int no_w_id; public int no_d_id; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/Stock.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/Stock.java index acdd52686..fde832b1e 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/Stock.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/Stock.java @@ -21,6 +21,7 @@ import java.io.Serializable; public class Stock implements Serializable { + static final long serialVersionUID = 0; public int s_i_id; // PRIMARY KEY 2 public int s_w_id; // PRIMARY KEY 1 diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/Warehouse.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/Warehouse.java index 2f4b4b5ea..6e5a9d22e 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/Warehouse.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/pojo/Warehouse.java @@ -21,6 +21,7 @@ import java.io.Serializable; public class Warehouse implements Serializable { + static final long serialVersionUID = 0; public int w_id; // PRIMARY KEY public float w_ytd; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/OrderStatus.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/OrderStatus.java index 0dc158b69..7ab943e51 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/OrderStatus.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/OrderStatus.java @@ -40,17 +40,17 @@ public class OrderStatus extends TPCCProcedure { public SQLStmt ordStatGetNewestOrdSQL = new SQLStmt( """ - SELECT O_ID, O_CARRIER_ID, O_ENTRY_D + SELECT O_ID, O_CARRIER_ID, O_ENTRY_D FROM %s - WHERE O_W_ID = ? - AND O_D_ID = ? - AND O_C_ID = ? + WHERE O_W_ID = ? + AND O_D_ID = ? + AND O_C_ID = ? ORDER BY O_ID DESC LIMIT 1 """.formatted(TPCCConstants.TABLENAME_OPENORDER)); public SQLStmt ordStatGetOrderLinesSQL = new SQLStmt( """ - SELECT OL_I_ID, OL_SUPPLY_W_ID, OL_QUANTITY, OL_AMOUNT, OL_DELIVERY_D + SELECT OL_I_ID, OL_SUPPLY_W_ID, OL_QUANTITY, OL_AMOUNT, OL_DELIVERY_D FROM %s WHERE OL_O_ID = ? AND OL_D_ID = ? @@ -59,24 +59,24 @@ public class OrderStatus extends TPCCProcedure { public SQLStmt payGetCustSQL = new SQLStmt( """ - SELECT C_FIRST, C_MIDDLE, C_LAST, C_STREET_1, C_STREET_2, - C_CITY, C_STATE, C_ZIP, C_PHONE, C_CREDIT, C_CREDIT_LIM, - C_DISCOUNT, C_BALANCE, C_YTD_PAYMENT, C_PAYMENT_CNT, C_SINCE + SELECT C_FIRST, C_MIDDLE, C_LAST, C_STREET_1, C_STREET_2, + C_CITY, C_STATE, C_ZIP, C_PHONE, C_CREDIT, C_CREDIT_LIM, + C_DISCOUNT, C_BALANCE, C_YTD_PAYMENT, C_PAYMENT_CNT, C_SINCE FROM %s - WHERE C_W_ID = ? - AND C_D_ID = ? + WHERE C_W_ID = ? + AND C_D_ID = ? AND C_ID = ? """.formatted(TPCCConstants.TABLENAME_CUSTOMER)); public SQLStmt customerByNameSQL = new SQLStmt( """ - SELECT C_FIRST, C_MIDDLE, C_ID, C_STREET_1, C_STREET_2, C_CITY, - C_STATE, C_ZIP, C_PHONE, C_CREDIT, C_CREDIT_LIM, C_DISCOUNT, - C_BALANCE, C_YTD_PAYMENT, C_PAYMENT_CNT, C_SINCE + SELECT C_FIRST, C_MIDDLE, C_ID, C_STREET_1, C_STREET_2, C_CITY, + C_STATE, C_ZIP, C_PHONE, C_CREDIT, C_CREDIT_LIM, C_DISCOUNT, + C_BALANCE, C_YTD_PAYMENT, C_PAYMENT_CNT, C_SINCE FROM %s - WHERE C_W_ID = ? - AND C_D_ID = ? - AND C_LAST = ? + WHERE C_W_ID = ? + AND C_D_ID = ? + AND C_LAST = ? ORDER BY C_FIRST """.formatted(TPCCConstants.TABLENAME_CUSTOMER)); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/Payment.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/Payment.java index 2a55c6d5c..1531a87eb 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/Payment.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/Payment.java @@ -41,7 +41,7 @@ public class Payment extends TPCCProcedure { """ UPDATE %s SET W_YTD = W_YTD + ? - WHERE W_ID = ? + WHERE W_ID = ? """.formatted(TPCCConstants.TABLENAME_WAREHOUSE)); public SQLStmt payGetWhseSQL = new SQLStmt( diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/StockLevel.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/StockLevel.java index ca5f836b4..307014450 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/StockLevel.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcc/procedures/StockLevel.java @@ -36,15 +36,15 @@ public class StockLevel extends TPCCProcedure { public SQLStmt stockGetDistOrderIdSQL = new SQLStmt( """ - SELECT D_NEXT_O_ID + SELECT D_NEXT_O_ID FROM %s - WHERE D_W_ID = ? + WHERE D_W_ID = ? AND D_ID = ? """.formatted(TPCCConstants.TABLENAME_DISTRICT)); public SQLStmt stockGetCountStockSQL = new SQLStmt( """ - SELECT COUNT(DISTINCT (S_I_ID)) AS STOCK_COUNT + SELECT COUNT(DISTINCT (S_I_ID)) AS STOCK_COUNT FROM %s, %s WHERE OL_W_ID = ? AND OL_D_ID = ? diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSBenchmark.java index 0ad4d34ea..66d3b1b26 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSBenchmark.java @@ -28,7 +28,7 @@ import java.util.ArrayList; import java.util.List; -public class TPCDSBenchmark extends BenchmarkModule { +public final class TPCDSBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(TPCDSBenchmark.class); public TPCDSBenchmark(WorkloadConfiguration workConf) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSLoader.java index ff927eaf9..770469c39 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSLoader.java @@ -34,7 +34,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -public class TPCDSLoader extends Loader { +public final class TPCDSLoader extends Loader { public TPCDSLoader(TPCDSBenchmark benchmark) { super(benchmark); } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSWorker.java index 76b1d3e72..6216e76f1 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpcds/TPCDSWorker.java @@ -25,7 +25,7 @@ import java.sql.Connection; -public class TPCDSWorker extends Worker { +public final class TPCDSWorker extends Worker { public TPCDSWorker(TPCDSBenchmark benchmarkModule, int id) { super(benchmarkModule, id); } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHBenchmark.java index e1eeeb016..36a680c44 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHBenchmark.java @@ -36,7 +36,7 @@ import java.util.ArrayList; import java.util.List; -public class TPCHBenchmark extends BenchmarkModule { +public final class TPCHBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(TPCHBenchmark.class); public TPCHBenchmark(WorkloadConfiguration workConf) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHLoader.java index 919ea10cd..81b64ea29 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHLoader.java @@ -44,7 +44,7 @@ import java.util.List; import java.util.concurrent.CountDownLatch; -public class TPCHLoader extends Loader { +public final class TPCHLoader extends Loader { public TPCHLoader(TPCHBenchmark benchmark) { super(benchmark); } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHWorker.java index fa26f8e32..9c115c93a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpch/TPCHWorker.java @@ -27,7 +27,7 @@ import java.sql.Connection; import java.sql.SQLException; -public class TPCHWorker extends Worker { +public final class TPCHWorker extends Worker { private final RandomGenerator rand; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/Distribution.java b/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/Distribution.java index 18f23dc6c..6f89a721a 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/Distribution.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/Distribution.java @@ -1,6 +1,6 @@ /* * Copyright 2020 Trino - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -25,7 +25,9 @@ import static java.util.Objects.requireNonNull; public class Distribution { + @SuppressWarnings("unused") // never read private final String name; + private final List values; private final int[] weights; private final String[] distribution; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/GenerateUtils.java b/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/GenerateUtils.java index d1ff5bb98..4aa209165 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/GenerateUtils.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/GenerateUtils.java @@ -1,6 +1,6 @@ /* * Copyright 2020 Trino - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -21,7 +21,6 @@ import java.util.Calendar; import java.sql.Date; -import static java.util.Locale.ENGLISH; public final class GenerateUtils { private GenerateUtils() { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/TextPoolGenerator.java b/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/TextPoolGenerator.java index ff3d3c5cf..66de3482c 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/TextPoolGenerator.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/tpch/util/TextPoolGenerator.java @@ -1,6 +1,6 @@ /* * Copyright 2020 Trino - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -16,7 +16,6 @@ package com.oltpbenchmark.benchmarks.tpch.util; import com.oltpbenchmark.util.StringUtil; -import com.oltpbenchmark.util.RowRandomBoundedInt; import com.oltpbenchmark.util.RowRandomInt; import java.util.List; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterBenchmark.java index bda1c6386..f48cd7821 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterBenchmark.java @@ -34,7 +34,7 @@ import java.util.ArrayList; import java.util.List; -public class TwitterBenchmark extends BenchmarkModule { +public final class TwitterBenchmark extends BenchmarkModule { private final TwitterConfiguration twitterConf; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterLoader.java index 9c2d7a1a6..7e0d80311 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterLoader.java @@ -35,7 +35,7 @@ import java.util.List; import java.util.concurrent.CountDownLatch; -public class TwitterLoader extends Loader { +public final class TwitterLoader extends Loader { private final int num_users; private final long num_tweets; private final int num_follows; @@ -169,7 +169,7 @@ protected void loadUsers(Connection conn, int lo, int hi) throws SQLException { batchSize++; total++; if ((batchSize % workConf.getBatchSize()) == 0) { - int[] result = userInsert.executeBatch(); + userInsert.executeBatch(); userInsert.clearBatch(); batchSize = 0; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterWorker.java index cb4609563..5f08756e8 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/TwitterWorker.java @@ -33,7 +33,7 @@ import java.sql.SQLException; import java.sql.Time; -public class TwitterWorker extends Worker { +public final class TwitterWorker extends Worker { private final TransactionGenerator generator; private final FlatHistogram tweet_len_rng; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetFollowers.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetFollowers.java index 12eb175f9..93fad32ab 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetFollowers.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetFollowers.java @@ -52,12 +52,13 @@ public void run(Connection conn, long uid) throws SQLException { getFollowerNamesstmt.setLong(ctr, last); } try (ResultSet getFollowerNamesrs = getFollowerNamesstmt.executeQuery()) { + assert getFollowerNamesrs != null; } } } } } - // LOG.warn("No followers for user : "+uid); //... so what ? + // LOG.warn("No followers for user : "+uid); //... so what ? } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetTweet.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetTweet.java index 8c94295d8..ae72db178 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetTweet.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetTweet.java @@ -36,6 +36,7 @@ public void run(Connection conn, long tweet_id) throws SQLException { try (PreparedStatement stmt = this.getPreparedStatement(conn, getTweet)) { stmt.setLong(1, tweet_id); try (ResultSet rs = stmt.executeQuery()) { + assert rs != null; } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetTweetsFromFollowing.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetTweetsFromFollowing.java index d29492dce..c726ab571 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetTweetsFromFollowing.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetTweetsFromFollowing.java @@ -54,6 +54,7 @@ public void run(Connection conn, int uid) throws SQLException { stmt.setLong(ctr, last); } try (ResultSet getTweetsResult = stmt.executeQuery()) { + assert getTweetsResult != null; } } else { // LOG.debug("No followers for user: "+uid); // so what .. ? diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetUserTweets.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetUserTweets.java index 6815f4095..cd5e633c2 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetUserTweets.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/procedures/GetUserTweets.java @@ -34,6 +34,7 @@ public void run(Connection conn, long uid) throws SQLException { try (PreparedStatement stmt = this.getPreparedStatement(conn, getTweets)) { stmt.setLong(1, uid); try (ResultSet rs = stmt.executeQuery()) { + assert rs != null; } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/util/NameHistogram.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/util/NameHistogram.java index 8f897b08c..ddeb3cedb 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/util/NameHistogram.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/util/NameHistogram.java @@ -25,7 +25,8 @@ * * @author pavlo */ -public class NameHistogram extends Histogram { +public final class NameHistogram extends Histogram { + private static final long serialVersionUID = 0L; { this.put(1, 2); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/twitter/util/TweetHistogram.java b/src/main/java/com/oltpbenchmark/benchmarks/twitter/util/TweetHistogram.java index 525bf8173..7740c30c7 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/twitter/util/TweetHistogram.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/twitter/util/TweetHistogram.java @@ -28,7 +28,8 @@ * * @author pavlo */ -public class TweetHistogram extends Histogram { +public final class TweetHistogram extends Histogram { + private static final long serialVersionUID = 0L; { this.put(4, 2); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterBenchmark.java index 04dfc93b6..521caa0d5 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterBenchmark.java @@ -26,7 +26,7 @@ import java.util.ArrayList; import java.util.List; -public class VoterBenchmark extends BenchmarkModule { +public final class VoterBenchmark extends BenchmarkModule { public final int numContestants; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterLoader.java index 04b3ef9e5..f5d486f27 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterLoader.java @@ -28,7 +28,7 @@ import java.util.ArrayList; import java.util.List; -public class VoterLoader extends Loader { +public final class VoterLoader extends Loader { public VoterLoader(VoterBenchmark benchmark) { super(benchmark); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterWorker.java index 658bd1196..c82a6f90b 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/voter/VoterWorker.java @@ -28,7 +28,7 @@ import java.sql.Connection; import java.sql.SQLException; -public class VoterWorker extends Worker { +public final class VoterWorker extends Worker { private final PhoneCallGenerator switchboard; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaBenchmark.java index 18ea0e70c..bb6c597a3 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaBenchmark.java @@ -23,7 +23,7 @@ import com.oltpbenchmark.api.Worker; import com.oltpbenchmark.benchmarks.wikipedia.data.RevisionHistograms; import com.oltpbenchmark.benchmarks.wikipedia.procedures.AddWatchList; -import com.oltpbenchmark.util.RandomDistribution.FlatHistogram; +import com.oltpbenchmark.util.RandomDistribution.IntegerFlatHistogram; import com.oltpbenchmark.util.TextGenerator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,25 +31,24 @@ import java.util.ArrayList; import java.util.List; -public class WikipediaBenchmark extends BenchmarkModule { +public final class WikipediaBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(WikipediaBenchmark.class); - protected final FlatHistogram commentLength; - protected final FlatHistogram minorEdit; - private final FlatHistogram[] revisionDeltas; + protected final IntegerFlatHistogram commentLength; + protected final IntegerFlatHistogram minorEdit; + private final IntegerFlatHistogram[] revisionDeltas; protected final int num_users; protected final int num_pages; - @SuppressWarnings("unchecked") public WikipediaBenchmark(WorkloadConfiguration workConf) { super(workConf); - this.commentLength = new FlatHistogram<>(this.rng(), RevisionHistograms.COMMENT_LENGTH); - this.minorEdit = new FlatHistogram<>(this.rng(), RevisionHistograms.MINOR_EDIT); - this.revisionDeltas = new FlatHistogram[RevisionHistograms.REVISION_DELTA_SIZES.length]; + this.commentLength = new IntegerFlatHistogram(this.rng(), RevisionHistograms.COMMENT_LENGTH); + this.minorEdit = new IntegerFlatHistogram(this.rng(), RevisionHistograms.MINOR_EDIT); + this.revisionDeltas = new IntegerFlatHistogram[RevisionHistograms.REVISION_DELTA_SIZES.length]; for (int i = 0; i < this.revisionDeltas.length; i++) { - this.revisionDeltas[i] = new FlatHistogram<>(this.rng(), RevisionHistograms.REVISION_DELTAS[i]); + this.revisionDeltas[i] = new IntegerFlatHistogram(this.rng(), RevisionHistograms.REVISION_DELTAS[i]); } this.num_users = (int) Math.ceil(WikipediaConstants.USERS * this.getWorkloadConfiguration().getScaleFactor()); @@ -72,7 +71,7 @@ protected char[] generateRevisionText(char[] orig_text) { // Where is your god now? // There is probably some sort of minimal size that we should adhere to, // but it's 12:30am and I simply don't feel like dealing with that now - FlatHistogram h = null; + IntegerFlatHistogram h = null; for (int i = 0; i < this.revisionDeltas.length - 1; i++) { if (orig_text.length <= RevisionHistograms.REVISION_DELTA_SIZES[i]) { h = this.revisionDeltas[i]; diff --git a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaLoader.java index fe2ead717..b3c895127 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaLoader.java @@ -45,7 +45,7 @@ * @author pavlo * @author djellel */ -public class WikipediaLoader extends Loader { +public final class WikipediaLoader extends Loader { /** * UserId -> # of Revisions diff --git a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaWorker.java index 73e2ac67d..90193675b 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/WikipediaWorker.java @@ -36,7 +36,7 @@ import java.util.HashSet; import java.util.Set; -public class WikipediaWorker extends Worker { +public final class WikipediaWorker extends Worker { private static final Logger LOG = LoggerFactory.getLogger(WikipediaWorker.class); private Set addedWatchlistPages = new HashSet<>(); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/data/RevisionHistograms.java b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/data/RevisionHistograms.java index 17c28eb18..9712a51ef 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/data/RevisionHistograms.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/data/RevisionHistograms.java @@ -290,12 +290,18 @@ public abstract class RevisionHistograms { */ public static final int[] REVISION_DELTA_SIZES = {1000, 10000, 100000}; + /** + * Simple generic class overload to avoid some cast warnings below. + */ + public static class IntHistogram extends Histogram { + private static final long serialVersionUID = 0L; + } + /** * */ - @SuppressWarnings("unchecked") - public static final Histogram[] REVISION_DELTAS = (Histogram[]) new Histogram[]{ - new Histogram() { + public static final IntHistogram[] REVISION_DELTAS = new IntHistogram[]{ + new IntHistogram() { { this.put(-1000, 237); this.put(-900, 237); @@ -499,7 +505,7 @@ public abstract class RevisionHistograms { this.put(100000, 4); } }, - new Histogram() { + new IntHistogram() { { this.put(-10000, 15); this.put(-9900, 19); @@ -776,7 +782,7 @@ public abstract class RevisionHistograms { this.put(100000, 1); } }, - new Histogram() { + new IntHistogram() { { this.put(-985000, 1); this.put(-982000, 1); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/GetPageAnonymous.java b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/GetPageAnonymous.java index abf7be623..bd4a4648d 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/GetPageAnonymous.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/GetPageAnonymous.java @@ -32,6 +32,7 @@ import java.sql.SQLException; public class GetPageAnonymous extends Procedure { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(GetPageAnonymous.class); // ----------------------------------------------------------------- diff --git a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/GetPageAuthenticated.java b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/GetPageAuthenticated.java index 9fc2a99ff..43f4701d4 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/GetPageAuthenticated.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/GetPageAuthenticated.java @@ -97,6 +97,7 @@ public Article run(Connection conn, boolean forSelect, String userIp, int userId try (ResultSet rs = st.executeQuery()) { while (rs.next()) { String userGroupName = rs.getString(1); + assert userGroupName != null; } } } @@ -122,7 +123,7 @@ public Article run(Connection conn, boolean forSelect, String userIp, int userId try (ResultSet rs = st.executeQuery()) { while (rs.next()) { byte[] pr_type = rs.getBytes(1); - + assert pr_type != null; } } } @@ -134,7 +135,7 @@ public Article run(Connection conn, boolean forSelect, String userIp, int userId try (ResultSet rs = st.executeQuery()) { while (rs.next()) { byte[] ipb_expiry = rs.getBytes(11); - + assert ipb_expiry != null; } } } diff --git a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/UpdatePage.java b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/UpdatePage.java index 1cfa61319..bf0cee39f 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/UpdatePage.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/wikipedia/procedures/UpdatePage.java @@ -32,6 +32,7 @@ import java.util.ArrayList; public class UpdatePage extends Procedure { + @SuppressWarnings("unused") private static final Logger LOG = LoggerFactory.getLogger(UpdatePage.class); // ----------------------------------------------------------------- diff --git a/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBBenchmark.java index 155e087eb..7a472c3ab 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBBenchmark.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBBenchmark.java @@ -34,7 +34,7 @@ import java.util.ArrayList; import java.util.List; -public class YCSBBenchmark extends BenchmarkModule { +public final class YCSBBenchmark extends BenchmarkModule { private static final Logger LOG = LoggerFactory.getLogger(YCSBBenchmark.class); diff --git a/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBLoader.java index e83e17e78..707874ae5 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBLoader.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBLoader.java @@ -77,7 +77,7 @@ private void loadRecords(Connection conn, int start, int stop) throws SQLExcepti stmt.addBatch(); total++; if (++batch >= workConf.getBatchSize()) { - int[] result = stmt.executeBatch(); + stmt.executeBatch(); batch = 0; if (LOG.isDebugEnabled()) { diff --git a/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBWorker.java index 25c834fa9..1d2ba38c6 100644 --- a/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBWorker.java +++ b/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBWorker.java @@ -30,7 +30,6 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; -import java.util.Random; /** * YCSBWorker Implementation @@ -69,7 +68,7 @@ public YCSBWorker(YCSBBenchmark benchmarkModule, int id, int init_record_count) } // This is a minor speed-up to avoid having to invoke the hashmap look-up - // everytime we want to execute a txn. This is important to do on + // everytime we want to execute a txn. This is important to do on // a client machine with not a lot of cores this.procUpdateRecord = this.getProcedure(UpdateRecord.class); this.procScanRecord = this.getProcedure(ScanRecord.class); diff --git a/src/main/java/com/oltpbenchmark/catalog/HSQLDBCatalog.java b/src/main/java/com/oltpbenchmark/catalog/HSQLDBCatalog.java index 969dbbbde..876dcf530 100644 --- a/src/main/java/com/oltpbenchmark/catalog/HSQLDBCatalog.java +++ b/src/main/java/com/oltpbenchmark/catalog/HSQLDBCatalog.java @@ -15,7 +15,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -public class HSQLDBCatalog implements AbstractCatalog { +public final class HSQLDBCatalog implements AbstractCatalog { private static final String DB_CONNECTION = "jdbc:hsqldb:mem:"; private static final String DB_JDBC = "org.hsqldb.jdbcDriver"; @@ -93,6 +93,7 @@ private void init() throws SQLException, IOException { while (colRS.next()) { String colName = colRS.getString(4); int colType = colRS.getInt(5); + @SuppressWarnings("unused") String colTypeName = colRS.getString(6); Integer colSize = colRS.getInt(7); boolean colNullable = colRS.getString(18).equalsIgnoreCase("YES"); diff --git a/src/main/java/com/oltpbenchmark/catalog/Index.java b/src/main/java/com/oltpbenchmark/catalog/Index.java index e0b2bc5c0..e5f2118d0 100644 --- a/src/main/java/com/oltpbenchmark/catalog/Index.java +++ b/src/main/java/com/oltpbenchmark/catalog/Index.java @@ -28,11 +28,13 @@ public class Index extends AbstractCatalogObject { private static final long serialVersionUID = 1L; private final Table table; - private final SortedMap columns = new TreeMap<>(); + private final TreeMap columns = new TreeMap<>(); private final int type; private final boolean unique; static class IndexColumn implements Serializable { + static final long serialVersionUID = 0; + private final String name; private final SortDirectionType dir; diff --git a/src/main/java/com/oltpbenchmark/catalog/Table.java b/src/main/java/com/oltpbenchmark/catalog/Table.java index 8e545eb20..587ff3cd3 100644 --- a/src/main/java/com/oltpbenchmark/catalog/Table.java +++ b/src/main/java/com/oltpbenchmark/catalog/Table.java @@ -34,8 +34,8 @@ public class Table extends AbstractCatalogObject { private static final long serialVersionUID = 1L; - private final List columns = new ArrayList<>(); - private final List indexes = new ArrayList<>(); + private final ArrayList columns = new ArrayList<>(); + private final ArrayList indexes = new ArrayList<>(); public Table(String name, String separator) { super(name, separator); diff --git a/src/main/java/com/oltpbenchmark/distributions/CounterGenerator.java b/src/main/java/com/oltpbenchmark/distributions/CounterGenerator.java index bd1cb5d42..bbcadf452 100644 --- a/src/main/java/com/oltpbenchmark/distributions/CounterGenerator.java +++ b/src/main/java/com/oltpbenchmark/distributions/CounterGenerator.java @@ -23,7 +23,7 @@ /** * Generates a sequence of integers 0, 1, ... */ -public class CounterGenerator extends IntegerGenerator { +public final class CounterGenerator extends IntegerGenerator { final AtomicInteger counter; /** diff --git a/src/main/java/com/oltpbenchmark/distributions/ZipfianGenerator.java b/src/main/java/com/oltpbenchmark/distributions/ZipfianGenerator.java index 5697d4532..11961f8ec 100644 --- a/src/main/java/com/oltpbenchmark/distributions/ZipfianGenerator.java +++ b/src/main/java/com/oltpbenchmark/distributions/ZipfianGenerator.java @@ -40,7 +40,7 @@ *

* The algorithm used here is from "Quickly Generating Billion-Record Synthetic Databases", Jim Gray et al, SIGMOD 1994. */ -public class ZipfianGenerator extends IntegerGenerator { +public final class ZipfianGenerator extends IntegerGenerator { public static final double ZIPFIAN_CONSTANT = 0.99; private static final Logger LOG = LoggerFactory.getLogger(ZipfianGenerator.class); diff --git a/src/main/java/com/oltpbenchmark/util/ClassUtil.java b/src/main/java/com/oltpbenchmark/util/ClassUtil.java index 9963b6a33..80a00933f 100644 --- a/src/main/java/com/oltpbenchmark/util/ClassUtil.java +++ b/src/main/java/com/oltpbenchmark/util/ClassUtil.java @@ -150,6 +150,7 @@ public static Constructor getConstructor(Class target_class, Class. LOG.debug("TARGET PARAMS: {}", Arrays.toString(params)); } + @SuppressWarnings("rawtypes") List>[] paramSuper = (List>[]) new List[params.length]; for (int i = 0; i < params.length; i++) { paramSuper[i] = ClassUtil.getSuperClasses(params[i]); diff --git a/src/main/java/com/oltpbenchmark/util/Histogram.java b/src/main/java/com/oltpbenchmark/util/Histogram.java index 9abc35243..d3c246c51 100644 --- a/src/main/java/com/oltpbenchmark/util/Histogram.java +++ b/src/main/java/com/oltpbenchmark/util/Histogram.java @@ -38,6 +38,8 @@ public class Histogram> implements JSONSerializable { private static final Logger LOG = LoggerFactory.getLogger(Histogram.class); + private static final long serialVersionUID = 0L; + private static final String MARKER = "*"; private static final Integer MAX_CHARS = 80; private static final Integer MAX_VALUE_LENGTH = 80; @@ -49,7 +51,7 @@ public enum Members { KEEP_ZERO_ENTRIES, } - protected final SortedMap histogram = new TreeMap<>(); + protected final TreeMap histogram = new TreeMap<>(); protected int num_samples = 0; private transient boolean dirty = false; @@ -62,17 +64,19 @@ public enum Members { * The Min/Max values are the smallest/greatest values we have seen based * on some natural ordering */ - protected Comparable min_value; - protected Comparable max_value; + // Note: marked as transient to avoid serialization warnings due to missing + // explicit Serializable interface on base types like X == Integer + protected transient Comparable min_value; + protected transient Comparable max_value; /** * The Min/Max counts are the values that have the smallest/greatest number of * occurences in the histogram */ protected int min_count = 0; - protected List min_count_values; + protected ArrayList min_count_values; protected int max_count = 0; - protected List max_count_values; + protected ArrayList max_count_values; /** * A switchable flag that determines whether non-zero entries are kept or removed @@ -173,7 +177,7 @@ private synchronized void calculateInternalValues() { } // New Min/Max Counts - // The reason we have to loop through and check every time is that our + // The reason we have to loop through and check every time is that our // value may be the current min/max count and thus it may or may not still // be after the count is changed this.max_count = 0; diff --git a/src/main/java/com/oltpbenchmark/util/JSONSerializable.java b/src/main/java/com/oltpbenchmark/util/JSONSerializable.java index e43b22f5e..332208d4f 100644 --- a/src/main/java/com/oltpbenchmark/util/JSONSerializable.java +++ b/src/main/java/com/oltpbenchmark/util/JSONSerializable.java @@ -23,8 +23,9 @@ import org.json.JSONStringer; import java.io.IOException; +import java.io.Serializable; -public interface JSONSerializable extends JSONString { +public interface JSONSerializable extends JSONString, Serializable { void save(String output_path) throws IOException; void load(String input_path) throws IOException; diff --git a/src/main/java/com/oltpbenchmark/util/JSONUtil.java b/src/main/java/com/oltpbenchmark/util/JSONUtil.java index 81ea84beb..ae6619c79 100644 --- a/src/main/java/com/oltpbenchmark/util/JSONUtil.java +++ b/src/main/java/com/oltpbenchmark/util/JSONUtil.java @@ -313,7 +313,7 @@ public static void writeFieldValue(JSONStringer stringer, Class field_class, * @param inner_classes * @throws Exception */ - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "rawtypes"}) protected static void readMapField(final JSONObject json_object, final Map map, final Stack inner_classes) throws Exception { Class key_class = inner_classes.pop(); Class val_class = inner_classes.pop(); @@ -359,10 +359,10 @@ protected static void readMapField(final JSONObject json_object, final Map map, * @param inner_classes * @throws Exception */ - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "rawtypes"}) protected static void readCollectionField(final JSONArray json_array, final Collection collection, final Stack inner_classes) throws Exception { // We need to figure out what the inner type of the collection is - // If it's a Collection or a Map, then we need to instantiate it before + // If it's a Collection or a Map, then we need to instantiate it before // we can call readFieldValue() again for it. Class inner_class = inner_classes.pop(); Collection> inner_interfaces = ClassUtil.getInterfaces(inner_class); @@ -404,7 +404,7 @@ protected static void readCollectionField(final JSONArray json_array, final Coll * @param object * @throws Exception */ - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public static void readFieldValue(final JSONObject json_object, final String json_key, Field field_handle, Object object) throws Exception { Class field_class = field_handle.getType(); diff --git a/src/main/java/com/oltpbenchmark/util/RandomDistribution.java b/src/main/java/com/oltpbenchmark/util/RandomDistribution.java index b77000294..559ce67f6 100644 --- a/src/main/java/com/oltpbenchmark/util/RandomDistribution.java +++ b/src/main/java/com/oltpbenchmark/util/RandomDistribution.java @@ -184,7 +184,7 @@ protected long nextLongImpl() { public static class FlatHistogram> extends DiscreteRNG { private static final long serialVersionUID = 1L; private final Flat inner; - private final SortedMap value_rle = new TreeMap<>(); + private final TreeMap value_rle = new TreeMap<>(); private Histogram history; /** @@ -240,6 +240,17 @@ protected long nextLongImpl() { } } + /** + * Simple generic class overload to avoid some cast warnings below. + */ + public static class IntegerFlatHistogram extends FlatHistogram { + // Required serialization field. + private static final long serialVersionUID = 1L; + public IntegerFlatHistogram(Random random, Histogram histogram) { + super(random, histogram); + } + } + /** * Gaussian Distribution */ diff --git a/src/main/java/com/oltpbenchmark/util/RandomGenerator.java b/src/main/java/com/oltpbenchmark/util/RandomGenerator.java index e25e526b0..3e1fa627f 100644 --- a/src/main/java/com/oltpbenchmark/util/RandomGenerator.java +++ b/src/main/java/com/oltpbenchmark/util/RandomGenerator.java @@ -21,6 +21,7 @@ import java.util.Random; public class RandomGenerator extends Random { + static final long serialVersionUID = 0; /** * Constructor diff --git a/src/main/java/com/oltpbenchmark/util/StringUtil.java b/src/main/java/com/oltpbenchmark/util/StringUtil.java index 459515f5f..263d08384 100644 --- a/src/main/java/com/oltpbenchmark/util/StringUtil.java +++ b/src/main/java/com/oltpbenchmark/util/StringUtil.java @@ -102,7 +102,6 @@ public static String formatMaps(Map... maps) { * @param maps * @return */ - @SuppressWarnings("unchecked") public static String formatMaps(String delimiter, boolean upper, boolean box, boolean border_top, boolean border_bottom, boolean recursive, boolean first_element_title, Map... maps) { boolean need_divider = (maps.length > 1 || border_bottom || border_top); @@ -110,6 +109,7 @@ public static String formatMaps(String delimiter, boolean upper, boolean box, bo // Figure out the largest key size so we can get spacing right int max_key_size = 0; int max_title_size = 0; + @SuppressWarnings({"unchecked", "rawtypes"}) final Map[] map_keys = (Map[]) new Map[maps.length]; final boolean[] map_titles = new boolean[maps.length]; for (int i = 0; i < maps.length; i++) { diff --git a/src/main/java/com/oltpbenchmark/util/TableDataIterable.java b/src/main/java/com/oltpbenchmark/util/TableDataIterable.java index d1cb8c4ef..80019099d 100644 --- a/src/main/java/com/oltpbenchmark/util/TableDataIterable.java +++ b/src/main/java/com/oltpbenchmark/util/TableDataIterable.java @@ -24,6 +24,7 @@ import java.io.InputStream; import java.io.InputStreamReader; +import java.io.IOException; import java.util.Iterator; /** @@ -80,7 +81,7 @@ public Iterator iterator() { } @Override - public void close() throws Exception { + public void close() throws IOException { if (this.in != null) { in.close(); } diff --git a/src/test/java/com/oltpbenchmark/api/AbstractTestCase.java b/src/test/java/com/oltpbenchmark/api/AbstractTestCase.java index 479f9a9ca..5f7f2fcd8 100644 --- a/src/test/java/com/oltpbenchmark/api/AbstractTestCase.java +++ b/src/test/java/com/oltpbenchmark/api/AbstractTestCase.java @@ -16,6 +16,7 @@ package com.oltpbenchmark.api; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; @@ -140,7 +141,11 @@ public final void setUp() throws Exception { // tests, but actually ensures that the procedures list is populated // for the TestTemplatedWorker test which doesn't know its procedures // until after the benchmark is initialized and the config is loaded. - assertNotNull(this.procedures()); + var proceedures = this.procedures(); + assertNotNull(proceedures); + if (!(this instanceof TestDDLOverride)) { + assertFalse(proceedures.isEmpty()); + } this.conn = this.benchmark.makeConnection(); assertNotNull(this.conn); @@ -175,6 +180,7 @@ private int findAvailablePort() throws IOException { } try (ServerSocket testSocket = new ServerSocket(port)) { + assert testSocket != null; return port; } catch (BindException e) { // This port is already in use. Continue to next port. diff --git a/src/test/java/com/oltpbenchmark/api/MockBenchmark.java b/src/test/java/com/oltpbenchmark/api/MockBenchmark.java index 82cffdb9d..5db859b6f 100644 --- a/src/test/java/com/oltpbenchmark/api/MockBenchmark.java +++ b/src/test/java/com/oltpbenchmark/api/MockBenchmark.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.util.List; -public class MockBenchmark extends BenchmarkModule { +public final class MockBenchmark extends BenchmarkModule { public MockBenchmark() { super(new WorkloadConfiguration()); this.workConf.setBenchmarkName("mockbenchmark"); diff --git a/src/test/java/com/oltpbenchmark/benchmarks/auctionmark/TestAuctionMarkWorker.java b/src/test/java/com/oltpbenchmark/benchmarks/auctionmark/TestAuctionMarkWorker.java index 8458dd356..1973d03ac 100644 --- a/src/test/java/com/oltpbenchmark/benchmarks/auctionmark/TestAuctionMarkWorker.java +++ b/src/test/java/com/oltpbenchmark/benchmarks/auctionmark/TestAuctionMarkWorker.java @@ -23,7 +23,6 @@ import com.oltpbenchmark.api.AbstractTestWorker; import com.oltpbenchmark.api.Procedure; -import com.oltpbenchmark.api.Worker; import com.oltpbenchmark.benchmarks.auctionmark.util.UserId; import java.io.IOException; @@ -61,7 +60,7 @@ public void testUniqueSellers() throws Exception { Set all_users = new HashSet(); Set worker_users = new TreeSet(); Integer last_num_users = null; - for (Worker w : this.workers) { + for (var w : this.workers) { AuctionMarkWorker worker = (AuctionMarkWorker) w; assertNotNull(w); diff --git a/src/test/java/com/oltpbenchmark/benchmarks/auctionmark/util/TestUserId.java b/src/test/java/com/oltpbenchmark/benchmarks/auctionmark/util/TestUserId.java index 14961dc94..8fb16662c 100644 --- a/src/test/java/com/oltpbenchmark/benchmarks/auctionmark/util/TestUserId.java +++ b/src/test/java/com/oltpbenchmark/benchmarks/auctionmark/util/TestUserId.java @@ -17,7 +17,7 @@ package com.oltpbenchmark.benchmarks.auctionmark.util; -import static junit.framework.Assert.assertFalse; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; diff --git a/src/test/java/com/oltpbenchmark/util/TestCollectionUtil.java b/src/test/java/com/oltpbenchmark/util/TestCollectionUtil.java index 924d15d2d..7785f3829 100644 --- a/src/test/java/com/oltpbenchmark/util/TestCollectionUtil.java +++ b/src/test/java/com/oltpbenchmark/util/TestCollectionUtil.java @@ -24,7 +24,6 @@ import org.apache.commons.collections4.set.ListOrderedSet; import java.util.*; -import org.junit.Before; import org.junit.Test; /** @@ -122,6 +121,7 @@ public void testPop() { expected[i] = rng.astring(1, 32); } // FOR + @SuppressWarnings("rawtypes") Collection[] collections = new Collection[]{ CollectionUtil.addAll(new ListOrderedSet(), expected), CollectionUtil.addAll(new HashSet(), expected),