From 41bef7c0b619c7bc925326451a56071b5736580a Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 19 Jun 2013 08:36:16 +0000
Subject: [PATCH] Fix OPENDJ-986: Exception when reading messages from Replication server RS

---
 opends/src/server/org/opends/server/replication/protocol/ReplServerStartMsg.java |   23 ++++++-----------------
 1 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/protocol/ReplServerStartMsg.java b/opends/src/server/org/opends/server/replication/protocol/ReplServerStartMsg.java
index 6fce977..faa68cd 100644
--- a/opends/src/server/org/opends/server/replication/protocol/ReplServerStartMsg.java
+++ b/opends/src/server/org/opends/server/replication/protocol/ReplServerStartMsg.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2006-2009 Sun Microsystems, Inc.
+ *      Portions copyright 2013 ForgeRock AS.
  */
 package org.opends.server.replication.protocol;
 
@@ -72,7 +73,6 @@
    * @param baseDn base DN for which the ReplServerStartMsg is created.
    * @param windowSize The window size.
    * @param serverState our ServerState for this baseDn.
-   * @param protocolVersion The replication protocol version of the creator.
    * @param generationId The generationId for this server.
    * @param sslEncryption Whether to continue using SSL to encrypt messages
    *                      after the start messages have been exchanged.
@@ -82,13 +82,12 @@
   public ReplServerStartMsg(int serverId, String serverURL, String baseDn,
                                int windowSize,
                                ServerState serverState,
-                               short protocolVersion,
                                long generationId,
                                boolean sslEncryption,
                                byte groupId,
                                int degradedStatusThreshold)
   {
-    super(protocolVersion, generationId);
+    super((short) -1 /* version set when sending */, generationId);
     this.serverId = serverId;
     this.serverURL = serverURL;
     if (baseDn != null)
@@ -302,21 +301,11 @@
    * {@inheritDoc}
    */
   @Override
-  public byte[] getBytes()
-  throws UnsupportedEncodingException
-  {
-    return getBytes(ProtocolVersion.getCurrentVersion());
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public byte[] getBytes(short protocolVersion)
+  public byte[] getBytes(short sessionProtocolVersion)
      throws UnsupportedEncodingException
   {
     // If an older version requested, encode in the requested way
-    switch(protocolVersion)
+    switch(sessionProtocolVersion)
     {
       case ProtocolVersion.REPLICATION_PROTOCOL_V1:
         return getBytes_V1();
@@ -344,8 +333,8 @@
       byteServerState.length + 1;
 
     /* encode the header in a byte[] large enough */
-    byte resultByteArray[] =
-      encodeHeader(MSG_TYPE_REPL_SERVER_START, length, protocolVersion);
+    byte resultByteArray[] = encodeHeader(MSG_TYPE_REPL_SERVER_START, length,
+        sessionProtocolVersion);
 
     int pos = headerLength;
 

--
Gitblit v1.10.0