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 al...@apache.org on 2015/07/22 15:36:54 UTC
svn commit: r1692272 - in /jackrabbit/oak/trunk/oak-tarmk-standby/src:
main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/
test/java/org/apache/jackrabbit/oak/plugins/segment/
test/java/org/apache/jackrabbit/oak/plugins/segment/standby/
Author: alexparvulescu
Date: Wed Jul 22 13:36:54 2015
New Revision: 1692272
URL: http://svn.apache.org/r1692272
Log:
OAK-3109 OOME in tarkmk standby tests
Modified:
jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/SegmentLoaderHandler.java
jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java
jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClientHandler.java
jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/NetworkErrorProxy.java
jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/ExternalSharedStoreIT.java
jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/TestBase.java
Modified: jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/SegmentLoaderHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/SegmentLoaderHandler.java?rev=1692272&r1=1692271&r2=1692272&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/SegmentLoaderHandler.java (original)
+++ jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/SegmentLoaderHandler.java Wed Jul 22 13:36:54 2015
@@ -206,11 +206,6 @@ public class SegmentLoaderHandler extend
@Override
public void close() {
- ctx.close();
- if (loaderExecutor != null && !loaderExecutor.isShuttingDown()) {
- loaderExecutor.shutdownGracefully(1, 2, TimeUnit.SECONDS)
- .syncUninterruptibly();
- }
}
@Override
Modified: jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java?rev=1692272&r1=1692271&r2=1692272&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java (original)
+++ jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java Wed Jul 22 13:36:54 2015
@@ -207,13 +207,17 @@ public final class StandbyClient impleme
private void shutdownNetty() {
if (group != null && !group.isShuttingDown()) {
- group.shutdownGracefully(1, 2, TimeUnit.SECONDS)
+ group.shutdownGracefully(1, 1, TimeUnit.SECONDS)
.syncUninterruptibly();
}
if (executor != null && !executor.isShuttingDown()) {
- executor.shutdownGracefully(1, 2, TimeUnit.SECONDS)
+ executor.shutdownGracefully(1, 1, TimeUnit.SECONDS)
.syncUninterruptibly();
}
+ if (handler != null) {
+ handler.close();
+ handler = null;
+ }
}
@Override
Modified: jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClientHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClientHandler.java?rev=1692272&r1=1692271&r2=1692272&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClientHandler.java (original)
+++ jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClientHandler.java Wed Jul 22 13:36:54 2015
@@ -19,6 +19,7 @@
package org.apache.jackrabbit.oak.plugins.segment.standby.client;
import static org.apache.jackrabbit.oak.plugins.segment.standby.codec.Messages.newGetHeadReq;
+import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.util.concurrent.DefaultEventExecutorGroup;
@@ -87,7 +88,6 @@ public class StandbyClientHandler extend
if (store.getHead().getRecordId().equals(head)) {
// all sync'ed up
log.debug("no changes on sync.");
- ctx.close();
return;
}
@@ -114,14 +114,17 @@ public class StandbyClientHandler extend
}
@Override
- public void close() {
- ctx.close();
- if (!executor.isShuttingDown()) {
- executor.shutdownGracefully(1, 2, TimeUnit.SECONDS)
- .syncUninterruptibly();
+ public synchronized void close() {
+ if (ctx != null) {
+ for (ChannelHandler h : ctx.pipeline().toMap().values()) {
+ ctx.pipeline().remove(h);
+ }
+
+ ctx.close();
+ ctx = null;
}
if (loaderExecutor != null && !loaderExecutor.isShuttingDown()) {
- loaderExecutor.shutdownGracefully(1, 2, TimeUnit.SECONDS)
+ loaderExecutor.shutdownGracefully(1, 1, TimeUnit.SECONDS)
.syncUninterruptibly();
}
}
Modified: jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/NetworkErrorProxy.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/NetworkErrorProxy.java?rev=1692272&r1=1692271&r2=1692272&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/NetworkErrorProxy.java (original)
+++ jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/NetworkErrorProxy.java Wed Jul 22 13:36:54 2015
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
import java.util.concurrent.TimeUnit;
public class NetworkErrorProxy {
- private static final Logger log = LoggerFactory
+ static final Logger log = LoggerFactory
.getLogger(NetworkErrorProxy.class);
private final int inboundPort;
@@ -168,7 +168,7 @@ class ForwardHandler extends ChannelInbo
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
- cause.printStackTrace();
+ NetworkErrorProxy.log.debug(cause.getMessage(), cause);
ctx.close();
}
}
@@ -233,7 +233,7 @@ class SendBackHandler implements Channel
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
- cause.printStackTrace();
+ NetworkErrorProxy.log.debug(cause.getMessage(), cause);
this.target.close();
}
Modified: jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/ExternalSharedStoreIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/ExternalSharedStoreIT.java?rev=1692272&r1=1692271&r2=1692272&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/ExternalSharedStoreIT.java (original)
+++ jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/ExternalSharedStoreIT.java Wed Jul 22 13:36:54 2015
@@ -19,17 +19,13 @@
package org.apache.jackrabbit.oak.plugins.segment.standby;
import static org.apache.jackrabbit.oak.plugins.segment.SegmentTestUtils.createTmpTargetDir;
-import static org.junit.Assume.assumeTrue;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
-import org.apache.jackrabbit.oak.commons.CIHelper;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
-
import org.junit.After;
-import org.junit.Before;
public class ExternalSharedStoreIT extends DataStoreTestBase {
private File externalStore;
@@ -39,11 +35,6 @@ public class ExternalSharedStoreIT exten
this.storesCanBeEqual = true;
}
- @Before
- public void checkEnvironment() {
- assumeTrue(!CIHelper.travis());
- }
-
@After
public void after() {
closeServerAndClient();
Modified: jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/TestBase.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/TestBase.java?rev=1692272&r1=1692271&r2=1692272&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/TestBase.java (original)
+++ jackrabbit/oak/trunk/oak-tarmk-standby/src/test/java/org/apache/jackrabbit/oak/plugins/segment/standby/TestBase.java Wed Jul 22 13:36:54 2015
@@ -19,18 +19,26 @@
package org.apache.jackrabbit.oak.plugins.segment.standby;
import static org.apache.jackrabbit.oak.plugins.segment.SegmentTestUtils.createTmpTargetDir;
+import static org.junit.Assume.assumeTrue;
import java.io.File;
import java.io.IOException;
+import java.util.Set;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.SystemUtils;
+import org.apache.jackrabbit.oak.commons.CIHelper;
+import org.apache.jackrabbit.oak.commons.FixturesHelper;
+import org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
+import org.junit.BeforeClass;
public class TestBase {
int port = Integer.valueOf(System.getProperty("standby.server.port", "52800"));
final static String LOCALHOST = "127.0.0.1";
+ private static final Set<Fixture> FIXTURES = FixturesHelper.getFixtures();
+
File directoryS;
FileStore storeS;
@@ -46,6 +54,12 @@ public class TestBase {
*/
protected final boolean noDualStackSupport = SystemUtils.IS_OS_WINDOWS && SystemUtils.IS_JAVA_1_6;
+ @BeforeClass
+ public static void assumptions() {
+ assumeTrue(!CIHelper.travis());
+ assumeTrue(FIXTURES.contains(Fixture.SEGMENT_MK));
+ }
+
public void setUpServerAndClient() throws IOException {
// server
directoryS = createTmpTargetDir("FailoverServerTest");