Skip to content

Commit

Permalink
Increase timeout and dynamic port selection in CommunicationIT
Browse files Browse the repository at this point in the history
  • Loading branch information
MishaDemianenko committed Jun 25, 2018
1 parent f560be3 commit 0d62e08
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 33 deletions.
34 changes: 16 additions & 18 deletions enterprise/com/src/test/java/org/neo4j/com/CommunicationIT.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
import org.mockito.ArgumentCaptor;
import org.mockito.stubbing.Answer;

import java.io.IOException;

import org.neo4j.com.storecopy.ResponseUnpacker;
import org.neo4j.helpers.collection.Visitor;
import org.neo4j.kernel.impl.store.MismatchingStoreIdException;
Expand Down Expand Up @@ -62,6 +60,7 @@ public class CommunicationIT
{
private static final byte INTERNAL_PROTOCOL_VERSION = 0;
private static final byte APPLICATION_PROTOCOL_VERSION = 0;
private static final int port = PortAuthority.allocatePort();

private final LifeSupport life = new LifeSupport();
private StoreId storeIdToUse;
Expand Down Expand Up @@ -168,9 +167,9 @@ public Response<Void> fetchDataStream( MadeUpWriter writer, int dataSize )
@Test
public void communicateBetweenJvms()
{
ServerInterface server = builder.serverInOtherJvm();
ServerInterface server = builder.serverInOtherJvm( port );
server.awaitStarted();
MadeUpClient client = builder.port( MadeUpServerProcess.PORT ).client();
MadeUpClient client = builder.port( port ).client();
life.add( client );
life.start();

Expand Down Expand Up @@ -219,9 +218,9 @@ public void applicationProtocolVersionsMustMatch()
public void applicationProtocolVersionsMustMatchMultiJvm()
{
ServerInterface server = builder.applicationProtocolVersion( (byte) (APPLICATION_PROTOCOL_VERSION + 1) )
.serverInOtherJvm();
.serverInOtherJvm( port );
server.awaitStarted();
MadeUpClient client = builder.port( MadeUpServerProcess.PORT ).client();
MadeUpClient client = builder.port( port ).client();
life.add( client );
life.start();

Expand Down Expand Up @@ -255,9 +254,9 @@ public void internalProtocolVersionsMustMatch()
@Test
public void internalProtocolVersionsMustMatchMultiJvm()
{
ServerInterface server = builder.internalProtocolVersion( (byte) 1 ).serverInOtherJvm();
ServerInterface server = builder.internalProtocolVersion( (byte) 1 ).serverInOtherJvm( port );
server.awaitStarted();
MadeUpClient client = builder.port( MadeUpServerProcess.PORT ).internalProtocolVersion( (byte) 2 ).client();
MadeUpClient client = builder.port( port ).internalProtocolVersion( (byte) 2 ).client();
life.add( client );
life.start();

Expand Down Expand Up @@ -538,25 +537,25 @@ public Builder port( int port )
port, chunkSize, internalProtocolVersion, applicationProtocolVersion, verifier, storeId );
}

public Builder chunkSize( int chunkSize )
Builder chunkSize( int chunkSize )
{
return new Builder(
port, chunkSize, internalProtocolVersion, applicationProtocolVersion, verifier, storeId );
}

public Builder internalProtocolVersion( byte internalProtocolVersion )
Builder internalProtocolVersion( byte internalProtocolVersion )
{
return new Builder(
port, chunkSize, internalProtocolVersion, applicationProtocolVersion, verifier, storeId );
}

public Builder applicationProtocolVersion( byte applicationProtocolVersion )
Builder applicationProtocolVersion( byte applicationProtocolVersion )
{
return new Builder(
port, chunkSize, internalProtocolVersion, applicationProtocolVersion, verifier, storeId );
}

public Builder verifier( TxChecksumVerifier verifier )
Builder verifier( TxChecksumVerifier verifier )
{
return new Builder(
port, chunkSize, internalProtocolVersion, applicationProtocolVersion, verifier, storeId );
Expand Down Expand Up @@ -585,7 +584,7 @@ public MadeUpClient client()
return clientWith( ResponseUnpacker.NO_OP_RESPONSE_UNPACKER );
}

public MadeUpClient clientWith( ResponseUnpacker responseUnpacker )
MadeUpClient clientWith( ResponseUnpacker responseUnpacker )
{
return new MadeUpClient( port, storeId, chunkSize, responseUnpacker )
{
Expand All @@ -597,11 +596,10 @@ public ProtocolVersion getProtocolVersion()
};
}

public ServerInterface serverInOtherJvm()
ServerInterface serverInOtherJvm( int port )
{
ServerInterface server = new MadeUpServerProcess().start( new StartupData(
storeId.getCreationTime(), storeId.getRandomId(), internalProtocolVersion,
applicationProtocolVersion, chunkSize ) );
ServerInterface server = new MadeUpServerProcess().start( new StartupData( storeId.getCreationTime(), storeId.getRandomId(),
internalProtocolVersion, applicationProtocolVersion, chunkSize, port ) );
server.awaitStarted();
return server;
}
Expand All @@ -613,7 +611,7 @@ public class TransactionStreamVerifyingResponseHandler
private final long txCount;
private long expectedTxId = 1;

public TransactionStreamVerifyingResponseHandler( int txCount )
TransactionStreamVerifyingResponseHandler( int txCount )
{
this.txCount = txCount;
}
Expand Down
10 changes: 5 additions & 5 deletions enterprise/com/src/test/java/org/neo4j/com/MadeUpServer.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ public class MadeUpServer extends Server<MadeUpCommunicationInterface, Void>
private volatile boolean responseWritten;
private volatile boolean responseFailureEncountered;
private final byte internalProtocolVersion;
public static final int FRAME_LENGTH = 1024 * 1024;
static final int FRAME_LENGTH = 1024 * 1024;

public MadeUpServer( MadeUpCommunicationInterface requestTarget, final int port, byte internalProtocolVersion,
byte applicationProtocolVersion, TxChecksumVerifier txVerifier, final int chunkSize )
MadeUpServer( MadeUpCommunicationInterface requestTarget, final int port, byte internalProtocolVersion, byte applicationProtocolVersion,
TxChecksumVerifier txVerifier, final int chunkSize )
{
super( requestTarget, new Configuration()
{
Expand Down Expand Up @@ -107,12 +107,12 @@ protected void stopConversation( RequestContext context )
{
}

public boolean responseHasBeenWritten()
boolean responseHasBeenWritten()
{
return responseWritten;
}

public boolean responseFailureEncountered()
boolean responseFailureEncountered()
{
return responseFailureEncountered;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
*/
package org.neo4j.com;

import java.util.concurrent.TimeUnit;

import org.neo4j.test.subprocess.SubProcess;

import static org.neo4j.com.StoreIdTestFactory.newStoreIdForCurrentVersion;
Expand All @@ -30,16 +32,14 @@ public class MadeUpServerProcess extends SubProcess<ServerInterface, StartupData
{
private static final long serialVersionUID = 1L;

public static final int PORT = 8888;

private transient volatile MadeUpServer server;

@Override
protected void startup( StartupData data ) throws Throwable
{
MadeUpCommunicationInterface implementation = new MadeUpServerImplementation(
newStoreIdForCurrentVersion( data.creationTime, data.storeId, data.creationTime, data.storeId ) );
MadeUpServer localServer = new MadeUpServer( implementation, 8888, data.internalProtocolVersion,
MadeUpServer localServer = new MadeUpServer( implementation, data.port, data.internalProtocolVersion,
data.applicationProtocolVersion, TxChecksumVerifier.ALWAYS_MATCH, data.chunkSize );
localServer.init();
localServer.start();
Expand All @@ -52,7 +52,7 @@ public void awaitStarted()
{
try
{
long endTime = System.currentTimeMillis() + 20 * 1000;
long endTime = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis( 60 );
while ( server == null && System.currentTimeMillis() < endTime )
{
Thread.sleep( 10 );
Expand Down
14 changes: 8 additions & 6 deletions enterprise/com/src/test/java/org/neo4j/com/StartupData.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,21 @@ class StartupData implements Serializable
{
private static final long serialVersionUID = 3570271945897559074L;

long creationTime;
long storeId;
byte applicationProtocolVersion;
byte internalProtocolVersion;
int chunkSize;
final int port;
final long creationTime;
final long storeId;
final byte applicationProtocolVersion;
final byte internalProtocolVersion;
final int chunkSize;

StartupData( long creationTime, long storeId, byte internalProtocolVersion, byte applicationProtocolVersion,
int chunkSize )
int chunkSize, int port )
{
this.creationTime = creationTime;
this.storeId = storeId;
this.internalProtocolVersion = internalProtocolVersion;
this.applicationProtocolVersion = applicationProtocolVersion;
this.chunkSize = chunkSize;
this.port = port;
}
}

0 comments on commit 0d62e08

Please sign in to comment.