Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PassthroughClusterControl.terminateAllServers() followed by startOneServer() throws assertion error #30

Open
albinsuresh opened this issue Sep 22, 2016 · 2 comments

Comments

@albinsuresh
Copy link

Performing the following steps:

    this.clusterControl = PassthroughTestHelpers.createActivePassive("testStripe",
        new PassthroughTestHelpers.ServerInitializer() {
          @Override
          public void registerServicesForServer(PassthroughServer server) {
          }
        }
    );

    //do something

    clusterControl.terminateAllServers();
    clusterControl.startOneServer();

throws this:

java.lang.AssertionError: Case must be true

    at org.terracotta.passthrough.Assert.assertTrue(Assert.java:41)
    at org.terracotta.passthrough.PassthroughServerProcess.preparePersistentStorage(PassthroughServerProcess.java:269)
    at org.terracotta.passthrough.PassthroughServerProcess.start(PassthroughServerProcess.java:139)
    at org.terracotta.passthrough.PassthroughServer.start(PassthroughServer.java:141)
    at org.terracotta.passthrough.PassthroughClusterControl.startTerminatedServer(PassthroughClusterControl.java:242)
    at org.terracotta.passthrough.PassthroughClusterControl.startOneServer(PassthroughClusterControl.java:76)
    at org.terracotta.passthrough.ClusteredMapActivePassiveTest.setUp(ClusteredMapActivePassiveTest.java:58)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
@albinsuresh
Copy link
Author

The intent in doing terminateAllServers() followed by a startOneServer() is to simulate a cluster restart.

@myronkscott
Copy link
Member

We will look into this as time permits. As a workaround, please always have one active and kill and resume downstream passives as needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants