You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2019/07/08 09:16:44 UTC
svn commit: r1862726 - in /jackrabbit/oak/trunk: oak-parent/
oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/
Author: reschke
Date: Mon Jul 8 09:16:44 2019
New Revision: 1862726
URL: http://svn.apache.org/viewvc?rev=1862726&view=rev
Log:
OAK-8464: Update javadoc-plugin to 3.1.1 and restore JCR API linking
Modified:
jackrabbit/oak/trunk/oak-parent/pom.xml
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGCRecommendations.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java
Modified: jackrabbit/oak/trunk/oak-parent/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-parent/pom.xml?rev=1862726&r1=1862725&r2=1862726&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-parent/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-parent/pom.xml Mon Jul 8 09:16:44 2019
@@ -125,11 +125,12 @@
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>3.1.0</version>
+ <version>3.1.1</version>
<configuration>
<source>${java.version}</source>
<aggregate>true</aggregate>
<links>
+ <link>https://docs.adobe.com/docs/en/spec/javax.jcr/javadocs/jcr-2.0/</link>
<link>http://jackrabbit.apache.org/api/trunk/</link>
<link>https://google.github.io/guava/releases/${guava.version}/api/docs/</link>
</links>
Modified: jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGCRecommendations.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGCRecommendations.java?rev=1862726&r1=1862725&r2=1862726&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGCRecommendations.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGCRecommendations.java Mon Jul 8 09:16:44 2019
@@ -42,6 +42,7 @@ public class VersionGCRecommendations {
final long maxCollect;
final long deleteCandidateCount;
final long lastOldestTimestamp;
+ final long originalCollectLimit;
private final long precisionMs;
final long suggestedIntervalMs;
@@ -71,16 +72,18 @@ public class VersionGCRecommendations {
*/
public VersionGCRecommendations(long maxRevisionAgeMs, Checkpoints checkpoints, Clock clock, VersionGCSupport vgc,
VersionGCOptions options, GCMonitor gcMonitor) {
- this.vgc = vgc;
- this.gcmon = gcMonitor;
-
- TimeInterval keep = new TimeInterval(clock.getTime() - maxRevisionAgeMs, Long.MAX_VALUE);
boolean ignoreDueToCheckPoint = false;
long deletedOnceCount = 0;
long suggestedIntervalMs;
long oldestPossible;
long collectLimit = options.collectLimit;
+ this.vgc = vgc;
+ this.gcmon = gcMonitor;
+ this.originalCollectLimit = options.collectLimit;
+
+ TimeInterval keep = new TimeInterval(clock.getTime() - maxRevisionAgeMs, Long.MAX_VALUE);
+
Map<String, Long> settings = getLongSettings();
lastOldestTimestamp = settings.get(VersionGarbageCollector.SETTINGS_COLLECTION_OLDEST_TIMESTAMP_PROP);
if (lastOldestTimestamp == 0) {
@@ -178,16 +181,26 @@ public class VersionGCRecommendations {
// success, we would not expect to encounter revisions older than this in the future
setLongSetting(VersionGarbageCollector.SETTINGS_COLLECTION_OLDEST_TIMESTAMP_PROP, scope.toMs);
+ int count = stats.deletedDocGCCount - stats.deletedLeafDocGCCount;
+ double usedFraction;
+ double allowedFraction = 0.66;
+
if (maxCollect <= 0) {
- VersionGarbageCollector.log.debug("successful run without effective limit, keeping recommendations");
- } else if (scope.getDurationMs() == suggestedIntervalMs) {
- int count = stats.deletedDocGCCount - stats.deletedLeafDocGCCount;
- double used = count / (double) maxCollect;
- if (used < 0.66) {
+ usedFraction = count / (double) this.originalCollectLimit;
+ } else {
+ usedFraction = count / (double) maxCollect;
+ }
+
+ if (scope.getDurationMs() == suggestedIntervalMs) {
+ if (usedFraction < allowedFraction) {
long nextDuration = (long) Math.ceil(suggestedIntervalMs * 1.5);
- VersionGarbageCollector.log.debug("successful run using {}% of limit, raising recommended interval to {} seconds",
- Math.round(used*1000)/10.0, TimeUnit.MILLISECONDS.toSeconds(nextDuration));
+ VersionGarbageCollector.log.debug(
+ "successful run using {}% of limit, raising recommended interval to {} seconds",
+ Math.round(usedFraction * 1000) / 10.0, TimeUnit.MILLISECONDS.toSeconds(nextDuration));
setLongSetting(VersionGarbageCollector.SETTINGS_COLLECTION_REC_INTERVAL_PROP, nextDuration);
+ } else {
+ VersionGarbageCollector.log.debug("not increasing limit: collected {} documents ({}% >= {}% limit)", count,
+ usedFraction, allowedFraction);
}
} else {
VersionGarbageCollector.log.debug("successful run not following recommendations, keeping them");
Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java?rev=1862726&r1=1862725&r2=1862726&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java Mon Jul 8 09:16:44 2019
@@ -18,6 +18,16 @@
*/
package org.apache.jackrabbit.oak.plugins.document;
+import static java.util.concurrent.TimeUnit.HOURS;
+import static java.util.concurrent.TimeUnit.MINUTES;
+import static java.util.concurrent.TimeUnit.SECONDS;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.slf4j.helpers.MessageFormatter.arrayFormat;
+
import java.io.IOException;
import java.util.List;
import java.util.concurrent.Callable;
@@ -28,9 +38,6 @@ import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector.VersionGCStats;
import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore;
@@ -44,19 +51,11 @@ import org.jetbrains.annotations.NotNull
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
-import static java.util.concurrent.TimeUnit.HOURS;
-import static java.util.concurrent.TimeUnit.MINUTES;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.slf4j.helpers.MessageFormatter.arrayFormat;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
public class VersionGCTest {
@@ -262,7 +261,6 @@ public class VersionGCTest {
// OAK-8448: test that after shrinking the scope to the minimum and after
// successful runs, scope will be expanded again
- @Ignore("OAK-8448")
@Test
public void expandIntervalAgain() throws Exception {