You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2018/04/06 19:26:43 UTC
[geode] 02/02: GEODE-5027 Bump version to 1.6.0
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE_5027
in repository https://gitbox.apache.org/repos/asf/geode.git
commit d211d7e2883adb78ee58ee947ed18479784766fa
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Fri Apr 6 11:53:48 2018 -0700
GEODE-5027 Bump version to 1.6.0
* I removed junk in Version.java that hasn't been used since the SQLFire/GFX
days.
* I also removed AcceptorImpl.VERSION which seemed to serve no good purpose.
* I added a unit test to make sure that folks update the CommandInitializer
table when adding a new Version.
* I changed CommandInitializer to not create new maps unless necessary.
---
.../java/org/apache/geode/internal/Version.java | 57 ++-----------
.../apache/geode/internal/cache/tier/Acceptor.java | 7 --
.../geode/internal/cache/tier/ConnectionProxy.java | 2 +-
.../tier/sockets/ClientDataSerializerMessage.java | 2 +-
.../cache/tier/sockets/ClientTombstoneMessage.java | 2 +-
.../cache/tier/sockets/CommandInitializer.java | 95 ++++++----------------
.../tier/sockets/ServerSideHandshakeFactory.java | 2 +-
.../apache/geode/internal/VersionJUnitTest.java | 8 ++
8 files changed, 44 insertions(+), 131 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/internal/Version.java b/geode-core/src/main/java/org/apache/geode/internal/Version.java
index d01f9ec..5c67838 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/Version.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/Version.java
@@ -51,15 +51,10 @@ public class Version implements Comparable<Version> {
private final byte release;
private final byte patch;
- /**
- * Set to non-null if the underlying GemFire version is different from product version
- */
- private Version gemfireVersion;
-
/** byte used as ordinal to represent this <code>Version</code> */
private final short ordinal;
- public static final int HIGHEST_VERSION = 80;
+ public static final int HIGHEST_VERSION = 85;
private static final Version[] VALUES = new Version[HIGHEST_VERSION + 1];
@@ -218,6 +213,8 @@ public class Version implements Comparable<Version> {
public static final Version GEODE_160 =
new Version("GEODE", "1.6.0", (byte) 1, (byte) 6, (byte) 0, (byte) 0, GEODE_160_ORDINAL);
+ /* NOTE: when adding a new version bump the ordinal by 5. Ordinals can be short ints */
+
/**
* This constant must be set to the most current version of the product. !!! NOTE: update
* HIGHEST_VERSION when changing CURRENT !!!
@@ -249,21 +246,11 @@ public class Version implements Comparable<Version> {
this.ordinal = ordinal;
this.methodSuffix = this.productName + "_" + this.majorVersion + "_" + this.minorVersion + "_"
+ this.release + "_" + this.patch;
- this.gemfireVersion = null;
if (ordinal != TOKEN_ORDINAL) {
VALUES[this.ordinal] = this;
}
}
- /**
- * Creates a new instance of <code>Version</code> with a different underlying GemFire version
- */
- private Version(String product, String name, byte major, byte minor, byte release, byte patch,
- byte ordinal, Version gemfireVersion) {
- this(product, name, major, minor, release, patch, ordinal);
- this.gemfireVersion = gemfireVersion;
- }
-
/** Return the <code>Version</code> represented by specified ordinal */
public static Version fromOrdinal(short ordinal, boolean forGFEClients)
throws UnsupportedVersionException {
@@ -341,26 +328,6 @@ public class Version implements Comparable<Version> {
}
/**
- * Fixed number of bytes required for serializing this version when "compressed" flag is false in
- * {@link #writeOrdinal(DataOutput, boolean)}.
- */
- public static int uncompressedSize() {
- return 3;
- }
-
- /**
- * Fixed number of bytes required for serializing this version when "compressed" flag is true in
- * {@link #writeOrdinal(DataOutput, boolean)}.
- */
- public int compressedSize() {
- if (ordinal <= Byte.MAX_VALUE) {
- return 1;
- } else {
- return 3;
- }
- }
-
- /**
* Write the given ordinal (result of {@link #ordinal()}) to given {@link ByteBuffer}. This keeps
* the serialization of ordinal compatible with previous versions writing a single byte to
* DataOutput when possible, and a token with 2 bytes if it is large.
@@ -370,8 +337,7 @@ public class Version implements Comparable<Version> {
* @param compressed if true, then use single byte for ordinal < 128, and three bytes for beyond
* that, else always use three bytes where the first byte is {@link #TOKEN_ORDINAL}
*/
- public static void writeOrdinal(ByteBuffer buffer, short ordinal, boolean compressed)
- throws IOException {
+ public static void writeOrdinal(ByteBuffer buffer, short ordinal, boolean compressed) {
if (compressed && ordinal <= Byte.MAX_VALUE) {
buffer.put((byte) ordinal);
} else {
@@ -452,18 +418,10 @@ public class Version implements Comparable<Version> {
}
}
- public Version getGemFireVersion() {
- return this.gemfireVersion != null ? this.gemfireVersion : this;
- }
-
public String getMethodSuffix() {
return this.methodSuffix;
}
- public String getProductName() {
- return this.productName;
- }
-
public String getName() {
return this.name;
}
@@ -488,6 +446,7 @@ public class Version implements Comparable<Version> {
return this.ordinal;
}
+
/**
* Returns whether this <code>Version</code> is compatible with the input <code>Version</code>
*
@@ -538,11 +497,7 @@ public class Version implements Comparable<Version> {
*/
@Override
public String toString() {
- if (this.gemfireVersion == null) {
- return this.productName + " " + this.name;
- } else {
- return this.productName + " " + this.name + '[' + this.gemfireVersion.toString() + ']';
- }
+ return this.productName + " " + this.name;
}
public static String toString(short ordinal) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java
index 22a5e43..6705f60 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/Acceptor.java
@@ -28,13 +28,6 @@ import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier;
public interface Acceptor {
/**
- * The GFE version of the server.
- *
- * @since GemFire 5.7
- */
- Version VERSION = Version.CURRENT.getGemFireVersion();
-
- /**
* Listens for a client to connect and establishes a connection to that client.
*/
void accept() throws Exception;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/ConnectionProxy.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/ConnectionProxy.java
index 7de068b..3321c67 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/ConnectionProxy.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/ConnectionProxy.java
@@ -29,5 +29,5 @@ public interface ConnectionProxy {
*
* @since GemFire 5.7
*/
- Version VERSION = Version.CURRENT.getGemFireVersion();
+ Version VERSION = Version.CURRENT;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java
index 326af57..bf00657 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java
@@ -217,7 +217,7 @@ public class ClientDataSerializerMessage extends ClientUpdateMessageImpl {
@Override
public boolean isClientInterested(ClientProxyMembershipID clientId) {
- return AcceptorImpl.VERSION.compareTo(Version.GFE_61) >= 0;
+ return true;
}
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientTombstoneMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientTombstoneMessage.java
index be2b766..1a63c57 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientTombstoneMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientTombstoneMessage.java
@@ -155,7 +155,7 @@ public class ClientTombstoneMessage extends ClientUpdateMessageImpl {
@Override
public boolean isClientInterested(ClientProxyMembershipID clientId) {
- return Acceptor.VERSION.compareTo(Version.GFE_70) >= 0;
+ return true;
}
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java
index 6ad1bb3..c0b7f99 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java
@@ -292,74 +292,38 @@ public class CommandInitializer {
gfe70Commands.put(MessageType.GET_PDX_ENUMS, GetPdxEnums70.getCommand());
gfe70Commands.put(MessageType.EXECUTE_FUNCTION, ExecuteFunction70.getCommand());
- Map<Integer, Command> gfe701Commands = new HashMap<Integer, Command>();
- gfe701Commands.putAll(gfe70Commands);
- ALL_COMMANDS.put(Version.GFE_701, gfe701Commands);
-
- Map<Integer, Command> gfe71Commands = new HashMap<Integer, Command>();
- gfe71Commands.putAll(ALL_COMMANDS.get(Version.GFE_701));
- ALL_COMMANDS.put(Version.GFE_71, gfe71Commands);
+ ALL_COMMANDS.put(Version.GFE_701, gfe70Commands);
+ ALL_COMMANDS.put(Version.GFE_71, gfe70Commands);
Map<Integer, Command> gfe80Commands = new HashMap<Integer, Command>();
gfe80Commands.putAll(ALL_COMMANDS.get(Version.GFE_71));
+ ALL_COMMANDS.put(Version.GFE_80, gfe80Commands);
// PutAll is changed to chunk responses back to the client
gfe80Commands.put(MessageType.PUTALL, PutAll80.getCommand());
- ALL_COMMANDS.put(Version.GFE_80, gfe80Commands);
- Map<Integer, Command> gfe8009Commands = new HashMap<Integer, Command>();
- gfe8009Commands.putAll(ALL_COMMANDS.get(Version.GFE_80));
- ALL_COMMANDS.put(Version.GFE_8009, gfe8009Commands);
-
- {
- Map<Integer, Command> gfe81Commands = new HashMap<Integer, Command>();
- gfe81Commands.putAll(ALL_COMMANDS.get(Version.GFE_80));
- gfe81Commands.put(MessageType.GET_ALL_WITH_CALLBACK, GetAllWithCallback.getCommand());
- gfe81Commands.put(MessageType.PUT_ALL_WITH_CALLBACK, PutAllWithCallback.getCommand());
- gfe81Commands.put(MessageType.REMOVE_ALL, RemoveAll.getCommand());
- ALL_COMMANDS.put(Version.GFE_81, gfe81Commands);
- }
- {
- Map<Integer, Command> gfe82Commands = new HashMap<Integer, Command>();
- gfe82Commands.putAll(ALL_COMMANDS.get(Version.GFE_81));
- ALL_COMMANDS.put(Version.GFE_82, gfe82Commands);
- }
- {
- Map<Integer, Command> gfe90Commands = new HashMap<Integer, Command>();
- gfe90Commands.putAll(ALL_COMMANDS.get(Version.GFE_82));
- ALL_COMMANDS.put(Version.GFE_90, gfe90Commands);
- gfe90Commands.put(MessageType.QUERY_WITH_PARAMETERS, QueryWithParametersGeode10.getCommand());
- gfe90Commands.put(MessageType.QUERY, QueryGeode10.getCommand());
- }
- {
- Map<Integer, Command> geode110Commands = new HashMap<Integer, Command>();
- geode110Commands.putAll(ALL_COMMANDS.get(Version.GFE_90));
- ALL_COMMANDS.put(Version.GEODE_110, geode110Commands);
- }
- {
- Map<Integer, Command> geode111Commands = new HashMap<Integer, Command>();
- geode111Commands.putAll(ALL_COMMANDS.get(Version.GEODE_110));
- ALL_COMMANDS.put(Version.GEODE_111, geode111Commands);
- }
- {
- Map<Integer, Command> commands = new HashMap<Integer, Command>();
- commands.putAll(ALL_COMMANDS.get(Version.GEODE_111));
- ALL_COMMANDS.put(Version.GEODE_120, commands);
- }
- {
- Map<Integer, Command> commands = new HashMap<Integer, Command>();
- commands.putAll(ALL_COMMANDS.get(Version.GEODE_120));
- ALL_COMMANDS.put(Version.GEODE_130, commands);
- }
- {
- Map<Integer, Command> commands = new HashMap<Integer, Command>();
- commands.putAll(ALL_COMMANDS.get(Version.GEODE_130));
- ALL_COMMANDS.put(Version.GEODE_140, commands);
- }
- {
- Map<Integer, Command> commands = new HashMap<Integer, Command>();
- commands.putAll(ALL_COMMANDS.get(Version.GEODE_140));
- ALL_COMMANDS.put(Version.GEODE_150, commands);
- }
+ ALL_COMMANDS.put(Version.GFE_8009, gfe80Commands);
+
+ Map<Integer, Command> gfe81Commands = new HashMap<Integer, Command>();
+ gfe81Commands.putAll(gfe80Commands);
+ gfe81Commands.put(MessageType.GET_ALL_WITH_CALLBACK, GetAllWithCallback.getCommand());
+ gfe81Commands.put(MessageType.PUT_ALL_WITH_CALLBACK, PutAllWithCallback.getCommand());
+ gfe81Commands.put(MessageType.REMOVE_ALL, RemoveAll.getCommand());
+
+ ALL_COMMANDS.put(Version.GFE_81, gfe81Commands);
+ ALL_COMMANDS.put(Version.GFE_82, gfe81Commands);
+
+ Map<Integer, Command> commands = new HashMap<Integer, Command>();
+ commands.putAll(ALL_COMMANDS.get(Version.GFE_82));
+ ALL_COMMANDS.put(Version.GFE_90, commands);
+ commands.put(MessageType.QUERY_WITH_PARAMETERS, QueryWithParametersGeode10.getCommand());
+ commands.put(MessageType.QUERY, QueryGeode10.getCommand());
+
+ ALL_COMMANDS.put(Version.GEODE_110, commands);
+ ALL_COMMANDS.put(Version.GEODE_111, commands);
+ ALL_COMMANDS.put(Version.GEODE_120, commands);
+ ALL_COMMANDS.put(Version.GEODE_130, commands);
+ ALL_COMMANDS.put(Version.GEODE_140, commands);
+ ALL_COMMANDS.put(Version.GEODE_150, commands);
}
@@ -370,11 +334,4 @@ public class CommandInitializer {
public static Map<Integer, Command> getCommands(ServerConnection connection) {
return getCommands(connection.getClientVersion());
}
-
- /**
- * A method used by tests for Backward compatibility
- */
- public static void testSetCommands(Map<Integer, Command> testCommands) {
- ALL_COMMANDS.put(Version.TEST_VERSION, testCommands);
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeFactory.java
index fcea191..9f760bc 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeFactory.java
@@ -36,7 +36,7 @@ import org.apache.geode.internal.security.SecurityService;
class ServerSideHandshakeFactory {
private static final Logger logger = LogService.getLogger();
- static final Version currentServerVersion = Acceptor.VERSION;
+ static final Version currentServerVersion = Version.CURRENT;
ServerSideHandshake readHandshake(Socket socket, int timeout, CommunicationMode communicationMode,
DistributedSystem system, SecurityService securityService) throws Exception {
diff --git a/geode-core/src/test/java/org/apache/geode/internal/VersionJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/VersionJUnitTest.java
index ef0e0bc..48572fc 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/VersionJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/VersionJUnitTest.java
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.apache.geode.internal.cache.tier.sockets.CommandInitializer;
import org.apache.geode.test.junit.categories.UnitTest;
@Category(UnitTest.class)
@@ -59,4 +60,11 @@ public class VersionJUnitTest {
assertFalse(Version.GFE_65.isPre65());
assertFalse(Version.GFE_70.isPre65());
}
+
+ @Test
+ public void testCommandMapContainsCurrentVersion() {
+ org.junit.Assert.assertNotNull(
+ "Please add a commnd set for the new version of Geode to CommandInitializer",
+ CommandInitializer.getCommands(Version.CURRENT));
+ }
}
--
To stop receiving notification emails like this one, please contact
bschuchardt@apache.org.