diff --git a/build.gradle b/build.gradle index 03e414029d..cd1d7ab051 100644 --- a/build.gradle +++ b/build.gradle @@ -150,7 +150,7 @@ tasks.coveralls { description = 'Uploads the aggregated coverage report to Coveralls' dependsOn jacocoRootReport - onlyIf { System.env.'CI' && !JavaVersion.current().isJava9Compatible() } + onlyIf { System.env.'CI' } } def isNonStable = { String version -> diff --git a/caffeine/src/main/java/com/github/benmanes/caffeine/cache/Caffeine.java b/caffeine/src/main/java/com/github/benmanes/caffeine/cache/Caffeine.java index a8d1fd583f..a9d6219fe2 100644 --- a/caffeine/src/main/java/com/github/benmanes/caffeine/cache/Caffeine.java +++ b/caffeine/src/main/java/com/github/benmanes/caffeine/cache/Caffeine.java @@ -571,7 +571,7 @@ public Caffeine softValues() { * removed * @return this {@code Caffeine} instance (for chaining) * @throws IllegalArgumentException if {@code duration} is negative - * @throws IllegalStateException if the time to live or time to idle was already set + * @throws IllegalStateException if the time to live or variable expiration was already set * @throws ArithmeticException for durations greater than +/- approximately 292 years */ public Caffeine expireAfterWrite(Duration duration) { @@ -630,7 +630,7 @@ boolean expiresAfterWrite() { * automatically removed * @return this {@code Caffeine} instance (for chaining) * @throws IllegalArgumentException if {@code duration} is negative - * @throws IllegalStateException if the time to idle or time to live was already set + * @throws IllegalStateException if the time to idle or variable expiration was already set * @throws ArithmeticException for durations greater than +/- approximately 292 years */ public Caffeine expireAfterAccess(Duration duration) { diff --git a/caffeine/testing.gradle b/caffeine/testing.gradle index fb1949b217..dca7d2d5ae 100644 --- a/caffeine/testing.gradle +++ b/caffeine/testing.gradle @@ -59,8 +59,6 @@ task isolatedTests(type: Test, group: 'Cache tests') { } task osgiTests(type: Test, group: 'Cache tests', description: 'Isolated OSGi tests') { - enabled = !JavaVersion.current().isJava9Compatible() - useJUnit() tasks.test.dependsOn(it) systemProperty 'caffeine.osgi.jar', project(':caffeine').jar.archivePath.path diff --git a/checksum.xml b/checksum.xml index 89ddc7378a..e564506b78 100644 --- a/checksum.xml +++ b/checksum.xml @@ -217,6 +217,7 @@ + @@ -391,6 +392,9 @@ 4D2D1FBDC1C8EBF905F8BCE824B3B87DEF250BFE77465D68A24A5FB348B40AED821AFD24060132A7320920F7C87B3A4B8373ECFD033C08D4660A625C6CD8B5C5 + + 8138BCC41F3573FABC75DAB54D73303408301880ABD63838E0CFB2E6C9405CF54DB623684536209035FA31ADE4E6D627A4C11460C98FF29EFC0A372B40375F93 + B3BFAD07E6A3D4D73CBCE802D8614CF4AC84E589166D243D41028DC077F84C027DF4D514F145360405F37DA73A8F2E7B65D90877A9EE1151174D2440530F9051 @@ -406,6 +410,9 @@ B57469B9FA2C5D598688FF9C6A3B3283496921B91E269EA6D5A1DA6511125BD2545E2CFA8D3736739787B0BACF69C0AF5C5ECDEA474CB9FD56C96495E654682B + + 8D72884FB1D818ACB2732128FD96C1C3AAF7F89670EE505BEA419621B287D028AD61CFAEDB71B23BCB80491500BD7A30D5450F1CF6C326013310F6053479911A + E126B7CCF3E42FD1984A0BEEF1004A7269A337C202E59E04E8E2AF714280D2F2D8D2BA5E6F59481B8DCD34AAF35C966A688D0B48EC7E96F102C274DC0D3B381E @@ -573,6 +580,9 @@ EB7805D2B2321B4C0537C4BC228E2485EF374ED22F37001AAAA4790A983B6DE3642E19DFDF3ADECFC5921BAEA0FFBD092901955D8184AA67969C5B32A912108E + + 7B0855B530B6AB5271CE774876DEB2CF98FED7BDC2A15989FD80B524C3CAD650EE40EC32DEE5476D08B7981FBF20FF7D860F3084A834D39289E688BA15907230 + D31295F9998A446F62AE7BA9B7EE39A0F898D9B185047800920B72EE53632EC54A7BDD9E5BE4BB41EFAFE9D4C209DC4227CE6C9CC230301FE762875EFBC3F7C9 diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 11c547302a..be6eb58a27 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -35,13 +35,13 @@ ext { commonsIo: '2.8.0', concurrentlinkedhashmap: '1.4.2', config: '1.4.1', - ehcache3: '3.9.2', + ehcache3: '3.9.3', errorprone: '2.6.0', errorproneJavac: '9+181-r4173-1', - elasticSearch: '7.12.0', + elasticSearch: '7.12.1', expiringMap: '0.5.9', fastfilter: '1.0', - fastutil: '8.5.2', + fastutil: '8.5.4', flipTables: '1.1.0', googleJavaFormat: '1.10.0', guava: '30.1.1-jre', @@ -67,7 +67,6 @@ ext { ] testVersions = [ awaitility: '4.0.3', - easymock: '4.3', guice: '5.0.1', hamcrest: '2.2', jcacheTck: '1.1.1', @@ -85,25 +84,25 @@ ext { pluginVersions = [ bnd: '5.3.0', checkerFramework: '0.5.19', - checkstyle: '8.41.1', + checkstyle: '8.42', coveralls: '2.8.4', errorprone: '2.0.1', jacoco: '0.8.6', jmh: '0.5.3', jmhReport: '0.9.0', - nexusPublish: '1.0.0', + nexusPublish: '1.1.0', nullaway: '1.1.0', - pmd: '6.33.0', + pmd: '6.34.0', semanticVersioning: '1.1.0', shadow: '6.1.0', - sonarqube: '3.1.1', + sonarqube: '3.2.0', spotbugs: '4.2.3', - spotbugsPlugin: '4.7.0', + spotbugsPlugin: '4.7.1', stats: '0.2.2', versions: '0.38.0', ] annotationProcessorVersions = [ - autoValue: '1.8', + autoValue: '1.8.1', autoValueBuilder: '2.9.3', ] @@ -155,7 +154,6 @@ ext { ] testLibraries = [ awaitility: "org.awaitility:awaitility:${testVersions.awaitility}", - easymock: "org.easymock:easymock:${testVersions.easymock}", guavaTestLib: dependencies.create("com.google.guava:guava-testlib:${versions.guava}") { exclude group: 'com.google.truth' exclude group: 'junit' diff --git a/guava/build.gradle b/guava/build.gradle index 69be0fc88d..8a9716547e 100644 --- a/guava/build.gradle +++ b/guava/build.gradle @@ -10,7 +10,6 @@ dependencies { testImplementation testLibraries.junit testImplementation testLibraries.truth testImplementation testLibraries.jctools - testImplementation testLibraries.easymock testImplementation testLibraries.guavaTestLib } @@ -39,7 +38,6 @@ test { } task osgiTests(type: Test, group: 'Cache tests', description: 'Isolated OSGi tests') { - enabled = !JavaVersion.current().isJava9Compatible() tasks.test.dependsOn(it) useJUnit { diff --git a/simulator/build.gradle b/simulator/build.gradle index ee7313ce7d..28366365f9 100644 --- a/simulator/build.gradle +++ b/simulator/build.gradle @@ -71,8 +71,6 @@ tasks.withType(JavaCompile) { tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') - // https://github.com/akka/akka/issues/21165 - enabled = !JavaVersion.current().isJava9Compatible() } run { diff --git a/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/membership/bloom/BloomFilter.java b/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/membership/bloom/BloomFilter.java index 0e71de9a30..20bfddf001 100644 --- a/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/membership/bloom/BloomFilter.java +++ b/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/membership/bloom/BloomFilter.java @@ -65,7 +65,7 @@ public BloomFilter(Config config) { * number of insertions. This operation forgets all previous memberships when resizing. * * @param expectedInsertions the number of expected insertions - * @param fpp the false positive probability, where 0.0 > fpp < 1.0 + * @param fpp the false positive probability, where {@literal 0.0 > fpp < 1.0} */ public void ensureCapacity(@NonNegative long expectedInsertions, @NonNegative double fpp) { checkArgument(expectedInsertions >= 0); diff --git a/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/irr/ClockProPlusPolicy.java b/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/irr/ClockProPlusPolicy.java index eec692abb2..9882ddcf6c 100644 --- a/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/irr/ClockProPlusPolicy.java +++ b/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/irr/ClockProPlusPolicy.java @@ -37,6 +37,8 @@ * Implementation here differs from ClockProPolicy only in adjusting coldTarget and tracking for * demoted status part. Below is a summarize of coldTarget adjusting differences between ClockPro * and ClockPro+. + *
+ * {@literal
  * +-----------------------------------------------------------------------------------+
  * |                  ClockPro ColdTarget Adaption Algorithm Summary                   |
  * +------+----------+-----------------------------------------------------------------+
@@ -55,7 +57,8 @@
  * | Size | increase |         d = (demoted size / non-resident size); d < 1 ? +1 : +d |
  * |      | decrease |         d = (non-resident size / demoted size); d < 1 ? -1 : -d |
  * +------+----------+-----------------------------------------------------------------+
- *
+ * }
+ * 
* This algorithm uses non-resident cold entries size to calculate adaption size so changing * non-resident-multiplier may affect the adaption algorithm. In the author's research code * percent-max-resident-cold was set to 0.5x. diff --git a/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/linked/S4LruPolicy.java b/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/linked/S4LruPolicy.java index e8af5c5473..b9455cbc08 100644 --- a/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/linked/S4LruPolicy.java +++ b/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/linked/S4LruPolicy.java @@ -42,7 +42,7 @@ * total cache size and items are evicted from the tail of a queue to the head of the next lower * queue to maintain the size invariants. Items evicted from queue 0 are evicted from the cache." * - * For more details, see An * Analysis of Facebook Photo Caching. * * @author ben.manes@gmail.com (Ben Manes)