[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15781353#comment-15781353 ] Edward Ribeiro commented on ZOOKEEPER-1364: --- +1 about merging ZOOKEEPER-2549 first, [~hanm]! > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15750001#comment-15750001 ] ASF GitHub Bot commented on ZOOKEEPER-1364: --- Github user hanm commented on the issue: https://github.com/apache/zookeeper/pull/123 Good initiative, @eribeiro! This will be a valuable addition to the project. Please keep driving this forward. Regarding dependency between ZOOKEEPER-2549 and ZOOKEEPER-1364, the mock stuff ZOOKEEPER-2549 introduced is localized so it shouldn't take a lot effort to replace that with what to be done in ZOOKEEPER-1364. Since ZOOKEEPER-2549 is in relative good shape to be merged in my opinion here is to get ZOOKEEPER-2549 in first then start iterating on ZOOKEEPER-1364. > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15748858#comment-15748858 ] ASF GitHub Bot commented on ZOOKEEPER-1364: --- Github user eribeiro commented on the issue: https://github.com/apache/zookeeper/pull/123 @yufeldman Sure, totally agree about this being a separate issue! :+1: My only concern is that **IF** we decide to introduce this injection framework into ZK **after merging ZOOKEEPER-2549** then some of the mocking and reflection changes introduced by ZOOKEEPER-2549 for the purposes of testing become redundant, so basically we would have to undo parts of it (but not the bug fix, of course). See this PR for a concrete idea of what I am trying to say. But you raised a very important point: **ZOOKEEPER-2549 is critical, and delaying its merging is gonna be bad for the project release, IMHO.** So, I am all for you keep going your work (congrats, btw) and run this as a future issue. Or whatever the committers find more suitable. /cc @fpj @rgs1 @hanm @phunt > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15748774#comment-15748774 ] ASF GitHub Bot commented on ZOOKEEPER-1364: --- Github user yufeldman commented on the issue: https://github.com/apache/zookeeper/pull/123 @eribeiro I am not sure that critical bug is the place to introduce injection framework to Zookeeper. Can't it be done as a separate JIRA? > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15748333#comment-15748333 ] ASF GitHub Bot commented on ZOOKEEPER-1364: --- Github user eribeiro commented on the issue: https://github.com/apache/zookeeper/pull/123 @yufeldman I really like your ZOOKEEPER-2549 patch, but I think it would be an awesome opportunity of introducing a much needed failure injection framework into ZooKeeper. So, I wrote this patch with your changes **as example** to see what is your opinion and if we could backport those changes to your PR or at least discuss the introduction of Byteman. IMHO, it would save a lot of changes due by ZK-2549, but I am really open to hear your opinion and concerns. Cheers! :smiley: > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15746927#comment-15746927 ] ASF GitHub Bot commented on ZOOKEEPER-1364: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/123#discussion_r92309178 --- Diff: src/java/test/org/apache/zookeeper/server/ServerCxnExceptionsTest.java --- @@ -0,0 +1,160 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.zookeeper.server; + +import org.apache.zookeeper.CreateMode; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.ZooDefs; +import org.apache.zookeeper.ZooKeeper; +import org.apache.zookeeper.data.Stat; +import org.apache.zookeeper.test.ClientBase; +import org.jboss.byteman.contrib.bmunit.BMRule; +import org.jboss.byteman.contrib.bmunit.BMUnitRunner; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.fail; + +/** + * Unit tests to test different exceptions scenarios in sendResponse + */ +@RunWith(BMUnitRunner.class) +public class ServerCxnExceptionsTest extends ClientBase { + +private static final Logger LOG = LoggerFactory.getLogger(ServerCxnExceptionsTest.class); +private static String previousFactory = null; + +@BeforeClass +public static void setUpBeforeClass() throws Exception { +previousFactory = System.getProperty(ServerCnxnFactory.ZOOKEEPER_SERVER_CNXN_FACTORY); +} + +@AfterClass +public static void tearDownAfterClass() throws Exception { +if (previousFactory != null) { + System.setProperty(ServerCnxnFactory.ZOOKEEPER_SERVER_CNXN_FACTORY, previousFactory); +} +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) +@BMRule(name = "IOExceptionNetty", +targetClass = "org.apache.zookeeper.server.NettyServerCnxn", +targetMethod = "sendResponse", +action = "throw new IOException(\"Test IOException from ServerCxnExceptionsTest with Netty\");", +targetLocation = "AT ENTRY" +) +public void testIOExceptionNetty() throws Exception { +tearDown(); +nettySetup(); +testZKHelper(true); +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) --- End diff -- switch annotations > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15746928#comment-15746928 ] ASF GitHub Bot commented on ZOOKEEPER-1364: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/123#discussion_r92309188 --- Diff: src/java/test/org/apache/zookeeper/server/ServerCxnExceptionsTest.java --- @@ -0,0 +1,160 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.zookeeper.server; + +import org.apache.zookeeper.CreateMode; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.ZooDefs; +import org.apache.zookeeper.ZooKeeper; +import org.apache.zookeeper.data.Stat; +import org.apache.zookeeper.test.ClientBase; +import org.jboss.byteman.contrib.bmunit.BMRule; +import org.jboss.byteman.contrib.bmunit.BMUnitRunner; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.fail; + +/** + * Unit tests to test different exceptions scenarios in sendResponse + */ +@RunWith(BMUnitRunner.class) +public class ServerCxnExceptionsTest extends ClientBase { + +private static final Logger LOG = LoggerFactory.getLogger(ServerCxnExceptionsTest.class); +private static String previousFactory = null; + +@BeforeClass +public static void setUpBeforeClass() throws Exception { +previousFactory = System.getProperty(ServerCnxnFactory.ZOOKEEPER_SERVER_CNXN_FACTORY); +} + +@AfterClass +public static void tearDownAfterClass() throws Exception { +if (previousFactory != null) { + System.setProperty(ServerCnxnFactory.ZOOKEEPER_SERVER_CNXN_FACTORY, previousFactory); +} +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) --- End diff -- switch annotations > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15746925#comment-15746925 ] ASF GitHub Bot commented on ZOOKEEPER-1364: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/123#discussion_r92309054 --- Diff: src/java/test/org/apache/zookeeper/server/ServerCxnExceptionsTest.java --- @@ -0,0 +1,160 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.zookeeper.server; + +import org.apache.zookeeper.CreateMode; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.ZooDefs; +import org.apache.zookeeper.ZooKeeper; +import org.apache.zookeeper.data.Stat; +import org.apache.zookeeper.test.ClientBase; +import org.jboss.byteman.contrib.bmunit.BMRule; +import org.jboss.byteman.contrib.bmunit.BMUnitRunner; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.fail; + +/** + * Unit tests to test different exceptions scenarios in sendResponse + */ +@RunWith(BMUnitRunner.class) +public class ServerCxnExceptionsTest extends ClientBase { + +private static final Logger LOG = LoggerFactory.getLogger(ServerCxnExceptionsTest.class); +private static String previousFactory = null; + +@BeforeClass +public static void setUpBeforeClass() throws Exception { +previousFactory = System.getProperty(ServerCnxnFactory.ZOOKEEPER_SERVER_CNXN_FACTORY); +} + +@AfterClass +public static void tearDownAfterClass() throws Exception { +if (previousFactory != null) { + System.setProperty(ServerCnxnFactory.ZOOKEEPER_SERVER_CNXN_FACTORY, previousFactory); +} +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) +@BMRule(name = "IOExceptionNetty", +targetClass = "org.apache.zookeeper.server.NettyServerCnxn", +targetMethod = "sendResponse", +action = "throw new IOException(\"Test IOException from ServerCxnExceptionsTest with Netty\");", +targetLocation = "AT ENTRY" +) +public void testIOExceptionNetty() throws Exception { +tearDown(); +nettySetup(); +testZKHelper(true); +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) +@BMRule(name = "IOExceptionNIO", +targetClass = "org.apache.zookeeper.server.NIOServerCnxn", +targetMethod = "sendResponse", +action = "throw new IOException(\"Test IOException from ServerCxnExceptionsTest with NIO\");", +targetLocation = "AT ENTRY" +) +public void testIOExceptionNIO() throws Exception { +tearDown(); +nioSetup(); +testZKHelper(true); +} + +@Test(timeout = 6) +public void testNoExceptionNetty() throws Exception { +tearDown(); +nettySetup(); +testZKHelper(false); +} + +@Test(timeout = 6) +public void testNoExceptionNIO() throws Exception { +tearDown(); +nioSetup(); +testZKHelper(false); +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) +@BMRule(name = "RuntimeException Netty", +targetClass = "org.apache.zookeeper.server.NettyServerCnxn", +targetMethod = "sendResponse", +action = "throw new RuntimeException(\"Test RuntimeException from ServerCxnExceptionsTest\")", +targetLocation = "AT ENTRY" +) +public void testNettyRunTimeException() throws Exception { +
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15746924#comment-15746924 ] ASF GitHub Bot commented on ZOOKEEPER-1364: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/123#discussion_r92309025 --- Diff: src/java/test/org/apache/zookeeper/server/ServerCxnExceptionsTest.java --- @@ -0,0 +1,160 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.zookeeper.server; + +import org.apache.zookeeper.CreateMode; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.ZooDefs; +import org.apache.zookeeper.ZooKeeper; +import org.apache.zookeeper.data.Stat; +import org.apache.zookeeper.test.ClientBase; +import org.jboss.byteman.contrib.bmunit.BMRule; +import org.jboss.byteman.contrib.bmunit.BMUnitRunner; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.fail; + +/** + * Unit tests to test different exceptions scenarios in sendResponse + */ +@RunWith(BMUnitRunner.class) +public class ServerCxnExceptionsTest extends ClientBase { + +private static final Logger LOG = LoggerFactory.getLogger(ServerCxnExceptionsTest.class); +private static String previousFactory = null; + +@BeforeClass +public static void setUpBeforeClass() throws Exception { +previousFactory = System.getProperty(ServerCnxnFactory.ZOOKEEPER_SERVER_CNXN_FACTORY); +} + +@AfterClass +public static void tearDownAfterClass() throws Exception { +if (previousFactory != null) { + System.setProperty(ServerCnxnFactory.ZOOKEEPER_SERVER_CNXN_FACTORY, previousFactory); +} +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) +@BMRule(name = "IOExceptionNetty", +targetClass = "org.apache.zookeeper.server.NettyServerCnxn", +targetMethod = "sendResponse", +action = "throw new IOException(\"Test IOException from ServerCxnExceptionsTest with Netty\");", +targetLocation = "AT ENTRY" +) +public void testIOExceptionNetty() throws Exception { +tearDown(); +nettySetup(); +testZKHelper(true); +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) +@BMRule(name = "IOExceptionNIO", +targetClass = "org.apache.zookeeper.server.NIOServerCnxn", +targetMethod = "sendResponse", +action = "throw new IOException(\"Test IOException from ServerCxnExceptionsTest with NIO\");", +targetLocation = "AT ENTRY" +) +public void testIOExceptionNIO() throws Exception { +tearDown(); +nioSetup(); +testZKHelper(true); +} + +@Test(timeout = 6) +public void testNoExceptionNetty() throws Exception { +tearDown(); +nettySetup(); +testZKHelper(false); +} + +@Test(timeout = 6) +public void testNoExceptionNIO() throws Exception { +tearDown(); +nioSetup(); +testZKHelper(false); +} + +@Test(timeout = 6, expected = KeeperException.ConnectionLossException.class) +@BMRule(name = "RuntimeException Netty", +targetClass = "org.apache.zookeeper.server.NettyServerCnxn", +targetMethod = "sendResponse", +action = "throw new RuntimeException(\"Test RuntimeException from ServerCxnExceptionsTest\")", +targetLocation = "AT ENTRY" +) +public void testNettyRunTimeException() throws Exception { +
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15746910#comment-15746910 ] Hadoop QA commented on ZOOKEEPER-1364: -- +1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 2 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/118//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/118//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/118//console This message is automatically generated. > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15746894#comment-15746894 ] Hadoop QA commented on ZOOKEEPER-1364: -- +1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 2 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/117//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/117//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/117//console This message is automatically generated. > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15746880#comment-15746880 ] Hadoop QA commented on ZOOKEEPER-1364: -- -1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 2 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/116//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/116//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/116//console This message is automatically generated. > Add orthogonal fault injection mechanism/framework > -- > > Key: ZOOKEEPER-1364 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 > Project: ZooKeeper > Issue Type: Test > Components: tests >Reporter: Andrei Savu >Assignee: Andrei Savu > > Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would > be useful if something similar would be available for ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13195829#comment-13195829 ] Andrei Savu commented on ZOOKEEPER-1364: The following branch contains some experimental work I've done on this: https://github.com/andreisavu/zookeeper/tree/zookeeper-1364 It seems like if 10% of all SocketChannel.write() and SocketChannel.read() fail with an IOException the ZooKeeper server is still working as expected. Add orthogonal fault injection mechanism/framework -- Key: ZOOKEEPER-1364 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 Project: ZooKeeper Issue Type: Test Components: tests Reporter: Andrei Savu Assignee: Andrei Savu Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would be useful if something similar would be available for ZooKeeper. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13195830#comment-13195830 ] Andrei Savu commented on ZOOKEEPER-1364: What do you think about using Byteman [1] for fault injection testing? It could be used with standard builds. [1] http://www.jboss.org/byteman Add orthogonal fault injection mechanism/framework -- Key: ZOOKEEPER-1364 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 Project: ZooKeeper Issue Type: Test Components: tests Reporter: Andrei Savu Assignee: Andrei Savu Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would be useful if something similar would be available for ZooKeeper. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ZOOKEEPER-1364) Add orthogonal fault injection mechanism/framework
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13191402#comment-13191402 ] Patrick Hunt commented on ZOOKEEPER-1364: - See this prior related discussion: http://markmail.org/message/ysymrofslp2opqei A while back I had used aspectj to do a one-off for this. Lost track of it since. However the basic idea was to using pointcuts on the network/filesystem read/write operations in order to introduce failures. Worked well (for example the quorum would be lost and then re-established, much error handling code was exercised. I had to monitor it by hand though and ensure that things were functioning as expected. I found at least 3 or 4 issues with this approach. Add orthogonal fault injection mechanism/framework -- Key: ZOOKEEPER-1364 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1364 Project: ZooKeeper Issue Type: Test Components: tests Reporter: Andrei Savu Assignee: Andrei Savu Hadoop has a mechanism for doing fault injection (HDFS-435). I think it would be useful if something similar would be available for ZooKeeper. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira