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 2019/08/26 23:04:52 UTC
[geode] 02/05: redoing lost work
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch dsfid_separation_wip
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 4c4e727647a04317756cdfe11f48e5721bba2fe7
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Fri Aug 23 13:38:00 2019 -0700
redoing lost work
---
.../geode/ClusterCommunicationsDUnitTest.java | 12 +-
...ackwardCompatibilitySerializationDUnitTest.java | 24 +-
.../cache/client/ClientCacheFactoryJUnitTest.java | 8 +-
.../ResultsDataSerializabilityJUnitTest.java | 2 +-
.../gms/messenger/JGroupsMessengerJUnitTest.java | 2 +-
...FOEvictionAlgoMemoryEnabledRegionJUnitTest.java | 2 +-
.../apache/geode/pdx/PdxSerializableJUnitTest.java | 2 +-
.../internal/InternalDataSerializerBenchmark.java | 4 +-
.../main/java/org/apache/geode/DataSerializer.java | 2 +-
.../admin/jmx/internal/StatAlertNotification.java | 2 +-
.../geode/cache/client/internal/AbstractOp.java | 2 +-
.../cache/client/internal/AuthenticateUserOp.java | 2 +-
.../client/internal/ClientSideHandshakeImpl.java | 12 +-
.../apache/geode/cache/client/internal/PutOp.java | 2 +-
.../internal/locator/ClientConnectionRequest.java | 2 +-
.../internal/locator/ClientConnectionResponse.java | 2 +-
.../internal/locator/ClientReplacementRequest.java | 2 +-
.../internal/locator/GetAllServersRequest.java | 2 +-
.../internal/locator/GetAllServersResponse.java | 2 +-
.../internal/locator/LocatorListRequest.java | 2 +-
.../internal/locator/LocatorListResponse.java | 2 +-
.../internal/locator/LocatorStatusRequest.java | 4 +-
.../internal/locator/LocatorStatusResponse.java | 2 +-
.../internal/locator/QueueConnectionRequest.java | 2 +-
.../internal/locator/QueueConnectionResponse.java | 2 +-
.../internal/locator/ServerLocationRequest.java | 2 +-
.../internal/locator/ServerLocationResponse.java | 2 +-
.../apache/geode/cache/query/internal/CqEntry.java | 2 +-
.../internal/CumulativeNonDistinctResults.java | 4 +-
.../cache/query/internal/LinkedResultSet.java | 2 +-
.../cache/query/internal/LinkedStructSet.java | 2 +-
.../cache/query/internal/NWayMergeResults.java | 4 +-
.../geode/cache/query/internal/NullToken.java | 2 +-
.../cache/query/internal/PRQueryTraceInfo.java | 2 +-
.../geode/cache/query/internal/ResultsBag.java | 2 +-
.../query/internal/ResultsCollectionWrapper.java | 2 +-
.../geode/cache/query/internal/ResultsSet.java | 2 +-
.../cache/query/internal/SortedResultSet.java | 2 +-
.../cache/query/internal/SortedStructSet.java | 2 +-
.../geode/cache/query/internal/StructImpl.java | 2 +-
.../geode/cache/query/internal/StructSet.java | 2 +-
.../geode/cache/query/internal/Undefined.java | 2 +-
.../query/internal/index/IndexCreationData.java | 2 +-
.../cache/query/internal/types/ObjectTypeImpl.java | 2 +-
.../apache/geode/cache/wan/EventSequenceID.java | 2 +-
.../distributed/internal/DistributionAdvisor.java | 2 +-
.../distributed/internal/DistributionMessage.java | 2 +-
.../internal/InternalDistributedSystem.java | 7 -
.../distributed/internal/ReplyProcessor21.java | 2 +-
.../geode/distributed/internal/ServerLocator.java | 2 +-
.../internal/WaitForViewInstallation.java | 2 +-
.../internal/locks/DLockRemoteToken.java | 2 +-
.../distributed/internal/locks/DLockService.java | 2 +-
.../membership/InternalDistributedMember.java | 2 +-
.../membership/adapter/GMSMembershipManager.java | 2 +-
.../membership/adapter/GMSMessageAdapter.java | 2 +-
.../internal/membership/gms/GMSMember.java | 2 +-
.../internal/membership/gms/GMSMembershipView.java | 2 +-
.../internal/membership/gms/GMSUtil.java | 4 +-
.../membership/gms/interfaces/Manager.java | 2 +-
.../gms/locator/FindCoordinatorResponse.java | 2 +-
.../membership/gms/locator/GetViewRequest.java | 2 +-
.../membership/gms/locator/GetViewResponse.java | 2 +-
.../membership/gms/membership/GMSJoinLeave.java | 6 +-
.../gms/messages/AbstractGMSMessage.java | 2 +-
.../membership/gms/messenger/JGroupsMessenger.java | 14 +-
.../distributed/internal/tcpserver/TcpClient.java | 21 +-
.../distributed/internal/tcpserver/TcpServer.java | 14 +-
.../{serialization => }/ByteBufferWriter.java | 0
.../org/apache/geode/internal/DSFIDFactory.java | 1104 ++++++++++++++++++--
.../apache/geode/internal/ExternalizableDSFID.java | 2 +
.../geode/internal/HeapDataOutputStream.java | 1032 +-----------------
.../geode/internal/InternalDataSerializer.java | 122 +--
.../org/apache/geode/internal/SystemAdmin.java | 7 +-
.../internal/{serialization => }/Version.java | 13 +
.../geode/internal/VersionedDataSerializable.java | 1 +
.../{serialization => }/VersionedObjectInput.java | 9 +-
.../{serialization => }/VersionedObjectOutput.java | 9 +-
.../internal/admin/ClientMembershipMessage.java | 3 +-
.../internal/admin/remote/ClientHealthStats.java | 2 +-
.../admin/remote/DurableClientInfoRequest.java | 2 +-
.../statalerts/GaugeThresholdDecoratorImpl.java | 2 +-
.../statalerts/NumberThresholdDecoratorImpl.java | 2 +-
.../geode/internal/cache/AbstractRegion.java | 2 +-
.../internal/cache/CacheDistributionAdvisor.java | 2 +-
.../cache/CachedDeserializableFactory.java | 2 +-
.../internal/cache/DistTXPrecommitMessage.java | 2 +-
.../internal/cache/DistributedPutAllOperation.java | 4 +-
.../cache/DistributedRemoveAllOperation.java | 2 +-
.../cache/DistributedTombstoneOperation.java | 2 +-
.../geode/internal/cache/EntryEventImpl.java | 4 +-
.../org/apache/geode/internal/cache/EventID.java | 7 +-
.../apache/geode/internal/cache/FilterProfile.java | 4 +-
.../geode/internal/cache/FilterRoutingInfo.java | 5 +-
.../geode/internal/cache/GemFireCacheImpl.java | 2 +-
.../internal/cache/InitialImageFlowControl.java | 2 +-
.../internal/cache/InitialImageOperation.java | 10 +-
.../cache/InvalidatePartitionedRegionMessage.java | 2 +-
.../geode/internal/cache/NonLocalRegionEntry.java | 2 +-
.../org/apache/geode/internal/cache/Oplog.java | 2 +-
.../geode/internal/cache/PRQueryProcessor.java | 2 +-
.../cache/PreferBytesCachedDeserializable.java | 2 +-
.../geode/internal/cache/ProxyRegionMap.java | 2 +-
.../apache/geode/internal/cache/RegionEntry.java | 2 +-
.../geode/internal/cache/RegionEventImpl.java | 2 +-
.../cache/StoreAllCachedDeserializable.java | 2 +-
.../apache/geode/internal/cache/TXEntryState.java | 2 +-
.../org/apache/geode/internal/cache/Token.java | 4 +-
.../internal/cache/VMCachedDeserializable.java | 2 +-
.../geode/internal/cache/ValidatingDiskRegion.java | 2 +-
.../CompressedCachedDeserializable.java | 2 +-
.../entries/AbstractOplogDiskRegionEntry.java | 2 +-
.../cache/entries/AbstractRegionEntry.java | 2 +-
.../geode/internal/cache/entries/DiskEntry.java | 2 +-
.../geode/internal/cache/ha/HARegionQueue.java | 10 +-
.../geode/internal/cache/ha/ThreadIdentifier.java | 2 +-
.../geode/internal/cache/locks/TXLockBatch.java | 2 +-
.../geode/internal/cache/locks/TXLockIdImpl.java | 2 +-
.../cache/partitioned/BucketCountLoadProbe.java | 2 +-
.../cache/partitioned/PRTombstoneMessage.java | 2 +-
.../partitioned/PRUpdateEntryVersionMessage.java | 2 +-
.../cache/partitioned/PutAllPRMessage.java | 2 +-
.../cache/partitioned/RemoveAllPRMessage.java | 2 +-
.../cache/partitioned/SizedBasedLoadProbe.java | 2 +-
.../cache/snapshot/RegionSnapshotServiceImpl.java | 2 +-
.../internal/cache/snapshot/SnapshotPacket.java | 2 +-
.../geode/internal/cache/tier/sockets/AuthIds.java | 2 +-
.../cache/tier/sockets/CacheClientProxy.java | 2 +-
.../cache/tier/sockets/CacheClientUpdater.java | 2 +-
.../tier/sockets/ClientInterestMessageImpl.java | 2 +-
.../internal/cache/tier/sockets/ClientMessage.java | 2 +-
.../tier/sockets/ClientProxyMembershipID.java | 4 +-
.../tier/sockets/ClientRegistrationMetadata.java | 9 +-
.../tier/sockets/ClientUpdateMessageImpl.java | 4 +-
.../internal/cache/tier/sockets/EncryptorImpl.java | 2 +-
.../cache/tier/sockets/HAEventWrapper.java | 4 +-
.../tier/sockets/InterestResultPolicyImpl.java | 2 +-
.../cache/tier/sockets/ObjectPartList.java | 2 +-
.../cache/tier/sockets/ObjectPartList651.java | 2 +-
.../geode/internal/cache/tier/sockets/Part.java | 2 +-
.../tier/sockets/SerializedObjectPartList.java | 2 +-
.../cache/tier/sockets/ServerConnection.java | 2 +-
.../tier/sockets/ServerSideHandshakeImpl.java | 17 +-
.../cache/tier/sockets/VersionedObjectList.java | 2 +-
.../geode/internal/cache/tx/DistTxEntryEvent.java | 2 +-
.../internal/cache/tx/RemotePutAllMessage.java | 2 +-
.../internal/cache/tx/RemoteRemoveAllMessage.java | 2 +-
.../internal/cache/versions/DiskVersionTag.java | 4 +-
.../cache/versions/RegionVersionVector.java | 7 +-
.../internal/cache/versions/VersionSource.java | 2 +-
.../geode/internal/cache/versions/VersionTag.java | 2 +-
.../wan/GatewaySenderEventCallbackArgument.java | 2 +-
.../internal/cache/wan/GatewaySenderEventImpl.java | 6 +-
...aySenderQueueEntrySynchronizationOperation.java | 2 +-
.../internal/offheap/AbstractStoredObject.java | 4 +-
.../apache/geode/internal/offheap/DataType.java | 22 +-
.../internal/offheap/OffHeapRegionEntryHelper.java | 2 +-
.../internal/offheap/OffHeapStoredObject.java | 2 +-
.../serialization/BufferDataOutputStream.java | 1029 +++++++++++++++++-
.../{ => serialization}/ByteArrayDataInput.java | 24 +-
.../geode/internal/serialization/DSCODE.java | 3 +-
.../serialization/DSFIDNotFoundException.java | 4 +-
.../internal/serialization/DSFIDSerializer.java | 36 +-
.../serialization/DataSerializableFixedID.java | 40 +-
.../geode/internal/serialization/DscodeHelper.java | 3 +-
.../serialization/SerializationVersions.java | 4 +-
.../serialization/VersionedDataInputStream.java | 9 +-
.../serialization/VersionedDataOutputStream.java | 9 +-
.../serialization/VersionedDataStream.java | 11 +-
.../apache/geode/internal/tcp/MsgDestreamer.java | 5 +-
.../tcp/VersionedByteBufferInputStream.java | 9 +-
.../geode/internal/tcp/VersionedMsgStreamer.java | 9 +-
.../org/apache/geode/internal/util/BlobHelper.java | 6 +-
.../management/internal/FederationComponent.java | 2 +-
.../internal/JmxManagerLocatorRequest.java | 2 +-
.../internal/JmxManagerLocatorResponse.java | 2 +-
.../internal/cli/commands/ConnectCommand.java | 6 -
.../internal/cli/functions/CliFunctionResult.java | 2 +-
.../messages/ConfigurationResponse.java | 2 +-
.../main/java/org/apache/geode/pdx/FieldType.java | 2 +-
.../java/org/apache/geode/pdx/internal/EnumId.java | 2 +-
.../org/apache/geode/pdx/internal/EnumInfo.java | 2 +-
.../apache/geode/pdx/internal/PdxInstanceEnum.java | 2 +-
.../apache/geode/pdx/internal/PdxInstanceImpl.java | 2 +-
.../apache/geode/pdx/internal/PdxReaderImpl.java | 2 +-
.../org/apache/geode/pdx/internal/PdxString.java | 2 +-
.../apache/geode/pdx/internal/PdxWriterImpl.java | 2 +-
.../apache/geode/pdx/internal/json/PdxToJSON.java | 5 +-
.../java/org/apache/geode/DataSerializerTest.java | 6 +-
.../cache/execute/FunctionAdapterJUnitTest.java | 5 +-
.../MembershipDependenciesJUnitTest.java | 4 +-
.../membership/gms/GMSMemberJUnitTest.java | 4 +-
.../geode/internal/ByteArrayDataInputTest.java | 4 +-
.../geode/internal/DataSerializableJUnitTest.java | 7 +-
.../internal/HeapDataOutputStreamJUnitTest.java | 7 +-
.../geode/internal/HeapDataOutputStreamTest.java | 11 +-
.../internal/InternalDataSerializerJUnitTest.java | 1 +
.../alerting/AlertListenerMessageFactoryTest.java | 2 +-
.../geode/internal/cache/FilterInfoTest.java | 4 +-
.../cache/ha/EventIdOptimizationJUnitTest.java | 9 +-
.../offheap/AbstractStoredObjectTestBase.java | 2 +-
.../geode/internal/offheap/DataTypeJUnitTest.java | 35 +-
.../internal/offheap/MemoryBlockNodeJUnitTest.java | 2 +-
.../offheap/OffHeapRegionEntryHelperJUnitTest.java | 2 +-
.../offheap/OffHeapStoredObjectJUnitTest.java | 2 +-
.../offheap/TinyStoredObjectJUnitTest.java | 2 +-
.../geode/internal/serialization/DSCODETest.java | 2 +-
.../internal/serialization/VersionJUnitTest.java | 1 -
.../apache/geode/internal/util/BlobHelperTest.java | 2 +-
.../org/apache/geode/pdx/internal/EnumIdTest.java | 2 +-
.../apache/geode/pdx/internal/EnumInfoTest.java | 2 +-
.../geode/codeAnalysis/decode/CompiledClass.java | 2 +-
.../internal/cache/eviction/LRUTestEntry.java | 2 +-
.../lucene/internal/LuceneResultStructImpl.java | 2 +-
.../cache/lucene/internal/LuceneServiceImpl.java | 44 +-
.../cache/lucene/internal/StringQueryProvider.java | 2 +-
.../lucene/internal/distributed/EntryScore.java | 2 +-
.../distributed/LuceneFunctionContext.java | 2 +-
.../lucene/internal/distributed/TopEntries.java | 2 +-
.../internal/distributed/TopEntriesCollector.java | 2 +-
.../distributed/TopEntriesCollectorManager.java | 2 +-
.../WaitUntilFlushedFunctionContext.java | 2 +-
.../cache/lucene/internal/filesystem/ChunkKey.java | 2 +-
.../cache/lucene/internal/filesystem/File.java | 2 +-
.../cache/lucene/internal/results/PageResults.java | 2 +-
.../LuceneQueryFunctionContextJUnitTest.java | 2 +-
.../internal/results/PageEntryJUnitTest.java | 4 +-
.../internal/results/PageResultsJUnitTest.java | 8 +-
.../apache/geode/OldClientSupportDUnitTest.java | 16 +-
.../gemstone/gemfire/OldClientSupportProvider.java | 4 +-
.../internal/locator/wan/LocatorJoinMessage.java | 2 +-
.../locator/wan/RemoteLocatorJoinRequest.java | 2 +-
.../locator/wan/RemoteLocatorJoinResponse.java | 2 +-
.../locator/wan/RemoteLocatorPingRequest.java | 2 +-
.../locator/wan/RemoteLocatorPingResponse.java | 2 +-
.../internal/locator/wan/RemoteLocatorRequest.java | 2 +-
.../locator/wan/RemoteLocatorResponse.java | 2 +-
.../internal/locator/wan/WANFactoryImpl.java | 25 +-
.../geode/rest/internal/web/util/JSONUtils.java | 13 +-
239 files changed, 2668 insertions(+), 1643 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/ClusterCommunicationsDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/ClusterCommunicationsDUnitTest.java
index 046d656..a3afd62 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/ClusterCommunicationsDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/ClusterCommunicationsDUnitTest.java
@@ -29,7 +29,7 @@ import static org.apache.geode.distributed.ConfigurationProperties.SSL_REQUIRE_A
import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE;
import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE_PASSWORD;
import static org.apache.geode.distributed.ConfigurationProperties.USE_CLUSTER_CONFIGURATION;
-import static org.apache.geode.internal.DataSerializableFixedID.SERIAL_ACKED_MESSAGE;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.SERIAL_ACKED_MESSAGE;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import static org.apache.geode.test.awaitility.GeodeAwaitility.getTimeout;
import static org.apache.geode.test.dunit.IgnoredException.addIgnoredException;
@@ -77,7 +77,7 @@ import org.apache.geode.distributed.internal.ReplyMessage;
import org.apache.geode.distributed.internal.SerialAckedMessage;
import org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave;
import org.apache.geode.internal.AvailablePortHelper;
-import org.apache.geode.internal.DSFIDFactory;
+import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.DirectReplyMessage;
import org.apache.geode.test.dunit.DistributedTestUtils;
import org.apache.geode.test.dunit.Host;
@@ -172,8 +172,9 @@ public class ClusterCommunicationsDUnitTest implements Serializable {
@Test
public void receiveBigResponse() {
- invokeInEveryVM(() -> DSFIDFactory.registerDSFID(SERIAL_ACKED_MESSAGE,
- SerialAckedMessageWithBigReply.class));
+ invokeInEveryVM(
+ () -> InternalDataSerializer.getDSFIDSerializer().registerDSFID(SERIAL_ACKED_MESSAGE,
+ SerialAckedMessageWithBigReply.class));
try {
int locatorPort = createLocator(getVM(0));
for (int i = 1; i <= NUM_SERVERS; i++) {
@@ -190,7 +191,8 @@ public class ClusterCommunicationsDUnitTest implements Serializable {
});
} finally {
invokeInEveryVM(
- () -> DSFIDFactory.registerDSFID(SERIAL_ACKED_MESSAGE, SerialAckedMessage.class));
+ () -> InternalDataSerializer.getDSFIDSerializer().registerDSFID(SERIAL_ACKED_MESSAGE,
+ SerialAckedMessage.class));
}
}
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/BackwardCompatibilitySerializationDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/BackwardCompatibilitySerializationDUnitTest.java
index 4c82444..7a0396c 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/BackwardCompatibilitySerializationDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/BackwardCompatibilitySerializationDUnitTest.java
@@ -34,6 +34,10 @@ import org.junit.experimental.categories.Category;
import org.apache.geode.cache.Cache;
import org.apache.geode.internal.cache.DistributedPutAllOperation.EntryVersionsList;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.SerializationVersions;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
import org.apache.geode.test.junit.categories.SerializationTest;
@@ -66,14 +70,16 @@ public class BackwardCompatibilitySerializationDUnitTest extends JUnit4CacheTest
public final void postSetUp() {
baos = new ByteArrayOutputStream();
// register TestMessage using an existing dsfid
- DSFIDFactory.registerDSFID(DataSerializableFixedID.PUTALL_VERSIONS_LIST, TestMessage.class);
+ InternalDataSerializer.getDSFIDSerializer()
+ .registerDSFID(DataSerializableFixedID.PUTALL_VERSIONS_LIST, TestMessage.class);
}
@Override
public final void preTearDownCacheTestCase() {
resetFlags();
// reset the class mapped to the dsfid
- DSFIDFactory.registerDSFID(DataSerializableFixedID.PUTALL_VERSIONS_LIST,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.PUTALL_VERSIONS_LIST,
EntryVersionsList.class);
this.baos = null;
this.bais = null;
@@ -87,7 +93,7 @@ public class BackwardCompatibilitySerializationDUnitTest extends JUnit4CacheTest
@Test
public void testToDataFromHigherVersionToLower() throws Exception {
DataOutputStream dos =
- new VersionedDataOutputStream(new DataOutputStream(baos), Version.GFE_56);
+ new VersionedDataOutputStream(new DataOutputStream(baos), Version.GFE_56.ordinal());
InternalDataSerializer.writeDSFID(msg, dos);
assertTrue(toDataPre66Called);
assertFalse(toDataCalled);
@@ -101,7 +107,7 @@ public class BackwardCompatibilitySerializationDUnitTest extends JUnit4CacheTest
@Test
public void testToDataFromLowerVersionToHigher() throws Exception {
DataOutputStream dos =
- new VersionedDataOutputStream(new DataOutputStream(baos), Version.GFE_701);
+ new VersionedDataOutputStream(new DataOutputStream(baos), Version.GFE_701.ordinal());
InternalDataSerializer.writeDSFID(msg, dos);
assertTrue(toDataCalled);
}
@@ -116,7 +122,8 @@ public class BackwardCompatibilitySerializationDUnitTest extends JUnit4CacheTest
InternalDataSerializer.writeDSFID(msg, new DataOutputStream(baos));
this.bais = new ByteArrayInputStream(baos.toByteArray());
- DataInputStream dis = new VersionedDataInputStream(new DataInputStream(bais), Version.GFE_701);
+ DataInputStream dis =
+ new VersionedDataInputStream(new DataInputStream(bais), Version.GFE_701.ordinal());
Object o = InternalDataSerializer.basicReadObject(dis);
assertTrue(o instanceof TestMessage);
assertTrue(fromDataCalled);
@@ -132,7 +139,8 @@ public class BackwardCompatibilitySerializationDUnitTest extends JUnit4CacheTest
InternalDataSerializer.writeDSFID(msg, new DataOutputStream(baos));
this.bais = new ByteArrayInputStream(baos.toByteArray());
- DataInputStream dis = new VersionedDataInputStream(new DataInputStream(bais), Version.GFE_56);
+ DataInputStream dis =
+ new VersionedDataInputStream(new DataInputStream(bais), Version.GFE_56.ordinal());
Object o = InternalDataSerializer.basicReadObject(dis);
assertTrue(o instanceof TestMessage);
assertTrue(fromDataPre66Called);
@@ -164,7 +172,7 @@ public class BackwardCompatibilitySerializationDUnitTest extends JUnit4CacheTest
constdsfids.add(new Short(DataSerializableFixedID.TOKEN_TOMBSTONE).intValue());
for (int i = 0; i < 256; i++) {
- Constructor<?> cons = DSFIDFactory.getDsfidmap()[i];
+ Constructor<?> cons = InternalDataSerializer.getDSFIDSerializer().getDsfidmap()[i];
if (!constdsfids.contains(i - Byte.MAX_VALUE - 1) && cons != null) {
Object ds = cons.newInstance((Object[]) null);
checkSupportForRollingUpgrade(ds);
@@ -173,7 +181,7 @@ public class BackwardCompatibilitySerializationDUnitTest extends JUnit4CacheTest
// some msgs require distributed system
Cache c = getCache();
- for (Object o : DSFIDFactory.getDsfidmap2().values()) {
+ for (Object o : InternalDataSerializer.getDSFIDSerializer().getDsfidmap2().values()) {
Constructor<?> cons = (Constructor<?>) o;
if (cons != null) {
DataSerializableFixedID ds = (DataSerializableFixedID) cons.newInstance((Object[]) null);
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/cache/client/ClientCacheFactoryJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/cache/client/ClientCacheFactoryJUnitTest.java
index f35b79f..fbebdd6 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/cache/client/ClientCacheFactoryJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/cache/client/ClientCacheFactoryJUnitTest.java
@@ -60,11 +60,11 @@ import org.apache.geode.distributed.internal.membership.adapter.GMSMemberAdapter
import org.apache.geode.distributed.internal.membership.gms.GMSMember;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
import org.apache.geode.internal.cache.xmlcache.CacheXmlGenerator;
import org.apache.geode.internal.cache.xmlcache.ClientCacheCreation;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
import org.apache.geode.pdx.ReflectionBasedAutoSerializer;
import org.apache.geode.test.junit.categories.ClientServerTest;
import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
@@ -355,7 +355,8 @@ public class ClientCacheFactoryJUnitTest {
DataSerializer.writeObject(clientID, out);
DataInputStream in =
- new VersionedDataInputStream(new ByteArrayInputStream(out.toByteArray()), Version.CURRENT);
+ new VersionedDataInputStream(new ByteArrayInputStream(out.toByteArray()),
+ Version.CURRENT_ORDINAL);
ClientProxyMembershipID newID = DataSerializer.readObject(in);
InternalDistributedMember newMemberID =
(InternalDistributedMember) newID.getDistributedMember();
@@ -372,7 +373,8 @@ public class ClientCacheFactoryJUnitTest {
out = new HeapDataOutputStream(Version.CURRENT);
DataSerializer.writeObject(clientID, out);
- in = new VersionedDataInputStream(new ByteArrayInputStream(out.toByteArray()), Version.CURRENT);
+ in = new VersionedDataInputStream(new ByteArrayInputStream(out.toByteArray()),
+ Version.CURRENT_ORDINAL);
newID = DataSerializer.readObject(in);
newMemberID = (InternalDistributedMember) newID.getDistributedMember();
assertThat(newMemberID.getVersionObject()).isEqualTo(Version.CURRENT);
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/cache/query/functional/ResultsDataSerializabilityJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/cache/query/functional/ResultsDataSerializabilityJUnitTest.java
index 3539bc6..7ec2bc1 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/cache/query/functional/ResultsDataSerializabilityJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/cache/query/functional/ResultsDataSerializabilityJUnitTest.java
@@ -54,7 +54,7 @@ import org.apache.geode.cache.query.internal.types.CollectionTypeImpl;
import org.apache.geode.cache.query.internal.types.MapTypeImpl;
import org.apache.geode.cache.query.internal.types.ObjectTypeImpl;
import org.apache.geode.cache.query.internal.types.StructTypeImpl;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.test.junit.categories.OQLQueryTest;
/**
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
index 602bccb..87e56bb 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
@@ -91,10 +91,10 @@ import org.apache.geode.distributed.internal.membership.gms.messages.JoinRespons
import org.apache.geode.distributed.internal.membership.gms.messages.LeaveRequestMessage;
import org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.JGroupsReceiver;
import org.apache.geode.internal.AvailablePortHelper;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.test.junit.categories.MembershipTest;
@Category({MembershipTest.class})
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/LIFOEvictionAlgoMemoryEnabledRegionJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/LIFOEvictionAlgoMemoryEnabledRegionJUnitTest.java
index 7fa5f8d..1063deb 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/LIFOEvictionAlgoMemoryEnabledRegionJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/LIFOEvictionAlgoMemoryEnabledRegionJUnitTest.java
@@ -49,7 +49,6 @@ import org.apache.geode.cache.Scope;
import org.apache.geode.cache.TimeoutException;
import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.DistributedRegion.DiskPosition;
@@ -63,6 +62,7 @@ import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* This is a test verifies region is LIFO enabled by MEMORY verifies correct stats updating and
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java
index c5864c0..af9e806 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java
@@ -54,12 +54,12 @@ import org.apache.geode.cache.CacheFactory;
import org.apache.geode.cache.DiskStoreFactory;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.RegionShortcut;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.PdxSerializerObject;
import org.apache.geode.internal.SystemAdmin;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.GemFireCacheImpl;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.internal.tcp.ByteBufferInputStream.ByteSourceFactory;
import org.apache.geode.internal.util.ArrayUtils;
import org.apache.geode.pdx.internal.DataSize;
diff --git a/geode-core/src/jmh/java/org/apache/geode/internal/InternalDataSerializerBenchmark.java b/geode-core/src/jmh/java/org/apache/geode/internal/InternalDataSerializerBenchmark.java
index 1417a50..cc12370 100644
--- a/geode-core/src/jmh/java/org/apache/geode/internal/InternalDataSerializerBenchmark.java
+++ b/geode-core/src/jmh/java/org/apache/geode/internal/InternalDataSerializerBenchmark.java
@@ -33,6 +33,8 @@ import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Warmup;
import org.apache.geode.DataSerializer;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DSCODE;
/**
@@ -64,7 +66,7 @@ public class InternalDataSerializerBenchmark {
@BenchmarkMode(Mode.Throughput)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public String readStringBenchmark() throws IOException {
- dataInput.initialize(serializedBytes, Version.CURRENT);
+ dataInput.initialize(serializedBytes, Version.CURRENT_ORDINAL);
String result = InternalDataSerializer.readString(dataInput, DSCODE.STRING_BYTES.toByte());
return result;
}
diff --git a/geode-core/src/main/java/org/apache/geode/DataSerializer.java b/geode-core/src/main/java/org/apache/geode/DataSerializer.java
index 3fd91fc..d7cf3c7 100644
--- a/geode-core/src/main/java/org/apache/geode/DataSerializer.java
+++ b/geode-core/src/main/java/org/apache/geode/DataSerializer.java
@@ -52,7 +52,6 @@ import org.apache.geode.annotations.internal.MakeNotStatic;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheFactory;
import org.apache.geode.cache.Region;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.ObjToByteArraySerializer;
@@ -65,6 +64,7 @@ import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.offheap.StoredObject;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.pdx.PdxInstance;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/StatAlertNotification.java b/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/StatAlertNotification.java
index 3511568..a8f333d 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/StatAlertNotification.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/jmx/internal/StatAlertNotification.java
@@ -21,10 +21,10 @@ import java.io.Serializable;
import org.apache.geode.DataSerializable;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.StatAlert;
import org.apache.geode.internal.admin.StatAlertDefinition;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Notification to be sent to clients (e.g GFMon2.0 ). It incorporates
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
index 785f2a1..49fec15 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AbstractOp.java
@@ -22,7 +22,6 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.InternalGemFireError;
import org.apache.geode.cache.client.ServerConnectivityException;
import org.apache.geode.cache.client.ServerOperationException;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.PutAllPartialResultException;
@@ -34,6 +33,7 @@ import org.apache.geode.internal.cache.tier.sockets.Part;
import org.apache.geode.internal.cache.tier.sockets.ServerConnection;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* Represents an operation that can be performed in a client by sending a message to a server.
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AuthenticateUserOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AuthenticateUserOp.java
index 333b68e..296b757 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AuthenticateUserOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AuthenticateUserOp.java
@@ -27,7 +27,6 @@ import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.ServerLocation;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.tier.MessageType;
@@ -36,6 +35,7 @@ import org.apache.geode.internal.cache.tier.sockets.Message;
import org.apache.geode.internal.cache.tier.sockets.Part;
import org.apache.geode.internal.cache.tier.sockets.command.PutUserCredentials;
import org.apache.geode.internal.logging.InternalLogWriter;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.security.AuthenticationFailedException;
import org.apache.geode.security.AuthenticationRequiredException;
import org.apache.geode.security.NotAuthorizedException;
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientSideHandshakeImpl.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientSideHandshakeImpl.java
index 6a25c0d..3a61b0d 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientSideHandshakeImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientSideHandshakeImpl.java
@@ -49,13 +49,10 @@ import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.LonerDistributionManager;
import org.apache.geode.distributed.internal.ServerLocation;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.InternalInstantiator;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
-import org.apache.geode.internal.VersionedDataOutputStream;
import org.apache.geode.internal.cache.tier.ClientSideHandshake;
import org.apache.geode.internal.cache.tier.CommunicationMode;
import org.apache.geode.internal.cache.tier.Encryptor;
@@ -64,6 +61,9 @@ import org.apache.geode.internal.cache.tier.sockets.EncryptorImpl;
import org.apache.geode.internal.cache.tier.sockets.Handshake;
import org.apache.geode.internal.cache.tier.sockets.ServerQueueStatus;
import org.apache.geode.internal.security.SecurityService;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
import org.apache.geode.security.AuthenticationFailedException;
import org.apache.geode.security.AuthenticationRequiredException;
import org.apache.geode.security.GemFireSecurityException;
@@ -215,7 +215,7 @@ public class ClientSideHandshakeImpl extends Handshake implements ClientSideHand
conn.setWanSiteVersion(wanSiteVersion);
// establish a versioned stream for the other site, if necessary
if (wanSiteVersion < Version.CURRENT_ORDINAL) {
- dis = new VersionedDataInputStream(dis, Version.fromOrdinalOrCurrent(wanSiteVersion));
+ dis = new VersionedDataInputStream(dis, wanSiteVersion);
}
}
@@ -270,7 +270,7 @@ public class ClientSideHandshakeImpl extends Handshake implements ClientSideHand
byte[] memberBytes = DataSerializer.readByteArray(p_dis);
Version v = InternalDataSerializer.getVersionForDataStreamOrNull(p_dis);
- ByteArrayDataInput dis = new ByteArrayDataInput(memberBytes, v);
+ ByteArrayDataInput dis = new ByteArrayDataInput(memberBytes, v == null ? 0 : v.ordinal());
try {
return DataSerializer.readObject(dis);
} catch (EOFException e) {
@@ -389,7 +389,7 @@ public class ClientSideHandshakeImpl extends Handshake implements ClientSideHand
// we do not know the receiver's version at this point, but the on-wire
// form of InternalDistributedMember changed in 9.0, so we must serialize
// it using the previous version
- DataOutput idOut = new VersionedDataOutputStream(hdos, Version.GFE_82);
+ DataOutput idOut = new VersionedDataOutputStream(hdos, Version.GFE_82.ordinal());
DataSerializer.writeObject(this.id, idOut);
if (currentClientVersion.compareTo(Version.GFE_603) >= 0) {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java
index 57b25bd..4c1fc8b 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/PutOp.java
@@ -27,7 +27,6 @@ import org.apache.geode.cache.client.ServerConnectivityException;
import org.apache.geode.cache.client.ServerOperationException;
import org.apache.geode.distributed.internal.ServerLocation;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.cache.CachedDeserializable;
import org.apache.geode.internal.cache.EntryEventImpl;
import org.apache.geode.internal.cache.LocalRegion;
@@ -36,6 +35,7 @@ import org.apache.geode.internal.cache.tier.sockets.Message;
import org.apache.geode.internal.cache.tier.sockets.Part;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* Does a region put (or create) on a server
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientConnectionRequest.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientConnectionRequest.java
index 7ed4617..9be89d9 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientConnectionRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientConnectionRequest.java
@@ -21,7 +21,7 @@ import java.io.IOException;
import java.util.Set;
import org.apache.geode.distributed.internal.ServerLocation;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A request from a client to the locator asking for a server to connect to for client to server
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientConnectionResponse.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientConnectionResponse.java
index ce0b717..d9c36bb 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientConnectionResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientConnectionResponse.java
@@ -20,7 +20,7 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.distributed.internal.ServerLocation;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A response from a locator to a client Indicating which server to connect to for client to server
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientReplacementRequest.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientReplacementRequest.java
index aef7f06..c032ba9 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientReplacementRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ClientReplacementRequest.java
@@ -20,8 +20,8 @@ import java.io.IOException;
import java.util.Set;
import org.apache.geode.distributed.internal.ServerLocation;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A request from a client to the locator asking for a server to connect to for client to server
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/GetAllServersRequest.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/GetAllServersRequest.java
index 882fc11..ce28361 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/GetAllServersRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/GetAllServersRequest.java
@@ -18,7 +18,7 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class GetAllServersRequest extends ServerLocationRequest {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/GetAllServersResponse.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/GetAllServersResponse.java
index c827938..2433195 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/GetAllServersResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/GetAllServersResponse.java
@@ -20,7 +20,7 @@ import java.io.IOException;
import java.util.ArrayList;
import org.apache.geode.distributed.internal.ServerLocation;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class GetAllServersResponse extends ServerLocationResponse {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorListRequest.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorListRequest.java
index 8c1a819..9b96ecd 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorListRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorListRequest.java
@@ -14,7 +14,7 @@
*/
package org.apache.geode.cache.client.internal.locator;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class LocatorListRequest extends ServerLocationRequest {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorListResponse.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorListResponse.java
index d53a1d2..7764ee1 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorListResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorListResponse.java
@@ -20,7 +20,7 @@ import java.io.IOException;
import java.util.List;
import org.apache.geode.distributed.internal.ServerLocation;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class LocatorListResponse extends ServerLocationResponse {
/** ArrayList of ServerLocations for controllers */
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorStatusRequest.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorStatusRequest.java
index 2e70576..ce500dc 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorStatusRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorStatusRequest.java
@@ -15,14 +15,14 @@
package org.apache.geode.cache.client.internal.locator;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* The LocatorStatusRequest class...
* </p>
*
* @see org.apache.geode.cache.client.internal.locator.ServerLocationRequest
- * @see org.apache.geode.internal.DataSerializableFixedID
+ * @see DataSerializableFixedID
* @since GemFire 7.0
*/
public class LocatorStatusRequest extends ServerLocationRequest {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorStatusResponse.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorStatusResponse.java
index e972a67..9d09864 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorStatusResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/LocatorStatusResponse.java
@@ -24,12 +24,12 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.GemFireVersion;
import org.apache.geode.internal.lang.ObjectUtils;
import org.apache.geode.internal.lang.StringUtils;
import org.apache.geode.internal.process.PidUnavailableException;
import org.apache.geode.internal.process.ProcessUtils;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.util.ArgumentRedactor;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionRequest.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionRequest.java
index 14dbffe..4caf01c 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionRequest.java
@@ -20,8 +20,8 @@ import java.io.IOException;
import java.util.Set;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A request from a client to locator asking for a server to host a queue. If the durable client Id
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionResponse.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionResponse.java
index b719f44..022453a 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionResponse.java
@@ -21,7 +21,7 @@ import java.util.List;
import org.apache.geode.DataSerializer;
import org.apache.geode.distributed.internal.ServerLocation;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A response from locator to client indicating the servers to use to host the clients queue. The
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ServerLocationRequest.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ServerLocationRequest.java
index 6340f74..0b8a63c 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ServerLocationRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ServerLocationRequest.java
@@ -19,8 +19,8 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public abstract class ServerLocationRequest implements DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ServerLocationResponse.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ServerLocationResponse.java
index f7ac45b..75bf6c0 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ServerLocationResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/ServerLocationResponse.java
@@ -14,8 +14,8 @@
*/
package org.apache.geode.cache.client.internal.locator;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public abstract class ServerLocationResponse implements DataSerializableFixedID {
public abstract boolean hasResult();
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/CqEntry.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/CqEntry.java
index 9a87c99..53b11e1 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/CqEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/CqEntry.java
@@ -20,8 +20,8 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/CumulativeNonDistinctResults.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/CumulativeNonDistinctResults.java
index fc65a63..5382e71 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/CumulativeNonDistinctResults.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/CumulativeNonDistinctResults.java
@@ -34,10 +34,10 @@ import org.apache.geode.cache.query.internal.utils.LimitIterator;
import org.apache.geode.cache.query.internal.utils.PDXUtils;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
-import org.apache.geode.internal.HeapDataOutputStream.LongUpdater;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.BufferDataOutputStream.LongUpdater;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* This is used as a wrapper over all the results of PR which are of non distinct type
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java
index 8725ced..f01a6e3 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java
@@ -32,8 +32,8 @@ import org.apache.geode.cache.query.internal.types.CollectionTypeImpl;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
import org.apache.geode.cache.query.types.StructType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class LinkedResultSet extends java.util.LinkedHashSet
implements Ordered, SelectResults, DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedStructSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedStructSet.java
index d52931c..3df19d4 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedStructSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedStructSet.java
@@ -31,8 +31,8 @@ import org.apache.geode.cache.query.internal.types.CollectionTypeImpl;
import org.apache.geode.cache.query.internal.types.StructTypeImpl;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class LinkedStructSet extends LinkedHashSet<Struct>
implements SelectResults<Struct>, Ordered, DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/NWayMergeResults.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/NWayMergeResults.java
index db54692..e388351 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/NWayMergeResults.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/NWayMergeResults.java
@@ -35,10 +35,10 @@ import org.apache.geode.cache.query.internal.types.StructTypeImpl;
import org.apache.geode.cache.query.internal.utils.LimitIterator;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
-import org.apache.geode.internal.HeapDataOutputStream.LongUpdater;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.BufferDataOutputStream.LongUpdater;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* The n - way merge results returns a sorted results on the cumulative sorted results for
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/NullToken.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/NullToken.java
index c1a6f98..75106c8 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/NullToken.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/NullToken.java
@@ -20,8 +20,8 @@ import java.io.IOException;
import org.apache.geode.cache.query.QueryService;
import org.apache.geode.cache.query.internal.index.IndexManager;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A Token representing null.
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/PRQueryTraceInfo.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/PRQueryTraceInfo.java
index aaa0833..cc798d1 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/PRQueryTraceInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/PRQueryTraceInfo.java
@@ -23,8 +23,8 @@ import java.util.Iterator;
import org.apache.geode.DataSerializer;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class PRQueryTraceInfo implements DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsBag.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsBag.java
index 89f18bd..8f7f8c0 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsBag.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsBag.java
@@ -24,9 +24,9 @@ import org.apache.geode.DataSerializer;
import org.apache.geode.cache.query.SelectResults;
import org.apache.geode.cache.query.internal.ObjectIntHashMap.Entry;
import org.apache.geode.cache.query.types.ObjectType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.CachePerfStats;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class ResultsBag extends Bag implements DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java
index 4a24a3c..6c65ebf 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java
@@ -36,10 +36,10 @@ import org.apache.geode.cache.query.SelectResults;
import org.apache.geode.cache.query.internal.types.CollectionTypeImpl;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.EntriesSet;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Implementation of SelectResults that wraps an existing java.util.Collection and optionally adds a
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java
index 5e8f873..adabcc0 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java
@@ -33,9 +33,9 @@ import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
import org.apache.geode.cache.query.types.StructType;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
// @todo probably should assert element type when elements added
/**
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java
index 4b0046a..d46e284 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java
@@ -32,8 +32,8 @@ import org.apache.geode.cache.query.internal.types.CollectionTypeImpl;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
import org.apache.geode.cache.query.types.StructType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Implementation of SelectResults that extends TreeSet This is the sorted version of ResultSet used
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java
index d8b522a..ccb2392 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java
@@ -32,8 +32,8 @@ import org.apache.geode.cache.query.internal.types.CollectionTypeImpl;
import org.apache.geode.cache.query.internal.types.StructTypeImpl;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A TreeSet constrained to contain Structs of all the same type. To conserve on objects, we store
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructImpl.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructImpl.java
index 7e48c2d..618e63f 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructImpl.java
@@ -26,8 +26,8 @@ import org.apache.geode.cache.query.Struct;
import org.apache.geode.cache.query.internal.types.StructTypeImpl;
import org.apache.geode.cache.query.types.ObjectType;
import org.apache.geode.cache.query.types.StructType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.pdx.PdxInstance;
import org.apache.geode.pdx.internal.PdxString;
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java
index c998152..baa6dc5 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java
@@ -36,8 +36,8 @@ import org.apache.geode.cache.query.internal.types.StructTypeImpl;
import org.apache.geode.cache.query.types.CollectionType;
import org.apache.geode.cache.query.types.ObjectType;
import org.apache.geode.cache.query.types.StructType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A Set constrained to contain Structs of all the same type. To conserve on objects, we store the
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/Undefined.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/Undefined.java
index ab69172..363c691 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/Undefined.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/Undefined.java
@@ -21,8 +21,8 @@ import java.io.IOException;
import java.io.Serializable;
import org.apache.geode.cache.query.QueryService;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* An UNDEFINED value is the result of accessing an attribute of a null-valued attribute. If you
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/IndexCreationData.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/IndexCreationData.java
index 711e1bd..f180b1d 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/IndexCreationData.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/IndexCreationData.java
@@ -24,8 +24,8 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.geode.cache.query.IndexType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
*
diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/ObjectTypeImpl.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/ObjectTypeImpl.java
index 18edb5d..ccabae1 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/ObjectTypeImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/types/ObjectTypeImpl.java
@@ -21,9 +21,9 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.query.types.ObjectType;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Implementation of ObjectType
diff --git a/geode-core/src/main/java/org/apache/geode/cache/wan/EventSequenceID.java b/geode-core/src/main/java/org/apache/geode/cache/wan/EventSequenceID.java
index 8400376..3e25abe 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/wan/EventSequenceID.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/wan/EventSequenceID.java
@@ -17,7 +17,7 @@ package org.apache.geode.cache.wan;
import java.util.Arrays;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* This class wraps 1) DistributedMembershipID 2) ThreadID 3) SequenceID attributes which are used
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
index e551157..ad81f30 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
@@ -39,7 +39,6 @@ import org.apache.geode.annotations.internal.MakeNotStatic;
import org.apache.geode.cache.server.CacheServer;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.CacheDistributionAdvisor.CacheProfile;
@@ -49,6 +48,7 @@ import org.apache.geode.internal.cache.persistence.PersistentMemberID;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.util.ArrayUtils;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java
index 21151a0..9ebba6b 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java
@@ -32,12 +32,12 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.deadlock.MessageDependencyMonitor;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.EventID;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.sequencelog.MessageLogger;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.tcp.Connection;
import org.apache.geode.internal.util.Breadcrumbs;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
index 96ae52d..66c3e2a 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
@@ -76,7 +76,6 @@ import org.apache.geode.distributed.internal.membership.QuorumChecker;
import org.apache.geode.distributed.internal.membership.adapter.GMSMembershipManager;
import org.apache.geode.distributed.internal.membership.gms.messenger.MembershipInformation;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DSFIDFactory;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.InternalInstantiator;
import org.apache.geode.internal.SystemTimer;
@@ -534,12 +533,6 @@ public class InternalDistributedSystem extends DistributedSystem
alertingSession = AlertingSession.create();
alertingService = new AlertingService();
loggingSession = LoggingSession.create();
-
- // register DSFID types first; invoked explicitly so that all message type
- // initializations do not happen in first deserialization on a possibly
- // "precious" thread
- DSFIDFactory.registerTypes();
-
originalConfig = config.distributionConfig();
isReconnectingDS = config.isReconnecting();
quorumChecker = config.quorumChecker();
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java
index 486d102..30b0897 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ReplyProcessor21.java
@@ -34,10 +34,10 @@ import org.apache.geode.distributed.DistributedSystemDisconnectedException;
import org.apache.geode.distributed.internal.deadlock.MessageDependencyMonitor;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DSFIDNotFoundException;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.versions.ConcurrentCacheModificationException;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DSFIDNotFoundException;
import org.apache.geode.internal.util.Breadcrumbs;
import org.apache.geode.internal.util.concurrent.StoppableCountDownLatch;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java
index 2ed366e..4e8014a 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java
@@ -51,7 +51,6 @@ import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.distributed.internal.DistributionAdvisor.Profile;
import org.apache.geode.distributed.internal.tcpserver.TcpHandler;
import org.apache.geode.distributed.internal.tcpserver.TcpServer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.cache.CacheServerAdvisor.CacheServerProfile;
import org.apache.geode.internal.cache.ControllerAdvisor;
import org.apache.geode.internal.cache.ControllerAdvisor.ControllerProfile;
@@ -59,6 +58,7 @@ import org.apache.geode.internal.cache.FindDurableQueueProcessor;
import org.apache.geode.internal.cache.GridAdvisor.GridProfile;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
*
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/WaitForViewInstallation.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/WaitForViewInstallation.java
index a813bbd..c26e055 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/WaitForViewInstallation.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/WaitForViewInstallation.java
@@ -78,7 +78,7 @@ public class WaitForViewInstallation extends HighPriorityDistributionMessage
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRemoteToken.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRemoteToken.java
index c94c13d..22b8ca7 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRemoteToken.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRemoteToken.java
@@ -22,8 +22,8 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Represents a held lock in a member for use when initializing a new grantor. All currently held
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java
index f453f61..54813c3 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java
@@ -54,11 +54,11 @@ import org.apache.geode.distributed.internal.deadlock.UnsafeThreadLocal;
import org.apache.geode.distributed.internal.locks.DLockQueryProcessor.DLockQueryReplyMessage;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.OSProcess;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.util.StopWatch;
import org.apache.geode.internal.util.concurrent.FutureResult;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
index 7327829..8c0c597 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
@@ -44,12 +44,12 @@ import org.apache.geode.distributed.internal.ClusterDistributionManager;
import org.apache.geode.distributed.internal.DistributionAdvisor.ProfileId;
import org.apache.geode.distributed.internal.ServerLocation;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.OSProcess;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* This is the fundamental representation of a member of a GemFire distributed system.
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/GMSMembershipManager.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/GMSMembershipManager.java
index 300b36f..598f5a7 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/GMSMembershipManager.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/GMSMembershipManager.java
@@ -82,7 +82,6 @@ import org.apache.geode.distributed.internal.membership.gms.interfaces.Manager;
import org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave;
import org.apache.geode.distributed.internal.membership.gms.messenger.GMSQuorumChecker;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.SystemTimer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
@@ -90,6 +89,7 @@ import org.apache.geode.internal.cache.partitioned.PartitionMessageWithDirectRep
import org.apache.geode.internal.logging.LoggingThread;
import org.apache.geode.internal.logging.log4j.AlertAppender;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.tcp.ConnectExceptions;
import org.apache.geode.internal.tcp.MemberShunnedException;
import org.apache.geode.internal.util.Breadcrumbs;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/GMSMessageAdapter.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/GMSMessageAdapter.java
index fc0178c..75e78e4 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/GMSMessageAdapter.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/GMSMessageAdapter.java
@@ -25,8 +25,8 @@ import org.apache.geode.distributed.internal.HighPriorityDistributionMessage;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.distributed.internal.membership.gms.GMSMember;
import org.apache.geode.distributed.internal.membership.gms.interfaces.GMSMessage;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.cache.DirectReplyMessage;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* GMSMessageAdapter wraps a Geode DistributionMessage to be sent via the GMS Messenger
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMember.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMember.java
index 71ec3a1..f059e64 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMember.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMember.java
@@ -24,10 +24,10 @@ import org.jgroups.util.UUID;
import org.apache.geode.DataSerializer;
import org.apache.geode.annotations.VisibleForTesting;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* GMSMember is the membership identifier class for Group Membership Services.
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembershipView.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembershipView.java
index 6336838..a44d6e5 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembershipView.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSMembershipView.java
@@ -34,10 +34,10 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.DataSerializer;
import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* The GMSMembershipView class represents a membership view. Note that this class is not
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java
index d320d84..ce09a5c 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java
@@ -220,8 +220,8 @@ public class GMSUtil {
DataSerializer.writeObject(id, out);
return;
}
- if (InternalDataSerializer.getVersionForDataStream(out).ordinal() < Version.GEODE_1_10_0
- .ordinal()) {
+ short ordinal = InternalDataSerializer.getVersionForDataStream(out).ordinal();
+ if (ordinal < Version.GEODE_1_10_0.ordinal()) {
writeAsInternalDistributedMember(id, out);
} else {
DataSerializer.writeObject(id, out);
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/interfaces/Manager.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/interfaces/Manager.java
index 46510d6..dc244f2 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/interfaces/Manager.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/interfaces/Manager.java
@@ -19,7 +19,7 @@ import java.util.Collection;
import org.apache.geode.distributed.internal.membership.gms.GMSMember;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
import org.apache.geode.distributed.internal.membership.gms.Services;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Manager presents the GMS services to the outside world and handles startup/shutdown race
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java
index 1b05a68..0caf10c 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java
@@ -27,9 +27,9 @@ import org.apache.geode.distributed.internal.membership.gms.GMSMember;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
import org.apache.geode.distributed.internal.membership.gms.GMSUtil;
import org.apache.geode.distributed.internal.membership.gms.messages.AbstractGMSMessage;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class FindCoordinatorResponse extends AbstractGMSMessage
implements DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GetViewRequest.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GetViewRequest.java
index 5f69884..528a1a1 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GetViewRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GetViewRequest.java
@@ -18,8 +18,8 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class GetViewRequest implements DataSerializableFixedID, PeerLocatorRequest {
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GetViewResponse.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GetViewResponse.java
index aeb9984..136618c 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GetViewResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/GetViewResponse.java
@@ -20,8 +20,8 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class GetViewResponse implements DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java
index 3399db7..4de93ae 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java
@@ -17,9 +17,9 @@ package org.apache.geode.distributed.internal.membership.gms.membership;
import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
import static org.apache.geode.distributed.ConfigurationProperties.START_LOCATOR;
import static org.apache.geode.distributed.internal.membership.gms.ServiceConfig.MEMBER_REQUEST_COLLECTION_INTERVAL;
-import static org.apache.geode.internal.DataSerializableFixedID.JOIN_REQUEST;
-import static org.apache.geode.internal.DataSerializableFixedID.LEAVE_REQUEST_MESSAGE;
-import static org.apache.geode.internal.DataSerializableFixedID.REMOVE_MEMBER_REQUEST;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.JOIN_REQUEST;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.LEAVE_REQUEST_MESSAGE;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.REMOVE_MEMBER_REQUEST;
import java.io.IOException;
import java.net.InetSocketAddress;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/AbstractGMSMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/AbstractGMSMessage.java
index bb4303b..de51cdb 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/AbstractGMSMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messages/AbstractGMSMessage.java
@@ -20,7 +20,7 @@ import java.util.List;
import org.apache.geode.annotations.Immutable;
import org.apache.geode.distributed.internal.membership.gms.GMSMember;
import org.apache.geode.distributed.internal.membership.gms.interfaces.GMSMessage;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public abstract class AbstractGMSMessage implements DataSerializableFixedID, GMSMessage {
@Immutable
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
index 8b0dcf6..75385d9 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
@@ -16,10 +16,10 @@ package org.apache.geode.distributed.internal.membership.gms.messenger;
import static org.apache.geode.distributed.internal.membership.gms.GMSUtil.replaceStrings;
import static org.apache.geode.distributed.internal.membership.gms.messages.AbstractGMSMessage.ALL_RECIPIENTS;
-import static org.apache.geode.internal.DataSerializableFixedID.FIND_COORDINATOR_REQ;
-import static org.apache.geode.internal.DataSerializableFixedID.FIND_COORDINATOR_RESP;
-import static org.apache.geode.internal.DataSerializableFixedID.JOIN_REQUEST;
-import static org.apache.geode.internal.DataSerializableFixedID.JOIN_RESPONSE;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.FIND_COORDINATOR_REQ;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.FIND_COORDINATOR_RESP;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.JOIN_REQUEST;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.JOIN_RESPONSE;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
@@ -93,11 +93,11 @@ import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.OSProcess;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
import org.apache.geode.internal.alerting.AlertingAction;
import org.apache.geode.internal.cache.DistributedCacheOperation;
import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
import org.apache.geode.internal.tcp.MemberShunnedException;
@SuppressWarnings("StatementWithEmptyBody")
@@ -1005,7 +1005,7 @@ public class JGroupsMessenger implements Messenger {
short ordinal = Version.readOrdinal(dis);
if (ordinal < Version.CURRENT_ORDINAL) {
- dis = new VersionedDataInputStream(dis, Version.fromOrdinalNoThrow(ordinal, true));
+ dis = new VersionedDataInputStream(dis, ordinal);
}
// read
@@ -1101,7 +1101,7 @@ public class JGroupsMessenger implements Messenger {
DataInputStream in = new DataInputStream(new ByteArrayInputStream(data));
if (ordinal < Version.CURRENT_ORDINAL) {
- in = new VersionedDataInputStream(in, Version.fromOrdinalNoThrow(ordinal, true));
+ in = new VersionedDataInputStream(in, ordinal);
}
GMSMessage result = deserializeMessage(in, ordinal);
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java
index b3453b3..29f0b8e 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java
@@ -34,17 +34,16 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.DataSerializer;
import org.apache.geode.annotations.internal.MakeNotStatic;
-import org.apache.geode.cache.UnsupportedVersionException;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
-import org.apache.geode.internal.VersionedDataOutputStream;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.net.SSLConfigurationFactory;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.net.SocketCreatorFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
/**
* <p>
@@ -210,7 +209,7 @@ public class TcpClient {
out = new DataOutputStream(new BufferedOutputStream(sock.getOutputStream()));
if (serverVersion < Version.CURRENT_ORDINAL) {
- out = new VersionedDataOutputStream(out, Version.fromOrdinalNoThrow(serverVersion, false));
+ out = new VersionedDataOutputStream(out, serverVersion);
}
out.writeInt(gossipVersion);
@@ -222,7 +221,7 @@ public class TcpClient {
if (replyExpected) {
DataInputStream in = new DataInputStream(sock.getInputStream());
- in = new VersionedDataInputStream(in, Version.fromOrdinal(serverVersion, false));
+ in = new VersionedDataInputStream(in, serverVersion);
try {
Object response = DataSerializer.readObject(in);
logger.debug("received response: {}", response);
@@ -237,13 +236,6 @@ public class TcpClient {
} else {
return null;
}
- } catch (UnsupportedVersionException ex) {
- if (logger.isDebugEnabled()) {
- logger
- .debug("Remote TcpServer version: " + serverVersion + " is higher than local version: "
- + Version.CURRENT_ORDINAL + ". This is never expected as remoteVersion");
- }
- return null;
} finally {
try {
if (replyExpected) {
@@ -296,7 +288,8 @@ public class TcpClient {
try {
OutputStream outputStream = new BufferedOutputStream(sock.getOutputStream());
DataOutputStream out =
- new VersionedDataOutputStream(new DataOutputStream(outputStream), Version.GFE_57);
+ new VersionedDataOutputStream(new DataOutputStream(outputStream),
+ Version.GFE_57.ordinal());
out.writeInt(gossipVersion);
@@ -306,7 +299,7 @@ public class TcpClient {
InputStream inputStream = sock.getInputStream();
DataInputStream in = new DataInputStream(inputStream);
- in = new VersionedDataInputStream(in, Version.GFE_57);
+ in = new VersionedDataInputStream(in, Version.GFE_57.ordinal());
try {
Object readObject = DataSerializer.readObject(in);
if (!(readObject instanceof VersionResponse)) {
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java
index f6604c6..99658d0 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java
@@ -52,11 +52,8 @@ import org.apache.geode.distributed.internal.InternalConfigurationPersistenceSer
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.InternalLocator;
import org.apache.geode.distributed.internal.PoolStatHelper;
-import org.apache.geode.internal.DSFIDFactory;
import org.apache.geode.internal.GemFireVersion;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
-import org.apache.geode.internal.VersionedDataOutputStream;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.client.protocol.ClientProtocolProcessor;
import org.apache.geode.internal.cache.client.protocol.ClientProtocolService;
@@ -71,6 +68,8 @@ import org.apache.geode.internal.logging.LoggingThread;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.net.SocketCreatorFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
/**
* TCP server which listens on a port and delegates requests to a request handler. The server uses
@@ -168,11 +167,6 @@ public class TcpServer {
this.poolHelper = poolHelper;
this.internalLocator = internalLocator;
this.clientProtocolServiceLoader = clientProtocolServiceLoader;
- // register DSFID types first; invoked explicitly so that all message type
- // initializations do not happen in first deserialization on a possibly
- // "precious" thread
- DSFIDFactory.registerTypes();
-
this.executor = createExecutor(poolHelper);
this.threadName = threadName;
@@ -464,7 +458,7 @@ public class TcpServer {
log.debug("Locator reading request from " + socket.getInetAddress() + " with version "
+ Version.fromOrdinal(versionOrdinal, false));
}
- input = new VersionedDataInputStream(input, Version.fromOrdinal(versionOrdinal, false));
+ input = new VersionedDataInputStream(input, versionOrdinal);
request = DataSerializer.readObject(input);
if (log.isDebugEnabled()) {
log.debug("Locator received request " + request + " from " + socket.getInetAddress());
@@ -490,7 +484,7 @@ public class TcpServer {
DataOutputStream output = new DataOutputStream(socket.getOutputStream());
if (versionOrdinal != Version.CURRENT_ORDINAL) {
output =
- new VersionedDataOutputStream(output, Version.fromOrdinal(versionOrdinal, false));
+ new VersionedDataOutputStream(output, versionOrdinal);
}
DataSerializer.writeObject(response, output);
output.flush();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/ByteBufferWriter.java b/geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/serialization/ByteBufferWriter.java
rename to geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/DSFIDFactory.java b/geode-core/src/main/java/org/apache/geode/internal/DSFIDFactory.java
index 2cb5ea1..7aeecfe 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/DSFIDFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/DSFIDFactory.java
@@ -12,49 +12,961 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.internal.serialization;
+package org.apache.geode.internal;
import java.io.DataInput;
+import java.io.DataOutput;
import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
-
-import org.apache.geode.InternalGemFireError;
-import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.InternalDataSerializer;
+import org.apache.geode.DataSerializer;
+import org.apache.geode.admin.internal.SystemMemberCacheEventProcessor;
+import org.apache.geode.admin.jmx.internal.StatAlertNotification;
+import org.apache.geode.cache.InterestResultPolicy;
+import org.apache.geode.cache.client.internal.CacheServerLoadMessage;
+import org.apache.geode.cache.client.internal.locator.ClientConnectionRequest;
+import org.apache.geode.cache.client.internal.locator.ClientConnectionResponse;
+import org.apache.geode.cache.client.internal.locator.ClientReplacementRequest;
+import org.apache.geode.cache.client.internal.locator.GetAllServersRequest;
+import org.apache.geode.cache.client.internal.locator.GetAllServersResponse;
+import org.apache.geode.cache.client.internal.locator.LocatorListRequest;
+import org.apache.geode.cache.client.internal.locator.LocatorListResponse;
+import org.apache.geode.cache.client.internal.locator.LocatorStatusRequest;
+import org.apache.geode.cache.client.internal.locator.LocatorStatusResponse;
+import org.apache.geode.cache.client.internal.locator.QueueConnectionRequest;
+import org.apache.geode.cache.client.internal.locator.QueueConnectionResponse;
+import org.apache.geode.cache.query.QueryService;
+import org.apache.geode.cache.query.internal.CqEntry;
+import org.apache.geode.cache.query.internal.CumulativeNonDistinctResults;
+import org.apache.geode.cache.query.internal.LinkedResultSet;
+import org.apache.geode.cache.query.internal.LinkedStructSet;
+import org.apache.geode.cache.query.internal.NWayMergeResults;
+import org.apache.geode.cache.query.internal.NullToken;
+import org.apache.geode.cache.query.internal.PRQueryTraceInfo;
+import org.apache.geode.cache.query.internal.ResultsBag;
+import org.apache.geode.cache.query.internal.ResultsCollectionWrapper;
+import org.apache.geode.cache.query.internal.ResultsSet;
+import org.apache.geode.cache.query.internal.SortedResultSet;
+import org.apache.geode.cache.query.internal.SortedStructSet;
+import org.apache.geode.cache.query.internal.StructBag;
+import org.apache.geode.cache.query.internal.StructImpl;
+import org.apache.geode.cache.query.internal.StructSet;
+import org.apache.geode.cache.query.internal.Undefined;
+import org.apache.geode.cache.query.internal.index.IndexCreationData;
+import org.apache.geode.cache.query.internal.index.IndexManager;
+import org.apache.geode.cache.query.internal.types.CollectionTypeImpl;
+import org.apache.geode.cache.query.internal.types.MapTypeImpl;
+import org.apache.geode.cache.query.internal.types.ObjectTypeImpl;
+import org.apache.geode.cache.query.internal.types.StructTypeImpl;
+import org.apache.geode.distributed.internal.DistributionAdvisor;
+import org.apache.geode.distributed.internal.HighPriorityAckedMessage;
+import org.apache.geode.distributed.internal.ReplyMessage;
+import org.apache.geode.distributed.internal.SerialAckedMessage;
+import org.apache.geode.distributed.internal.ShutdownMessage;
+import org.apache.geode.distributed.internal.StartupMessage;
+import org.apache.geode.distributed.internal.StartupResponseMessage;
+import org.apache.geode.distributed.internal.StartupResponseWithVersionMessage;
+import org.apache.geode.distributed.internal.WaitForViewInstallation;
+import org.apache.geode.distributed.internal.locks.DLockQueryProcessor;
+import org.apache.geode.distributed.internal.locks.DLockRecoverGrantorProcessor.DLockRecoverGrantorMessage;
+import org.apache.geode.distributed.internal.locks.DLockRecoverGrantorProcessor.DLockRecoverGrantorReplyMessage;
+import org.apache.geode.distributed.internal.locks.DLockReleaseProcessor;
+import org.apache.geode.distributed.internal.locks.DLockRemoteToken;
+import org.apache.geode.distributed.internal.locks.DLockRequestProcessor;
+import org.apache.geode.distributed.internal.locks.DLockService;
+import org.apache.geode.distributed.internal.locks.DeposeGrantorProcessor;
+import org.apache.geode.distributed.internal.locks.ElderInitProcessor;
+import org.apache.geode.distributed.internal.locks.GrantorRequestProcessor;
+import org.apache.geode.distributed.internal.locks.NonGrantorDestroyedProcessor;
+import org.apache.geode.distributed.internal.locks.NonGrantorDestroyedProcessor.NonGrantorDestroyedReplyMessage;
+import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
+import org.apache.geode.distributed.internal.membership.gms.GMSMember;
+import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
+import org.apache.geode.distributed.internal.membership.gms.locator.FindCoordinatorRequest;
+import org.apache.geode.distributed.internal.membership.gms.locator.FindCoordinatorResponse;
+import org.apache.geode.distributed.internal.membership.gms.locator.GetViewRequest;
+import org.apache.geode.distributed.internal.membership.gms.locator.GetViewResponse;
+import org.apache.geode.distributed.internal.membership.gms.messages.FinalCheckPassedMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.HeartbeatMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.HeartbeatRequestMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.InstallViewMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.JoinRequestMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.JoinResponseMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.LeaveRequestMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.NetworkPartitionMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.RemoveMemberMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.SuspectMembersMessage;
+import org.apache.geode.distributed.internal.membership.gms.messages.ViewAckMessage;
+import org.apache.geode.distributed.internal.streaming.StreamingOperation.StreamingReplyMessage;
+import org.apache.geode.internal.admin.ClientMembershipMessage;
+import org.apache.geode.internal.admin.remote.AddHealthListenerRequest;
+import org.apache.geode.internal.admin.remote.AddHealthListenerResponse;
+import org.apache.geode.internal.admin.remote.AddStatListenerRequest;
+import org.apache.geode.internal.admin.remote.AddStatListenerResponse;
+import org.apache.geode.internal.admin.remote.AdminConsoleDisconnectMessage;
+import org.apache.geode.internal.admin.remote.AdminConsoleMessage;
+import org.apache.geode.internal.admin.remote.AdminFailureResponse;
+import org.apache.geode.internal.admin.remote.AlertLevelChangeMessage;
+import org.apache.geode.internal.admin.remote.AlertListenerMessage;
+import org.apache.geode.internal.admin.remote.AlertsNotificationMessage;
+import org.apache.geode.internal.admin.remote.AppCacheSnapshotMessage;
+import org.apache.geode.internal.admin.remote.BridgeServerRequest;
+import org.apache.geode.internal.admin.remote.BridgeServerResponse;
+import org.apache.geode.internal.admin.remote.CacheConfigRequest;
+import org.apache.geode.internal.admin.remote.CacheConfigResponse;
+import org.apache.geode.internal.admin.remote.CacheInfoRequest;
+import org.apache.geode.internal.admin.remote.CacheInfoResponse;
+import org.apache.geode.internal.admin.remote.CancelStatListenerRequest;
+import org.apache.geode.internal.admin.remote.CancelStatListenerResponse;
+import org.apache.geode.internal.admin.remote.CancellationMessage;
+import org.apache.geode.internal.admin.remote.ChangeRefreshIntervalMessage;
+import org.apache.geode.internal.admin.remote.ClientHealthStats;
+import org.apache.geode.internal.admin.remote.CompactRequest;
+import org.apache.geode.internal.admin.remote.CompactResponse;
+import org.apache.geode.internal.admin.remote.DestroyEntryMessage;
+import org.apache.geode.internal.admin.remote.DestroyRegionMessage;
+import org.apache.geode.internal.admin.remote.DurableClientInfoRequest;
+import org.apache.geode.internal.admin.remote.DurableClientInfoResponse;
+import org.apache.geode.internal.admin.remote.FetchDistLockInfoRequest;
+import org.apache.geode.internal.admin.remote.FetchDistLockInfoResponse;
+import org.apache.geode.internal.admin.remote.FetchHealthDiagnosisRequest;
+import org.apache.geode.internal.admin.remote.FetchHealthDiagnosisResponse;
+import org.apache.geode.internal.admin.remote.FetchHostRequest;
+import org.apache.geode.internal.admin.remote.FetchHostResponse;
+import org.apache.geode.internal.admin.remote.FetchResourceAttributesRequest;
+import org.apache.geode.internal.admin.remote.FetchResourceAttributesResponse;
+import org.apache.geode.internal.admin.remote.FetchStatsRequest;
+import org.apache.geode.internal.admin.remote.FetchStatsResponse;
+import org.apache.geode.internal.admin.remote.FetchSysCfgRequest;
+import org.apache.geode.internal.admin.remote.FetchSysCfgResponse;
+import org.apache.geode.internal.admin.remote.FlushAppCacheSnapshotMessage;
+import org.apache.geode.internal.admin.remote.HealthListenerMessage;
+import org.apache.geode.internal.admin.remote.LicenseInfoRequest;
+import org.apache.geode.internal.admin.remote.LicenseInfoResponse;
+import org.apache.geode.internal.admin.remote.MissingPersistentIDsRequest;
+import org.apache.geode.internal.admin.remote.MissingPersistentIDsResponse;
+import org.apache.geode.internal.admin.remote.ObjectDetailsRequest;
+import org.apache.geode.internal.admin.remote.ObjectDetailsResponse;
+import org.apache.geode.internal.admin.remote.ObjectNamesRequest;
+import org.apache.geode.internal.admin.remote.ObjectNamesResponse;
+import org.apache.geode.internal.admin.remote.PrepareRevokePersistentIDRequest;
+import org.apache.geode.internal.admin.remote.RefreshMemberSnapshotRequest;
+import org.apache.geode.internal.admin.remote.RefreshMemberSnapshotResponse;
+import org.apache.geode.internal.admin.remote.RegionAttributesRequest;
+import org.apache.geode.internal.admin.remote.RegionAttributesResponse;
+import org.apache.geode.internal.admin.remote.RegionRequest;
+import org.apache.geode.internal.admin.remote.RegionResponse;
+import org.apache.geode.internal.admin.remote.RegionSizeRequest;
+import org.apache.geode.internal.admin.remote.RegionSizeResponse;
+import org.apache.geode.internal.admin.remote.RegionStatisticsRequest;
+import org.apache.geode.internal.admin.remote.RegionStatisticsResponse;
+import org.apache.geode.internal.admin.remote.RegionSubRegionSizeRequest;
+import org.apache.geode.internal.admin.remote.RegionSubRegionsSizeResponse;
+import org.apache.geode.internal.admin.remote.RemoveHealthListenerRequest;
+import org.apache.geode.internal.admin.remote.RemoveHealthListenerResponse;
+import org.apache.geode.internal.admin.remote.ResetHealthStatusRequest;
+import org.apache.geode.internal.admin.remote.ResetHealthStatusResponse;
+import org.apache.geode.internal.admin.remote.RevokePersistentIDRequest;
+import org.apache.geode.internal.admin.remote.RevokePersistentIDResponse;
+import org.apache.geode.internal.admin.remote.RootRegionRequest;
+import org.apache.geode.internal.admin.remote.RootRegionResponse;
+import org.apache.geode.internal.admin.remote.ShutdownAllGatewayHubsRequest;
+import org.apache.geode.internal.admin.remote.ShutdownAllRequest;
+import org.apache.geode.internal.admin.remote.ShutdownAllResponse;
+import org.apache.geode.internal.admin.remote.SnapshotResultMessage;
+import org.apache.geode.internal.admin.remote.StatAlertsManagerAssignMessage;
+import org.apache.geode.internal.admin.remote.StatListenerMessage;
+import org.apache.geode.internal.admin.remote.StoreSysCfgRequest;
+import org.apache.geode.internal.admin.remote.StoreSysCfgResponse;
+import org.apache.geode.internal.admin.remote.SubRegionRequest;
+import org.apache.geode.internal.admin.remote.SubRegionResponse;
+import org.apache.geode.internal.admin.remote.TailLogRequest;
+import org.apache.geode.internal.admin.remote.TailLogResponse;
+import org.apache.geode.internal.admin.remote.UpdateAlertDefinitionMessage;
+import org.apache.geode.internal.admin.remote.VersionInfoRequest;
+import org.apache.geode.internal.admin.remote.VersionInfoResponse;
+import org.apache.geode.internal.admin.statalerts.GaugeThresholdDecoratorImpl;
+import org.apache.geode.internal.admin.statalerts.NumberThresholdDecoratorImpl;
+import org.apache.geode.internal.cache.AddCacheServerProfileMessage;
+import org.apache.geode.internal.cache.BucketAdvisor;
+import org.apache.geode.internal.cache.CacheDistributionAdvisor;
+import org.apache.geode.internal.cache.CacheServerAdvisor.CacheServerProfile;
+import org.apache.geode.internal.cache.ClientRegionEventImpl;
+import org.apache.geode.internal.cache.CloseCacheMessage;
+import org.apache.geode.internal.cache.ControllerAdvisor.ControllerProfile;
+import org.apache.geode.internal.cache.CreateRegionProcessor;
+import org.apache.geode.internal.cache.DestroyOperation;
+import org.apache.geode.internal.cache.DestroyPartitionedRegionMessage;
+import org.apache.geode.internal.cache.DestroyRegionOperation;
+import org.apache.geode.internal.cache.DistTXCommitMessage;
+import org.apache.geode.internal.cache.DistTXPrecommitMessage;
+import org.apache.geode.internal.cache.DistTXPrecommitMessage.DistTxPrecommitResponse;
+import org.apache.geode.internal.cache.DistTXRollbackMessage;
+import org.apache.geode.internal.cache.DistributedClearOperation.ClearRegionMessage;
+import org.apache.geode.internal.cache.DistributedClearOperation.ClearRegionWithContextMessage;
+import org.apache.geode.internal.cache.DistributedPutAllOperation.EntryVersionsList;
+import org.apache.geode.internal.cache.DistributedPutAllOperation.PutAllMessage;
+import org.apache.geode.internal.cache.DistributedRegionFunctionStreamingMessage;
+import org.apache.geode.internal.cache.DistributedRemoveAllOperation.RemoveAllMessage;
+import org.apache.geode.internal.cache.DistributedTombstoneOperation.TombstoneMessage;
+import org.apache.geode.internal.cache.EntryEventImpl;
+import org.apache.geode.internal.cache.EventID;
+import org.apache.geode.internal.cache.ExpireDisconnectedClientTransactionsMessage;
+import org.apache.geode.internal.cache.FilterProfile;
+import org.apache.geode.internal.cache.FindDurableQueueProcessor.FindDurableQueueMessage;
+import org.apache.geode.internal.cache.FindDurableQueueProcessor.FindDurableQueueReply;
+import org.apache.geode.internal.cache.FindRemoteTXMessage;
+import org.apache.geode.internal.cache.FindRemoteTXMessage.FindRemoteTXMessageReply;
+import org.apache.geode.internal.cache.FindVersionTagOperation.FindVersionTagMessage;
+import org.apache.geode.internal.cache.FindVersionTagOperation.VersionTagReply;
+import org.apache.geode.internal.cache.FunctionStreamingOrderedReplyMessage;
+import org.apache.geode.internal.cache.FunctionStreamingReplyMessage;
+import org.apache.geode.internal.cache.HARegion;
+import org.apache.geode.internal.cache.InitialImageFlowControl.FlowControlPermitMessage;
+import org.apache.geode.internal.cache.InitialImageOperation;
+import org.apache.geode.internal.cache.InitialImageOperation.InitialImageVersionedEntryList;
+import org.apache.geode.internal.cache.InvalidateOperation;
+import org.apache.geode.internal.cache.InvalidatePartitionedRegionMessage;
+import org.apache.geode.internal.cache.InvalidateRegionOperation.InvalidateRegionMessage;
+import org.apache.geode.internal.cache.JtaAfterCompletionMessage;
+import org.apache.geode.internal.cache.JtaBeforeCompletionMessage;
+import org.apache.geode.internal.cache.LatestLastAccessTimeMessage;
+import org.apache.geode.internal.cache.MemberFunctionStreamingMessage;
+import org.apache.geode.internal.cache.Node;
+import org.apache.geode.internal.cache.PRQueryProcessor;
+import org.apache.geode.internal.cache.PartitionRegionConfig;
+import org.apache.geode.internal.cache.PreferBytesCachedDeserializable;
+import org.apache.geode.internal.cache.RegionEventImpl;
+import org.apache.geode.internal.cache.ReleaseClearLockMessage;
+import org.apache.geode.internal.cache.RemoveCacheServerProfileMessage;
+import org.apache.geode.internal.cache.RoleEventImpl;
+import org.apache.geode.internal.cache.SearchLoadAndWriteProcessor;
+import org.apache.geode.internal.cache.ServerPingMessage;
+import org.apache.geode.internal.cache.StateFlushOperation.StateMarkerMessage;
+import org.apache.geode.internal.cache.StateFlushOperation.StateStabilizationMessage;
+import org.apache.geode.internal.cache.StateFlushOperation.StateStabilizedMessage;
+import org.apache.geode.internal.cache.StoreAllCachedDeserializable;
+import org.apache.geode.internal.cache.TXCommitMessage;
+import org.apache.geode.internal.cache.TXCommitMessage.CommitProcessForLockIdMessage;
+import org.apache.geode.internal.cache.TXCommitMessage.CommitProcessForTXIdMessage;
+import org.apache.geode.internal.cache.TXCommitMessage.CommitProcessQueryMessage;
+import org.apache.geode.internal.cache.TXCommitMessage.CommitProcessQueryReplyMessage;
+import org.apache.geode.internal.cache.TXEntryState;
+import org.apache.geode.internal.cache.TXId;
+import org.apache.geode.internal.cache.TXRemoteCommitMessage;
+import org.apache.geode.internal.cache.TXRemoteCommitMessage.TXRemoteCommitReplyMessage;
+import org.apache.geode.internal.cache.TXRemoteRollbackMessage;
+import org.apache.geode.internal.cache.Token;
+import org.apache.geode.internal.cache.UpdateAttributesProcessor;
+import org.apache.geode.internal.cache.UpdateEntryVersionOperation.UpdateEntryVersionMessage;
+import org.apache.geode.internal.cache.UpdateOperation;
+import org.apache.geode.internal.cache.VMCachedDeserializable;
+import org.apache.geode.internal.cache.backup.AbortBackupRequest;
+import org.apache.geode.internal.cache.backup.BackupResponse;
+import org.apache.geode.internal.cache.backup.FinishBackupRequest;
+import org.apache.geode.internal.cache.backup.FlushToDiskRequest;
+import org.apache.geode.internal.cache.backup.FlushToDiskResponse;
+import org.apache.geode.internal.cache.backup.PrepareBackupRequest;
+import org.apache.geode.internal.cache.compression.SnappyCompressedCachedDeserializable;
+import org.apache.geode.internal.cache.control.ResourceAdvisor.ResourceManagerProfile;
+import org.apache.geode.internal.cache.control.ResourceAdvisor.ResourceProfileMessage;
+import org.apache.geode.internal.cache.ha.HARegionQueue.DispatchedAndCurrentEvents;
+import org.apache.geode.internal.cache.ha.QueueRemovalMessage;
+import org.apache.geode.internal.cache.locks.TXLockBatch;
+import org.apache.geode.internal.cache.locks.TXLockIdImpl;
+import org.apache.geode.internal.cache.locks.TXLockUpdateParticipantsMessage;
+import org.apache.geode.internal.cache.locks.TXLockUpdateParticipantsMessage.TXLockUpdateParticipantsReplyMessage;
+import org.apache.geode.internal.cache.locks.TXOriginatorRecoveryProcessor.TXOriginatorRecoveryMessage;
+import org.apache.geode.internal.cache.locks.TXOriginatorRecoveryProcessor.TXOriginatorRecoveryReplyMessage;
+import org.apache.geode.internal.cache.partitioned.AllBucketProfilesUpdateMessage;
+import org.apache.geode.internal.cache.partitioned.BecomePrimaryBucketMessage;
+import org.apache.geode.internal.cache.partitioned.BecomePrimaryBucketMessage.BecomePrimaryBucketReplyMessage;
+import org.apache.geode.internal.cache.partitioned.BucketBackupMessage;
+import org.apache.geode.internal.cache.partitioned.BucketCountLoadProbe;
+import org.apache.geode.internal.cache.partitioned.BucketProfileUpdateMessage;
+import org.apache.geode.internal.cache.partitioned.BucketSizeMessage;
+import org.apache.geode.internal.cache.partitioned.BucketSizeMessage.BucketSizeReplyMessage;
+import org.apache.geode.internal.cache.partitioned.ContainsKeyValueMessage;
+import org.apache.geode.internal.cache.partitioned.ContainsKeyValueMessage.ContainsKeyValueReplyMessage;
+import org.apache.geode.internal.cache.partitioned.CreateBucketMessage;
+import org.apache.geode.internal.cache.partitioned.CreateBucketMessage.CreateBucketReplyMessage;
+import org.apache.geode.internal.cache.partitioned.DeposePrimaryBucketMessage;
+import org.apache.geode.internal.cache.partitioned.DeposePrimaryBucketMessage.DeposePrimaryBucketReplyMessage;
+import org.apache.geode.internal.cache.partitioned.DestroyMessage;
+import org.apache.geode.internal.cache.partitioned.DestroyRegionOnDataStoreMessage;
+import org.apache.geode.internal.cache.partitioned.DumpAllPRConfigMessage;
+import org.apache.geode.internal.cache.partitioned.DumpB2NRegion;
+import org.apache.geode.internal.cache.partitioned.DumpB2NRegion.DumpB2NReplyMessage;
+import org.apache.geode.internal.cache.partitioned.DumpBucketsMessage;
+import org.apache.geode.internal.cache.partitioned.EndBucketCreationMessage;
+import org.apache.geode.internal.cache.partitioned.FetchBulkEntriesMessage;
+import org.apache.geode.internal.cache.partitioned.FetchBulkEntriesMessage.FetchBulkEntriesReplyMessage;
+import org.apache.geode.internal.cache.partitioned.FetchEntriesMessage;
+import org.apache.geode.internal.cache.partitioned.FetchEntriesMessage.FetchEntriesReplyMessage;
+import org.apache.geode.internal.cache.partitioned.FetchEntryMessage;
+import org.apache.geode.internal.cache.partitioned.FetchEntryMessage.FetchEntryReplyMessage;
+import org.apache.geode.internal.cache.partitioned.FetchKeysMessage;
+import org.apache.geode.internal.cache.partitioned.FetchKeysMessage.FetchKeysReplyMessage;
+import org.apache.geode.internal.cache.partitioned.FetchPartitionDetailsMessage;
+import org.apache.geode.internal.cache.partitioned.FetchPartitionDetailsMessage.FetchPartitionDetailsReplyMessage;
+import org.apache.geode.internal.cache.partitioned.FlushMessage;
+import org.apache.geode.internal.cache.partitioned.GetMessage;
+import org.apache.geode.internal.cache.partitioned.GetMessage.GetReplyMessage;
+import org.apache.geode.internal.cache.partitioned.IdentityRequestMessage;
+import org.apache.geode.internal.cache.partitioned.IdentityRequestMessage.IdentityReplyMessage;
+import org.apache.geode.internal.cache.partitioned.IdentityUpdateMessage;
+import org.apache.geode.internal.cache.partitioned.IndexCreationMsg;
+import org.apache.geode.internal.cache.partitioned.IndexCreationMsg.IndexCreationReplyMsg;
+import org.apache.geode.internal.cache.partitioned.InterestEventMessage;
+import org.apache.geode.internal.cache.partitioned.InterestEventMessage.InterestEventReplyMessage;
+import org.apache.geode.internal.cache.partitioned.InvalidateMessage;
+import org.apache.geode.internal.cache.partitioned.ManageBackupBucketMessage;
+import org.apache.geode.internal.cache.partitioned.ManageBackupBucketMessage.ManageBackupBucketReplyMessage;
+import org.apache.geode.internal.cache.partitioned.ManageBucketMessage;
+import org.apache.geode.internal.cache.partitioned.ManageBucketMessage.ManageBucketReplyMessage;
+import org.apache.geode.internal.cache.partitioned.MoveBucketMessage;
+import org.apache.geode.internal.cache.partitioned.MoveBucketMessage.MoveBucketReplyMessage;
+import org.apache.geode.internal.cache.partitioned.PRSanityCheckMessage;
+import org.apache.geode.internal.cache.partitioned.PRTombstoneMessage;
+import org.apache.geode.internal.cache.partitioned.PRUpdateEntryVersionMessage;
+import org.apache.geode.internal.cache.partitioned.PartitionedRegionFunctionStreamingMessage;
+import org.apache.geode.internal.cache.partitioned.PrimaryRequestMessage;
+import org.apache.geode.internal.cache.partitioned.PrimaryRequestMessage.PrimaryRequestReplyMessage;
+import org.apache.geode.internal.cache.partitioned.PutAllPRMessage;
+import org.apache.geode.internal.cache.partitioned.PutAllPRMessage.PutAllReplyMessage;
+import org.apache.geode.internal.cache.partitioned.PutMessage;
+import org.apache.geode.internal.cache.partitioned.PutMessage.PutReplyMessage;
+import org.apache.geode.internal.cache.partitioned.QueryMessage;
+import org.apache.geode.internal.cache.partitioned.RegionAdvisor;
+import org.apache.geode.internal.cache.partitioned.RemoveAllPRMessage;
+import org.apache.geode.internal.cache.partitioned.RemoveBucketMessage;
+import org.apache.geode.internal.cache.partitioned.RemoveBucketMessage.RemoveBucketReplyMessage;
+import org.apache.geode.internal.cache.partitioned.RemoveIndexesMessage;
+import org.apache.geode.internal.cache.partitioned.RemoveIndexesMessage.RemoveIndexesReplyMessage;
+import org.apache.geode.internal.cache.partitioned.SizeMessage;
+import org.apache.geode.internal.cache.partitioned.SizeMessage.SizeReplyMessage;
+import org.apache.geode.internal.cache.partitioned.SizedBasedLoadProbe;
+import org.apache.geode.internal.cache.persistence.DiskStoreID;
+import org.apache.geode.internal.cache.persistence.MembershipFlushRequest;
+import org.apache.geode.internal.cache.persistence.MembershipViewRequest;
+import org.apache.geode.internal.cache.persistence.MembershipViewRequest.MembershipViewReplyMessage;
+import org.apache.geode.internal.cache.persistence.PersistentStateQueryMessage;
+import org.apache.geode.internal.cache.persistence.PersistentStateQueryMessage.PersistentStateQueryReplyMessage;
+import org.apache.geode.internal.cache.persistence.PrepareNewPersistentMemberMessage;
+import org.apache.geode.internal.cache.persistence.RemovePersistentMemberMessage;
+import org.apache.geode.internal.cache.snapshot.FlowController.FlowControlAbortMessage;
+import org.apache.geode.internal.cache.snapshot.FlowController.FlowControlAckMessage;
+import org.apache.geode.internal.cache.snapshot.SnapshotPacket;
+import org.apache.geode.internal.cache.snapshot.SnapshotPacket.SnapshotRecord;
+import org.apache.geode.internal.cache.tier.sockets.ClientDataSerializerMessage;
+import org.apache.geode.internal.cache.tier.sockets.ClientDenylistProcessor.ClientDenylistMessage;
+import org.apache.geode.internal.cache.tier.sockets.ClientInstantiatorMessage;
+import org.apache.geode.internal.cache.tier.sockets.ClientInterestMessageImpl;
+import org.apache.geode.internal.cache.tier.sockets.ClientMarkerMessageImpl;
+import org.apache.geode.internal.cache.tier.sockets.ClientPingMessageImpl;
+import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
+import org.apache.geode.internal.cache.tier.sockets.ClientTombstoneMessage;
+import org.apache.geode.internal.cache.tier.sockets.ClientUpdateMessageImpl;
+import org.apache.geode.internal.cache.tier.sockets.HAEventWrapper;
+import org.apache.geode.internal.cache.tier.sockets.InterestResultPolicyImpl;
+import org.apache.geode.internal.cache.tier.sockets.ObjectPartList;
+import org.apache.geode.internal.cache.tier.sockets.ObjectPartList651;
+import org.apache.geode.internal.cache.tier.sockets.RemoveClientFromDenylistMessage;
+import org.apache.geode.internal.cache.tier.sockets.SerializedObjectPartList;
+import org.apache.geode.internal.cache.tier.sockets.ServerInterestRegistrationMessage;
+import org.apache.geode.internal.cache.tier.sockets.VersionedObjectList;
+import org.apache.geode.internal.cache.tx.DistTxEntryEvent;
+import org.apache.geode.internal.cache.tx.RemoteClearMessage;
+import org.apache.geode.internal.cache.tx.RemoteClearMessage.RemoteClearReplyMessage;
+import org.apache.geode.internal.cache.tx.RemoteContainsKeyValueMessage;
+import org.apache.geode.internal.cache.tx.RemoteDestroyMessage;
+import org.apache.geode.internal.cache.tx.RemoteFetchEntryMessage;
+import org.apache.geode.internal.cache.tx.RemoteFetchKeysMessage;
+import org.apache.geode.internal.cache.tx.RemoteFetchVersionMessage;
+import org.apache.geode.internal.cache.tx.RemoteGetMessage;
+import org.apache.geode.internal.cache.tx.RemoteInvalidateMessage;
+import org.apache.geode.internal.cache.tx.RemotePutAllMessage;
+import org.apache.geode.internal.cache.tx.RemotePutMessage;
+import org.apache.geode.internal.cache.tx.RemoteRemoveAllMessage;
+import org.apache.geode.internal.cache.tx.RemoteSizeMessage;
+import org.apache.geode.internal.cache.versions.DiskRegionVersionVector;
+import org.apache.geode.internal.cache.versions.DiskVersionTag;
+import org.apache.geode.internal.cache.versions.VMRegionVersionVector;
+import org.apache.geode.internal.cache.versions.VMVersionTag;
+import org.apache.geode.internal.cache.wan.GatewaySenderAdvisor;
+import org.apache.geode.internal.cache.wan.GatewaySenderEventCallbackArgument;
+import org.apache.geode.internal.cache.wan.GatewaySenderEventImpl;
+import org.apache.geode.internal.cache.wan.GatewaySenderQueueEntrySynchronizationOperation;
+import org.apache.geode.internal.cache.wan.parallel.ParallelQueueRemovalMessage;
+import org.apache.geode.internal.cache.wan.serial.BatchDestroyOperation;
+import org.apache.geode.internal.serialization.DSFIDSerializer;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
+import org.apache.geode.management.internal.JmxManagerAdvisor.JmxManagerProfile;
+import org.apache.geode.management.internal.JmxManagerAdvisor.JmxManagerProfileMessage;
+import org.apache.geode.management.internal.JmxManagerLocatorRequest;
+import org.apache.geode.management.internal.JmxManagerLocatorResponse;
+import org.apache.geode.management.internal.ManagerStartupMessage;
+import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
+import org.apache.geode.management.internal.configuration.messages.ConfigurationResponse;
+import org.apache.geode.pdx.internal.CheckTypeRegistryState;
+import org.apache.geode.pdx.internal.EnumId;
+import org.apache.geode.pdx.internal.EnumInfo;
/**
- * Factory for instances of DataSerializableFixedID instances. Constructors must be registered
- * with this factory in order for it to deserialize anything.
+ * Factory for instances of DataSerializableFixedID instances. Note that this class implements
+ * DataSerializableFixedID to inherit constants but is not actually an instance of this interface.
+ *
+ * @since GemFire 5.7
*/
-public class DSFIDFactory {
-
- @Immutable
- private final Constructor<?>[] dsfidMap = new Constructor<?>[256];
-
- @Immutable("This maybe should be wrapped in an unmodifiableMap?")
- private final Int2ObjectOpenHashMap dsfidMap2 = new Int2ObjectOpenHashMap(800);
-
-
- /** Register the constructor for a fixed ID class. */
- public void registerDSFID(int dsfid, Class dsfidClass) {
- try {
- Constructor<?> cons = dsfidClass.getConstructor((Class[]) null);
- cons.setAccessible(true);
- if (!cons.isAccessible()) {
- throw new InternalGemFireError(
- "default constructor not accessible " + "for DSFID=" + dsfid + ": " + dsfidClass);
- }
- if (dsfid >= Byte.MIN_VALUE && dsfid <= Byte.MAX_VALUE) {
- dsfidMap[dsfid + Byte.MAX_VALUE + 1] = cons;
- } else {
- dsfidMap2.put(dsfid, cons);
- }
- } catch (NoSuchMethodException nsme) {
- throw new InternalGemFireError(nsme);
- }
+public class DSFIDFactory implements DataSerializableFixedID {
+
+ private final DSFIDSerializer serializer;
+
+ DSFIDFactory(DSFIDSerializer serializer) {
+ this.serializer = serializer;
+ }
+
+ @Override
+ public int getDSFID() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void toData(DataOutput out) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void fromData(DataInput in) throws IOException, ClassNotFoundException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Version[] getSerializationVersions() {
+ throw new UnsupportedOperationException();
+ }
+
+ void registerDSFIDTypes() {
+ serializer.registerDSFID(FINAL_CHECK_PASSED_MESSAGE, FinalCheckPassedMessage.class);
+ serializer.registerDSFID(NETWORK_PARTITION_MESSAGE, NetworkPartitionMessage.class);
+ serializer.registerDSFID(REMOVE_MEMBER_REQUEST, RemoveMemberMessage.class);
+ serializer.registerDSFID(HEARTBEAT_REQUEST, HeartbeatRequestMessage.class);
+ serializer.registerDSFID(HEARTBEAT_RESPONSE, HeartbeatMessage.class);
+ serializer.registerDSFID(SUSPECT_MEMBERS_MESSAGE, SuspectMembersMessage.class);
+ serializer.registerDSFID(LEAVE_REQUEST_MESSAGE, LeaveRequestMessage.class);
+ serializer.registerDSFID(VIEW_ACK_MESSAGE, ViewAckMessage.class);
+ serializer.registerDSFID(INSTALL_VIEW_MESSAGE, InstallViewMessage.class);
+ serializer.registerDSFID(GMSMEMBER, GMSMember.class);
+ serializer.registerDSFID(NETVIEW, GMSMembershipView.class);
+ serializer.registerDSFID(GET_VIEW_REQ, GetViewRequest.class);
+ serializer.registerDSFID(GET_VIEW_RESP, GetViewResponse.class);
+ serializer.registerDSFID(FIND_COORDINATOR_REQ, FindCoordinatorRequest.class);
+ serializer.registerDSFID(FIND_COORDINATOR_RESP, FindCoordinatorResponse.class);
+ serializer.registerDSFID(JOIN_RESPONSE, JoinResponseMessage.class);
+ serializer.registerDSFID(JOIN_REQUEST, JoinRequestMessage.class);
+ serializer.registerDSFID(CLIENT_TOMBSTONE_MESSAGE, ClientTombstoneMessage.class);
+ serializer.registerDSFID(R_CLEAR_MSG, RemoteClearMessage.class);
+ serializer.registerDSFID(R_CLEAR_MSG_REPLY, RemoteClearReplyMessage.class);
+ serializer.registerDSFID(WAIT_FOR_VIEW_INSTALLATION, WaitForViewInstallation.class);
+ serializer.registerDSFID(DISPATCHED_AND_CURRENT_EVENTS, DispatchedAndCurrentEvents.class);
+ serializer.registerDSFID(DISTRIBUTED_MEMBER, InternalDistributedMember.class);
+ serializer.registerDSFID(UPDATE_MESSAGE, UpdateOperation.UpdateMessage.class);
+ serializer.registerDSFID(REPLY_MESSAGE, ReplyMessage.class);
+ serializer.registerDSFID(PR_DESTROY, DestroyMessage.class);
+ serializer.registerDSFID(CREATE_REGION_MESSAGE,
+ CreateRegionProcessor.CreateRegionMessage.class);
+ serializer.registerDSFID(CREATE_REGION_REPLY_MESSAGE,
+ CreateRegionProcessor.CreateRegionReplyMessage.class);
+ serializer.registerDSFID(REGION_STATE_MESSAGE, InitialImageOperation.RegionStateMessage.class);
+ serializer.registerDSFID(QUERY_MESSAGE, SearchLoadAndWriteProcessor.QueryMessage.class);
+ serializer.registerDSFID(RESPONSE_MESSAGE, SearchLoadAndWriteProcessor.ResponseMessage.class);
+ serializer.registerDSFID(NET_SEARCH_REQUEST_MESSAGE,
+ SearchLoadAndWriteProcessor.NetSearchRequestMessage.class);
+ serializer.registerDSFID(NET_SEARCH_REPLY_MESSAGE,
+ SearchLoadAndWriteProcessor.NetSearchReplyMessage.class);
+ serializer.registerDSFID(NET_LOAD_REQUEST_MESSAGE,
+ SearchLoadAndWriteProcessor.NetLoadRequestMessage.class);
+ serializer.registerDSFID(NET_LOAD_REPLY_MESSAGE,
+ SearchLoadAndWriteProcessor.NetLoadReplyMessage.class);
+ serializer.registerDSFID(NET_WRITE_REQUEST_MESSAGE,
+ SearchLoadAndWriteProcessor.NetWriteRequestMessage.class);
+ serializer.registerDSFID(NET_WRITE_REPLY_MESSAGE,
+ SearchLoadAndWriteProcessor.NetWriteReplyMessage.class);
+ serializer.registerDSFID(DLOCK_REQUEST_MESSAGE,
+ DLockRequestProcessor.DLockRequestMessage.class);
+ serializer.registerDSFID(DLOCK_RESPONSE_MESSAGE,
+ DLockRequestProcessor.DLockResponseMessage.class);
+ serializer.registerDSFID(DLOCK_RELEASE_MESSAGE,
+ DLockReleaseProcessor.DLockReleaseMessage.class);
+ serializer.registerDSFID(ADMIN_CACHE_EVENT_MESSAGE,
+ SystemMemberCacheEventProcessor.SystemMemberCacheMessage.class);
+ serializer.registerDSFID(CQ_ENTRY_EVENT, CqEntry.class);
+ serializer.registerDSFID(REQUEST_IMAGE_MESSAGE,
+ InitialImageOperation.RequestImageMessage.class);
+ serializer.registerDSFID(IMAGE_REPLY_MESSAGE, InitialImageOperation.ImageReplyMessage.class);
+ serializer.registerDSFID(IMAGE_ENTRY, InitialImageOperation.Entry.class);
+ serializer.registerDSFID(CLOSE_CACHE_MESSAGE, CloseCacheMessage.class);
+ serializer.registerDSFID(NON_GRANTOR_DESTROYED_MESSAGE,
+ NonGrantorDestroyedProcessor.NonGrantorDestroyedMessage.class);
+ serializer.registerDSFID(DLOCK_RELEASE_REPLY,
+ DLockReleaseProcessor.DLockReleaseReplyMessage.class);
+ serializer.registerDSFID(GRANTOR_REQUEST_MESSAGE,
+ GrantorRequestProcessor.GrantorRequestMessage.class);
+ serializer.registerDSFID(GRANTOR_INFO_REPLY_MESSAGE,
+ GrantorRequestProcessor.GrantorInfoReplyMessage.class);
+ serializer.registerDSFID(ELDER_INIT_MESSAGE, ElderInitProcessor.ElderInitMessage.class);
+ serializer.registerDSFID(ELDER_INIT_REPLY_MESSAGE,
+ ElderInitProcessor.ElderInitReplyMessage.class);
+ serializer.registerDSFID(DEPOSE_GRANTOR_MESSAGE,
+ DeposeGrantorProcessor.DeposeGrantorMessage.class);
+ serializer.registerDSFID(STARTUP_MESSAGE, StartupMessage.class);
+ serializer.registerDSFID(STARTUP_RESPONSE_MESSAGE, StartupResponseMessage.class);
+ serializer.registerDSFID(STARTUP_RESPONSE_WITHVERSION_MESSAGE,
+ StartupResponseWithVersionMessage.class);
+ serializer.registerDSFID(SHUTDOWN_MESSAGE, ShutdownMessage.class);
+ serializer.registerDSFID(DESTROY_REGION_MESSAGE,
+ DestroyRegionOperation.DestroyRegionMessage.class);
+ serializer.registerDSFID(PR_PUTALL_MESSAGE, PutAllPRMessage.class);
+ serializer.registerDSFID(PR_REMOVE_ALL_MESSAGE, RemoveAllPRMessage.class);
+ serializer.registerDSFID(PR_REMOVE_ALL_REPLY_MESSAGE,
+ RemoveAllPRMessage.RemoveAllReplyMessage.class);
+ serializer.registerDSFID(REMOTE_REMOVE_ALL_MESSAGE, RemoteRemoveAllMessage.class);
+ serializer.registerDSFID(REMOTE_REMOVE_ALL_REPLY_MESSAGE,
+ RemoteRemoveAllMessage.RemoveAllReplyMessage.class);
+ serializer.registerDSFID(DISTTX_ROLLBACK_MESSAGE, DistTXRollbackMessage.class);
+ serializer.registerDSFID(DISTTX_COMMIT_MESSAGE, DistTXCommitMessage.class);
+ serializer.registerDSFID(DISTTX_PRE_COMMIT_MESSAGE, DistTXPrecommitMessage.class);
+ serializer.registerDSFID(DISTTX_ROLLBACK_REPLY_MESSAGE,
+ DistTXRollbackMessage.DistTXRollbackReplyMessage.class);
+ serializer.registerDSFID(DISTTX_COMMIT_REPLY_MESSAGE,
+ DistTXCommitMessage.DistTXCommitReplyMessage.class);
+ serializer.registerDSFID(DISTTX_PRE_COMMIT_REPLY_MESSAGE,
+ DistTXPrecommitMessage.DistTXPrecommitReplyMessage.class);
+ serializer.registerDSFID(PR_PUT_MESSAGE, PutMessage.class);
+ serializer.registerDSFID(INVALIDATE_MESSAGE, InvalidateOperation.InvalidateMessage.class);
+ serializer.registerDSFID(DESTROY_MESSAGE, DestroyOperation.DestroyMessage.class);
+ serializer.registerDSFID(DA_PROFILE, DistributionAdvisor.Profile.class);
+ serializer.registerDSFID(CACHE_PROFILE, CacheDistributionAdvisor.CacheProfile.class);
+ serializer.registerDSFID(HA_PROFILE, HARegion.HARegionAdvisor.HAProfile.class);
+ serializer.registerDSFID(ENTRY_EVENT, EntryEventImpl.class);
+ serializer.registerDSFID(UPDATE_ATTRIBUTES_MESSAGE,
+ UpdateAttributesProcessor.UpdateAttributesMessage.class);
+ serializer.registerDSFID(PROFILE_REPLY_MESSAGE,
+ UpdateAttributesProcessor.ProfileReplyMessage.class);
+ serializer.registerDSFID(PROFILES_REPLY_MESSAGE,
+ UpdateAttributesProcessor.ProfilesReplyMessage.class);
+ serializer.registerDSFID(REGION_EVENT, RegionEventImpl.class);
+ serializer.registerDSFID(TX_COMMIT_MESSAGE, TXCommitMessage.class);
+ serializer.registerDSFID(COMMIT_PROCESS_FOR_LOCKID_MESSAGE,
+ CommitProcessForLockIdMessage.class);
+ serializer.registerDSFID(COMMIT_PROCESS_FOR_TXID_MESSAGE, CommitProcessForTXIdMessage.class);
+ serializer.registerDSFID(FILTER_PROFILE, FilterProfile.class);
+ serializer.registerDSFID(REMOTE_PUTALL_REPLY_MESSAGE,
+ RemotePutAllMessage.PutAllReplyMessage.class);
+ serializer.registerDSFID(REMOTE_PUTALL_MESSAGE, RemotePutAllMessage.class);
+ serializer.registerDSFID(VERSION_TAG, VMVersionTag.class);
+ serializer.registerDSFID(ADD_CACHESERVER_PROFILE_UPDATE, AddCacheServerProfileMessage.class);
+ serializer.registerDSFID(REMOVE_CACHESERVER_PROFILE_UPDATE,
+ RemoveCacheServerProfileMessage.class);
+ serializer.registerDSFID(SERVER_INTEREST_REGISTRATION_MESSAGE,
+ ServerInterestRegistrationMessage.class);
+ serializer.registerDSFID(FILTER_PROFILE_UPDATE, FilterProfile.OperationMessage.class);
+ serializer.registerDSFID(PR_GET_MESSAGE, GetMessage.class);
+ serializer.registerDSFID(R_FETCH_ENTRY_MESSAGE, RemoteFetchEntryMessage.class);
+ serializer.registerDSFID(R_FETCH_ENTRY_REPLY_MESSAGE,
+ RemoteFetchEntryMessage.FetchEntryReplyMessage.class);
+ serializer.registerDSFID(R_CONTAINS_MESSAGE, RemoteContainsKeyValueMessage.class);
+ serializer.registerDSFID(R_CONTAINS_REPLY_MESSAGE,
+ RemoteContainsKeyValueMessage.RemoteContainsKeyValueReplyMessage.class);
+ serializer.registerDSFID(R_DESTROY_MESSAGE, RemoteDestroyMessage.class);
+ serializer.registerDSFID(R_DESTROY_REPLY_MESSAGE,
+ RemoteDestroyMessage.DestroyReplyMessage.class);
+ serializer.registerDSFID(R_INVALIDATE_MESSAGE, RemoteInvalidateMessage.class);
+ serializer.registerDSFID(R_INVALIDATE_REPLY_MESSAGE,
+ RemoteInvalidateMessage.InvalidateReplyMessage.class);
+ serializer.registerDSFID(R_GET_MESSAGE, RemoteGetMessage.class);
+ serializer.registerDSFID(R_GET_REPLY_MESSAGE, RemoteGetMessage.GetReplyMessage.class);
+ serializer.registerDSFID(R_PUT_MESSAGE, RemotePutMessage.class);
+ serializer.registerDSFID(R_PUT_REPLY_MESSAGE, RemotePutMessage.PutReplyMessage.class);
+ serializer.registerDSFID(R_SIZE_MESSAGE, RemoteSizeMessage.class);
+ serializer.registerDSFID(R_SIZE_REPLY_MESSAGE, RemoteSizeMessage.SizeReplyMessage.class);
+ serializer.registerDSFID(PR_DESTROY_REPLY_MESSAGE, DestroyMessage.DestroyReplyMessage.class);
+ serializer.registerDSFID(CLI_FUNCTION_RESULT, CliFunctionResult.class);
+ serializer.registerDSFID(R_FETCH_KEYS_MESSAGE, RemoteFetchKeysMessage.class);
+ serializer.registerDSFID(R_FETCH_KEYS_REPLY,
+ RemoteFetchKeysMessage.RemoteFetchKeysReplyMessage.class);
+ serializer.registerDSFID(R_REMOTE_COMMIT_REPLY_MESSAGE, TXRemoteCommitReplyMessage.class);
+ serializer.registerDSFID(TRANSACTION_LOCK_ID, TXLockIdImpl.class);
+ serializer.registerDSFID(PR_GET_REPLY_MESSAGE, GetReplyMessage.class);
+ serializer.registerDSFID(PR_NODE, Node.class);
+ serializer.registerDSFID(UPDATE_WITH_CONTEXT_MESSAGE,
+ UpdateOperation.UpdateWithContextMessage.class);
+ serializer.registerDSFID(DESTROY_WITH_CONTEXT_MESSAGE,
+ DestroyOperation.DestroyWithContextMessage.class);
+ serializer.registerDSFID(INVALIDATE_WITH_CONTEXT_MESSAGE,
+ InvalidateOperation.InvalidateWithContextMessage.class);
+ serializer.registerDSFID(REGION_VERSION_VECTOR, VMRegionVersionVector.class);
+ serializer.registerDSFID(CLIENT_PROXY_MEMBERSHIPID, ClientProxyMembershipID.class);
+ serializer.registerDSFID(EVENT_ID, EventID.class);
+ serializer.registerDSFID(CLIENT_UPDATE_MESSAGE, ClientUpdateMessageImpl.class);
+ serializer.registerDSFID(CLEAR_REGION_MESSAGE_WITH_CONTEXT,
+ ClearRegionWithContextMessage.class);
+ serializer.registerDSFID(CLIENT_INSTANTIATOR_MESSAGE, ClientInstantiatorMessage.class);
+ serializer.registerDSFID(CLIENT_DATASERIALIZER_MESSAGE, ClientDataSerializerMessage.class);
+ serializer.registerDSFID(REGISTRATION_MESSAGE, InternalInstantiator.RegistrationMessage.class);
+ serializer.registerDSFID(REGISTRATION_CONTEXT_MESSAGE,
+ InternalInstantiator.RegistrationContextMessage.class);
+ serializer.registerDSFID(RESULTS_COLLECTION_WRAPPER, ResultsCollectionWrapper.class);
+ serializer.registerDSFID(RESULTS_SET, ResultsSet.class);
+ serializer.registerDSFID(SORTED_RESULT_SET, SortedResultSet.class);
+ serializer.registerDSFID(SORTED_STRUCT_SET, SortedStructSet.class);
+ serializer.registerDSFID(NWAY_MERGE_RESULTS, NWayMergeResults.class);
+ serializer.registerDSFID(CUMULATIVE_RESULTS, CumulativeNonDistinctResults.class);
+ serializer.registerDSFID(UNDEFINED, Undefined.class);
+ serializer.registerDSFID(STRUCT_IMPL, StructImpl.class);
+ serializer.registerDSFID(STRUCT_SET, StructSet.class);
+ serializer.registerDSFID(END_OF_BUCKET, PRQueryProcessor.EndOfBucket.class);
+ serializer.registerDSFID(STRUCT_BAG, StructBag.class);
+ serializer.registerDSFID(LINKED_RESULTSET, LinkedResultSet.class);
+ serializer.registerDSFID(LINKED_STRUCTSET, LinkedStructSet.class);
+ serializer.registerDSFID(PR_BUCKET_BACKUP_MESSAGE, BucketBackupMessage.class);
+ serializer.registerDSFID(PR_BUCKET_PROFILE_UPDATE_MESSAGE, BucketProfileUpdateMessage.class);
+ serializer.registerDSFID(PR_ALL_BUCKET_PROFILES_UPDATE_MESSAGE,
+ AllBucketProfilesUpdateMessage.class);
+ serializer.registerDSFID(PR_BUCKET_SIZE_MESSAGE, BucketSizeMessage.class);
+ serializer.registerDSFID(PR_CONTAINS_KEY_VALUE_MESSAGE, ContainsKeyValueMessage.class);
+ serializer.registerDSFID(PR_DUMP_ALL_PR_CONFIG_MESSAGE, DumpAllPRConfigMessage.class);
+ serializer.registerDSFID(PR_DUMP_BUCKETS_MESSAGE, DumpBucketsMessage.class);
+ serializer.registerDSFID(PR_FETCH_ENTRIES_MESSAGE, FetchEntriesMessage.class);
+ serializer.registerDSFID(PR_FETCH_ENTRY_MESSAGE, FetchEntryMessage.class);
+ serializer.registerDSFID(PR_FETCH_KEYS_MESSAGE, FetchKeysMessage.class);
+ serializer.registerDSFID(PR_FLUSH_MESSAGE, FlushMessage.class);
+ serializer.registerDSFID(PR_IDENTITY_REQUEST_MESSAGE, IdentityRequestMessage.class);
+ serializer.registerDSFID(PR_IDENTITY_UPDATE_MESSAGE, IdentityUpdateMessage.class);
+ serializer.registerDSFID(PR_INDEX_CREATION_MSG, IndexCreationMsg.class);
+ serializer.registerDSFID(PR_MANAGE_BUCKET_MESSAGE, ManageBucketMessage.class);
+ serializer.registerDSFID(PR_PRIMARY_REQUEST_MESSAGE, PrimaryRequestMessage.class);
+ serializer.registerDSFID(PR_PRIMARY_REQUEST_REPLY_MESSAGE, PrimaryRequestReplyMessage.class);
+ serializer.registerDSFID(PR_SANITY_CHECK_MESSAGE, PRSanityCheckMessage.class);
+ serializer.registerDSFID(PR_PUTALL_REPLY_MESSAGE, PutAllReplyMessage.class);
+ serializer.registerDSFID(PR_PUT_REPLY_MESSAGE, PutReplyMessage.class);
+ serializer.registerDSFID(PR_QUERY_MESSAGE, QueryMessage.class);
+ serializer.registerDSFID(PR_REMOVE_INDEXES_MESSAGE, RemoveIndexesMessage.class);
+ serializer.registerDSFID(PR_REMOVE_INDEXES_REPLY_MESSAGE, RemoveIndexesReplyMessage.class);
+ serializer.registerDSFID(PR_SIZE_MESSAGE, SizeMessage.class);
+ serializer.registerDSFID(PR_SIZE_REPLY_MESSAGE, SizeReplyMessage.class);
+ serializer.registerDSFID(PR_BUCKET_SIZE_REPLY_MESSAGE, BucketSizeReplyMessage.class);
+ serializer.registerDSFID(PR_CONTAINS_KEY_VALUE_REPLY_MESSAGE,
+ ContainsKeyValueReplyMessage.class);
+ serializer.registerDSFID(PR_FETCH_ENTRIES_REPLY_MESSAGE, FetchEntriesReplyMessage.class);
+ serializer.registerDSFID(PR_FETCH_ENTRY_REPLY_MESSAGE, FetchEntryReplyMessage.class);
+ serializer.registerDSFID(PR_IDENTITY_REPLY_MESSAGE, IdentityReplyMessage.class);
+ serializer.registerDSFID(PR_INDEX_CREATION_REPLY_MSG, IndexCreationReplyMsg.class);
+ serializer.registerDSFID(PR_MANAGE_BUCKET_REPLY_MESSAGE, ManageBucketReplyMessage.class);
+ serializer.registerDSFID(PR_FETCH_KEYS_REPLY_MESSAGE, FetchKeysReplyMessage.class);
+ serializer.registerDSFID(PR_DUMP_B2N_REGION_MSG, DumpB2NRegion.class);
+ serializer.registerDSFID(PR_DUMP_B2N_REPLY_MESSAGE, DumpB2NReplyMessage.class);
+ serializer.registerDSFID(DESTROY_PARTITIONED_REGION_MESSAGE,
+ DestroyPartitionedRegionMessage.class);
+ serializer.registerDSFID(INVALIDATE_PARTITIONED_REGION_MESSAGE,
+ InvalidatePartitionedRegionMessage.class);
+ serializer.registerDSFID(COMMIT_PROCESS_QUERY_MESSAGE, CommitProcessQueryMessage.class);
+ serializer.registerDSFID(COMMIT_PROCESS_QUERY_REPLY_MESSAGE,
+ CommitProcessQueryReplyMessage.class);
+ serializer.registerDSFID(DESTROY_REGION_WITH_CONTEXT_MESSAGE,
+ DestroyRegionOperation.DestroyRegionWithContextMessage.class);
+ serializer.registerDSFID(PUT_ALL_MESSAGE, PutAllMessage.class);
+ serializer.registerDSFID(REMOVE_ALL_MESSAGE, RemoveAllMessage.class);
+ serializer.registerDSFID(CLEAR_REGION_MESSAGE, ClearRegionMessage.class);
+ serializer.registerDSFID(TOMBSTONE_MESSAGE, TombstoneMessage.class);
+ serializer.registerDSFID(INVALIDATE_REGION_MESSAGE, InvalidateRegionMessage.class);
+ serializer.registerDSFID(STATE_MARKER_MESSAGE, StateMarkerMessage.class);
+ serializer.registerDSFID(STATE_STABILIZATION_MESSAGE, StateStabilizationMessage.class);
+ serializer.registerDSFID(STATE_STABILIZED_MESSAGE, StateStabilizedMessage.class);
+ serializer.registerDSFID(CLIENT_MARKER_MESSAGE_IMPL, ClientMarkerMessageImpl.class);
+ serializer.registerDSFID(TX_LOCK_UPDATE_PARTICIPANTS_MESSAGE,
+ TXLockUpdateParticipantsMessage.class);
+ serializer.registerDSFID(TX_ORIGINATOR_RECOVERY_MESSAGE, TXOriginatorRecoveryMessage.class);
+ serializer.registerDSFID(TX_ORIGINATOR_RECOVERY_REPLY_MESSAGE,
+ TXOriginatorRecoveryReplyMessage.class);
+ serializer.registerDSFID(TX_REMOTE_COMMIT_MESSAGE, TXRemoteCommitMessage.class);
+ serializer.registerDSFID(TX_REMOTE_ROLLBACK_MESSAGE, TXRemoteRollbackMessage.class);
+ serializer.registerDSFID(JTA_BEFORE_COMPLETION_MESSAGE, JtaBeforeCompletionMessage.class);
+ serializer.registerDSFID(JTA_AFTER_COMPLETION_MESSAGE, JtaAfterCompletionMessage.class);
+ serializer.registerDSFID(QUEUE_REMOVAL_MESSAGE, QueueRemovalMessage.class);
+ serializer.registerDSFID(DLOCK_RECOVER_GRANTOR_MESSAGE, DLockRecoverGrantorMessage.class);
+ serializer.registerDSFID(DLOCK_RECOVER_GRANTOR_REPLY_MESSAGE,
+ DLockRecoverGrantorReplyMessage.class);
+ serializer.registerDSFID(NON_GRANTOR_DESTROYED_REPLY_MESSAGE,
+ NonGrantorDestroyedReplyMessage.class);
+ serializer.registerDSFID(IDS_REGISTRATION_MESSAGE,
+ InternalDataSerializer.RegistrationMessage.class);
+ serializer.registerDSFID(PR_FETCH_PARTITION_DETAILS_MESSAGE,
+ FetchPartitionDetailsMessage.class);
+ serializer.registerDSFID(PR_FETCH_PARTITION_DETAILS_REPLY,
+ FetchPartitionDetailsReplyMessage.class);
+ serializer.registerDSFID(PR_DEPOSE_PRIMARY_BUCKET_MESSAGE, DeposePrimaryBucketMessage.class);
+ serializer.registerDSFID(PR_DEPOSE_PRIMARY_BUCKET_REPLY, DeposePrimaryBucketReplyMessage.class);
+ serializer.registerDSFID(PR_BECOME_PRIMARY_BUCKET_MESSAGE, BecomePrimaryBucketMessage.class);
+ serializer.registerDSFID(PR_BECOME_PRIMARY_BUCKET_REPLY, BecomePrimaryBucketReplyMessage.class);
+ serializer.registerDSFID(PR_REMOVE_BUCKET_MESSAGE, RemoveBucketMessage.class);
+ serializer.registerDSFID(EXPIRE_CLIENT_TRANSACTIONS,
+ ExpireDisconnectedClientTransactionsMessage.class);
+ serializer.registerDSFID(PR_REMOVE_BUCKET_REPLY, RemoveBucketReplyMessage.class);
+ serializer.registerDSFID(PR_MOVE_BUCKET_MESSAGE, MoveBucketMessage.class);
+ serializer.registerDSFID(PR_MOVE_BUCKET_REPLY, MoveBucketReplyMessage.class);
+ serializer.registerDSFID(ADD_HEALTH_LISTENER_REQUEST, AddHealthListenerRequest.class);
+ serializer.registerDSFID(ADD_HEALTH_LISTENER_RESPONSE, AddHealthListenerResponse.class);
+ serializer.registerDSFID(ADD_STAT_LISTENER_REQUEST, AddStatListenerRequest.class);
+ serializer.registerDSFID(ADD_STAT_LISTENER_RESPONSE, AddStatListenerResponse.class);
+ serializer.registerDSFID(ADMIN_CONSOLE_DISCONNECT_MESSAGE, AdminConsoleDisconnectMessage.class);
+ serializer.registerDSFID(ADMIN_CONSOLE_MESSAGE, AdminConsoleMessage.class);
+ serializer.registerDSFID(MANAGER_STARTUP_MESSAGE, ManagerStartupMessage.class);
+ serializer.registerDSFID(JMX_MANAGER_LOCATOR_REQUEST, JmxManagerLocatorRequest.class);
+ serializer.registerDSFID(JMX_MANAGER_LOCATOR_RESPONSE, JmxManagerLocatorResponse.class);
+ serializer.registerDSFID(ADMIN_FAILURE_RESPONSE, AdminFailureResponse.class);
+ serializer.registerDSFID(ALERT_LEVEL_CHANGE_MESSAGE, AlertLevelChangeMessage.class);
+ serializer.registerDSFID(ALERT_LISTENER_MESSAGE, AlertListenerMessage.class);
+ serializer.registerDSFID(APP_CACHE_SNAPSHOT_MESSAGE, AppCacheSnapshotMessage.class);
+ serializer.registerDSFID(BRIDGE_SERVER_REQUEST, BridgeServerRequest.class);
+ serializer.registerDSFID(BRIDGE_SERVER_RESPONSE, BridgeServerResponse.class);
+ serializer.registerDSFID(CACHE_CONFIG_REQUEST, CacheConfigRequest.class);
+ serializer.registerDSFID(CACHE_CONFIG_RESPONSE, CacheConfigResponse.class);
+ serializer.registerDSFID(CACHE_INFO_REQUEST, CacheInfoRequest.class);
+ serializer.registerDSFID(CACHE_INFO_RESPONSE, CacheInfoResponse.class);
+ serializer.registerDSFID(CANCELLATION_MESSAGE, CancellationMessage.class);
+ serializer.registerDSFID(CANCEL_STAT_LISTENER_REQUEST, CancelStatListenerRequest.class);
+ serializer.registerDSFID(CANCEL_STAT_LISTENER_RESPONSE, CancelStatListenerResponse.class);
+ serializer.registerDSFID(DESTROY_ENTRY_MESSAGE, DestroyEntryMessage.class);
+ serializer.registerDSFID(ADMIN_DESTROY_REGION_MESSAGE, DestroyRegionMessage.class);
+ serializer.registerDSFID(FETCH_DIST_LOCK_INFO_REQUEST, FetchDistLockInfoRequest.class);
+ serializer.registerDSFID(FETCH_DIST_LOCK_INFO_RESPONSE, FetchDistLockInfoResponse.class);
+ serializer.registerDSFID(FETCH_HEALTH_DIAGNOSIS_REQUEST, FetchHealthDiagnosisRequest.class);
+ serializer.registerDSFID(FETCH_HEALTH_DIAGNOSIS_RESPONSE, FetchHealthDiagnosisResponse.class);
+ serializer.registerDSFID(FETCH_HOST_REQUEST, FetchHostRequest.class);
+ serializer.registerDSFID(FETCH_HOST_RESPONSE, FetchHostResponse.class);
+ serializer.registerDSFID(FETCH_RESOURCE_ATTRIBUTES_REQUEST,
+ FetchResourceAttributesRequest.class);
+ serializer.registerDSFID(FETCH_RESOURCE_ATTRIBUTES_RESPONSE,
+ FetchResourceAttributesResponse.class);
+ serializer.registerDSFID(FETCH_STATS_REQUEST, FetchStatsRequest.class);
+ serializer.registerDSFID(FETCH_STATS_RESPONSE, FetchStatsResponse.class);
+ serializer.registerDSFID(FETCH_SYS_CFG_REQUEST, FetchSysCfgRequest.class);
+ serializer.registerDSFID(FETCH_SYS_CFG_RESPONSE, FetchSysCfgResponse.class);
+ serializer.registerDSFID(FLUSH_APP_CACHE_SNAPSHOT_MESSAGE, FlushAppCacheSnapshotMessage.class);
+ serializer.registerDSFID(HEALTH_LISTENER_MESSAGE, HealthListenerMessage.class);
+ serializer.registerDSFID(OBJECT_DETAILS_REQUEST, ObjectDetailsRequest.class);
+ serializer.registerDSFID(OBJECT_DETAILS_RESPONSE, ObjectDetailsResponse.class);
+ serializer.registerDSFID(OBJECT_NAMES_REQUEST, ObjectNamesRequest.class);
+ serializer.registerDSFID(LICENSE_INFO_REQUEST, LicenseInfoRequest.class);
+ serializer.registerDSFID(LICENSE_INFO_RESPONSE, LicenseInfoResponse.class);
+ serializer.registerDSFID(OBJECT_NAMES_RESPONSE, ObjectNamesResponse.class);
+ serializer.registerDSFID(REGION_ATTRIBUTES_REQUEST, RegionAttributesRequest.class);
+ serializer.registerDSFID(REGION_ATTRIBUTES_RESPONSE, RegionAttributesResponse.class);
+ serializer.registerDSFID(REGION_REQUEST, RegionRequest.class);
+ serializer.registerDSFID(REGION_RESPONSE, RegionResponse.class);
+ serializer.registerDSFID(REGION_SIZE_REQUEST, RegionSizeRequest.class);
+ serializer.registerDSFID(REGION_SIZE_RESPONSE, RegionSizeResponse.class);
+ serializer.registerDSFID(REGION_STATISTICS_REQUEST, RegionStatisticsRequest.class);
+ serializer.registerDSFID(REGION_STATISTICS_RESPONSE, RegionStatisticsResponse.class);
+ serializer.registerDSFID(REMOVE_HEALTH_LISTENER_REQUEST, RemoveHealthListenerRequest.class);
+ serializer.registerDSFID(REMOVE_HEALTH_LISTENER_RESPONSE, RemoveHealthListenerResponse.class);
+ serializer.registerDSFID(RESET_HEALTH_STATUS_REQUEST, ResetHealthStatusRequest.class);
+ serializer.registerDSFID(RESET_HEALTH_STATUS_RESPONSE, ResetHealthStatusResponse.class);
+ serializer.registerDSFID(ROOT_REGION_REQUEST, RootRegionRequest.class);
+ serializer.registerDSFID(ROOT_REGION_RESPONSE, RootRegionResponse.class);
+ serializer.registerDSFID(SNAPSHOT_RESULT_MESSAGE, SnapshotResultMessage.class);
+ serializer.registerDSFID(STAT_LISTENER_MESSAGE, StatListenerMessage.class);
+ serializer.registerDSFID(STORE_SYS_CFG_REQUEST, StoreSysCfgRequest.class);
+ serializer.registerDSFID(STORE_SYS_CFG_RESPONSE, StoreSysCfgResponse.class);
+ serializer.registerDSFID(SUB_REGION_REQUEST, SubRegionRequest.class);
+ serializer.registerDSFID(SUB_REGION_RESPONSE, SubRegionResponse.class);
+ serializer.registerDSFID(TAIL_LOG_REQUEST, TailLogRequest.class);
+ serializer.registerDSFID(TAIL_LOG_RESPONSE, TailLogResponse.class);
+ serializer.registerDSFID(VERSION_INFO_REQUEST, VersionInfoRequest.class);
+ serializer.registerDSFID(VERSION_INFO_RESPONSE, VersionInfoResponse.class);
+ serializer.registerDSFID(HIGH_PRIORITY_ACKED_MESSAGE, HighPriorityAckedMessage.class);
+ serializer.registerDSFID(SERIAL_ACKED_MESSAGE, SerialAckedMessage.class);
+ serializer.registerDSFID(BUCKET_PROFILE, BucketAdvisor.BucketProfile.class);
+ serializer.registerDSFID(SERVER_BUCKET_PROFILE, BucketAdvisor.ServerBucketProfile.class);
+ serializer.registerDSFID(PARTITION_PROFILE, RegionAdvisor.PartitionProfile.class);
+ serializer.registerDSFID(GATEWAY_SENDER_PROFILE,
+ GatewaySenderAdvisor.GatewaySenderProfile.class);
+ serializer.registerDSFID(ROLE_EVENT, RoleEventImpl.class);
+ serializer.registerDSFID(CLIENT_REGION_EVENT, ClientRegionEventImpl.class);
+ serializer.registerDSFID(PR_INVALIDATE_MESSAGE, InvalidateMessage.class);
+ serializer.registerDSFID(PR_INVALIDATE_REPLY_MESSAGE,
+ InvalidateMessage.InvalidateReplyMessage.class);
+ serializer.registerDSFID(TX_LOCK_UPDATE_PARTICIPANTS_REPLY_MESSAGE,
+ TXLockUpdateParticipantsReplyMessage.class);
+ serializer.registerDSFID(STREAMING_REPLY_MESSAGE, StreamingReplyMessage.class);
+ serializer.registerDSFID(PARTITION_REGION_CONFIG, PartitionRegionConfig.class);
+ serializer.registerDSFID(PREFER_BYTES_CACHED_DESERIALIZABLE,
+ PreferBytesCachedDeserializable.class);
+ serializer.registerDSFID(VM_CACHED_DESERIALIZABLE, VMCachedDeserializable.class);
+ serializer.registerDSFID(GATEWAY_SENDER_EVENT_IMPL, GatewaySenderEventImpl.class);
+ serializer.registerDSFID(SUSPEND_LOCKING_TOKEN, DLockService.SuspendLockingToken.class);
+ serializer.registerDSFID(OBJECT_TYPE_IMPL, ObjectTypeImpl.class);
+ serializer.registerDSFID(STRUCT_TYPE_IMPL, StructTypeImpl.class);
+ serializer.registerDSFID(COLLECTION_TYPE_IMPL, CollectionTypeImpl.class);
+ serializer.registerDSFID(TX_LOCK_BATCH, TXLockBatch.class);
+ serializer.registerDSFID(GATEWAY_SENDER_EVENT_CALLBACK_ARGUMENT,
+ GatewaySenderEventCallbackArgument.class);
+ serializer.registerDSFID(MAP_TYPE_IMPL, MapTypeImpl.class);
+ serializer.registerDSFID(STORE_ALL_CACHED_DESERIALIZABLE, StoreAllCachedDeserializable.class);
+ serializer.registerDSFID(INTEREST_EVENT_MESSAGE, InterestEventMessage.class);
+ serializer.registerDSFID(INTEREST_EVENT_REPLY_MESSAGE, InterestEventReplyMessage.class);
+ serializer.registerDSFID(HA_EVENT_WRAPPER, HAEventWrapper.class);
+ serializer.registerDSFID(STAT_ALERTS_MGR_ASSIGN_MESSAGE, StatAlertsManagerAssignMessage.class);
+ serializer.registerDSFID(UPDATE_ALERTS_DEFN_MESSAGE, UpdateAlertDefinitionMessage.class);
+ serializer.registerDSFID(REFRESH_MEMBER_SNAP_REQUEST, RefreshMemberSnapshotRequest.class);
+ serializer.registerDSFID(REFRESH_MEMBER_SNAP_RESPONSE, RefreshMemberSnapshotResponse.class);
+ serializer.registerDSFID(REGION_SUB_SIZE_REQUEST, RegionSubRegionSizeRequest.class);
+ serializer.registerDSFID(REGION_SUB_SIZE_RESPONSE, RegionSubRegionsSizeResponse.class);
+ serializer.registerDSFID(CHANGE_REFRESH_INT_MESSAGE, ChangeRefreshIntervalMessage.class);
+ serializer.registerDSFID(ALERTS_NOTIF_MESSAGE, AlertsNotificationMessage.class);
+ serializer.registerDSFID(FIND_DURABLE_QUEUE, FindDurableQueueMessage.class);
+ serializer.registerDSFID(FIND_DURABLE_QUEUE_REPLY, FindDurableQueueReply.class);
+ serializer.registerDSFID(CACHE_SERVER_LOAD_MESSAGE, CacheServerLoadMessage.class);
+ serializer.registerDSFID(CACHE_SERVER_PROFILE, CacheServerProfile.class);
+ serializer.registerDSFID(CONTROLLER_PROFILE, ControllerProfile.class);
+ serializer.registerDSFID(DLOCK_QUERY_MESSAGE, DLockQueryProcessor.DLockQueryMessage.class);
+ serializer.registerDSFID(DLOCK_QUERY_REPLY, DLockQueryProcessor.DLockQueryReplyMessage.class);
+ serializer.registerDSFID(LOCATOR_LIST_REQUEST, LocatorListRequest.class);
+ serializer.registerDSFID(LOCATOR_LIST_RESPONSE, LocatorListResponse.class);
+ serializer.registerDSFID(CLIENT_CONNECTION_REQUEST, ClientConnectionRequest.class);
+ serializer.registerDSFID(CLIENT_CONNECTION_RESPONSE, ClientConnectionResponse.class);
+ serializer.registerDSFID(QUEUE_CONNECTION_REQUEST, QueueConnectionRequest.class);
+ serializer.registerDSFID(QUEUE_CONNECTION_RESPONSE, QueueConnectionResponse.class);
+ serializer.registerDSFID(CLIENT_REPLACEMENT_REQUEST, ClientReplacementRequest.class);
+ serializer.registerDSFID(OBJECT_PART_LIST, ObjectPartList.class);
+ serializer.registerDSFID(VERSIONED_OBJECT_LIST, VersionedObjectList.class);
+ serializer.registerDSFID(OBJECT_PART_LIST66, ObjectPartList651.class);
+ serializer.registerDSFID(PUTALL_VERSIONS_LIST, EntryVersionsList.class);
+ serializer.registerDSFID(INITIAL_IMAGE_VERSIONED_OBJECT_LIST,
+ InitialImageVersionedEntryList.class);
+ serializer.registerDSFID(FIND_VERSION_TAG, FindVersionTagMessage.class);
+ serializer.registerDSFID(VERSION_TAG_REPLY, VersionTagReply.class);
+ serializer.registerDSFID(DURABLE_CLIENT_INFO_REQUEST, DurableClientInfoRequest.class);
+ serializer.registerDSFID(DURABLE_CLIENT_INFO_RESPONSE, DurableClientInfoResponse.class);
+ serializer.registerDSFID(CLIENT_INTEREST_MESSAGE, ClientInterestMessageImpl.class);
+ serializer.registerDSFID(LATEST_LAST_ACCESS_TIME_MESSAGE, LatestLastAccessTimeMessage.class);
+ serializer.registerDSFID(STAT_ALERT_DEFN_NUM_THRESHOLD, NumberThresholdDecoratorImpl.class);
+ serializer.registerDSFID(STAT_ALERT_DEFN_GAUGE_THRESHOLD, GaugeThresholdDecoratorImpl.class);
+ serializer.registerDSFID(CLIENT_HEALTH_STATS, ClientHealthStats.class);
+ serializer.registerDSFID(STAT_ALERT_NOTIFICATION, StatAlertNotification.class);
+ serializer.registerDSFID(FILTER_INFO_MESSAGE, InitialImageOperation.FilterInfoMessage.class);
+ serializer.registerDSFID(SIZED_BASED_LOAD_PROBE, SizedBasedLoadProbe.class);
+ serializer.registerDSFID(PR_MANAGE_BACKUP_BUCKET_MESSAGE, ManageBackupBucketMessage.class);
+ serializer.registerDSFID(PR_MANAGE_BACKUP_BUCKET_REPLY_MESSAGE,
+ ManageBackupBucketReplyMessage.class);
+ serializer.registerDSFID(PR_CREATE_BUCKET_MESSAGE, CreateBucketMessage.class);
+ serializer.registerDSFID(PR_CREATE_BUCKET_REPLY_MESSAGE, CreateBucketReplyMessage.class);
+ serializer.registerDSFID(RESOURCE_MANAGER_PROFILE, ResourceManagerProfile.class);
+ serializer.registerDSFID(RESOURCE_PROFILE_MESSAGE, ResourceProfileMessage.class);
+ serializer.registerDSFID(JMX_MANAGER_PROFILE, JmxManagerProfile.class);
+ serializer.registerDSFID(JMX_MANAGER_PROFILE_MESSAGE, JmxManagerProfileMessage.class);
+ serializer.registerDSFID(CLIENT_DENYLIST_MESSAGE, ClientDenylistMessage.class);
+ serializer.registerDSFID(REMOVE_CLIENT_FROM_DENYLIST_MESSAGE,
+ RemoveClientFromDenylistMessage.class);
+ serializer.registerDSFID(PR_FUNCTION_STREAMING_MESSAGE,
+ PartitionedRegionFunctionStreamingMessage.class);
+ serializer.registerDSFID(MEMBER_FUNCTION_STREAMING_MESSAGE,
+ MemberFunctionStreamingMessage.class);
+ serializer.registerDSFID(DR_FUNCTION_STREAMING_MESSAGE,
+ DistributedRegionFunctionStreamingMessage.class);
+ serializer.registerDSFID(FUNCTION_STREAMING_REPLY_MESSAGE, FunctionStreamingReplyMessage.class);
+ serializer.registerDSFID(GET_ALL_SERVERS_REQUEST, GetAllServersRequest.class);
+ serializer.registerDSFID(GET_ALL_SERVRES_RESPONSE, GetAllServersResponse.class);
+ serializer.registerDSFID(PERSISTENT_MEMBERSHIP_VIEW_REQUEST, MembershipViewRequest.class);
+ serializer.registerDSFID(PERSISTENT_MEMBERSHIP_VIEW_REPLY, MembershipViewReplyMessage.class);
+ serializer.registerDSFID(PERSISTENT_STATE_QUERY_REQUEST, PersistentStateQueryMessage.class);
+ serializer.registerDSFID(PERSISTENT_STATE_QUERY_REPLY, PersistentStateQueryReplyMessage.class);
+ serializer.registerDSFID(PREPARE_NEW_PERSISTENT_MEMBER_REQUEST,
+ PrepareNewPersistentMemberMessage.class);
+ serializer.registerDSFID(MISSING_PERSISTENT_IDS_REQUEST, MissingPersistentIDsRequest.class);
+ serializer.registerDSFID(MISSING_PERSISTENT_IDS_RESPONSE, MissingPersistentIDsResponse.class);
+ serializer.registerDSFID(REVOKE_PERSISTENT_ID_REQUEST, RevokePersistentIDRequest.class);
+ serializer.registerDSFID(REVOKE_PERSISTENT_ID_RESPONSE, RevokePersistentIDResponse.class);
+ serializer.registerDSFID(REMOVE_PERSISTENT_MEMBER_REQUEST, RemovePersistentMemberMessage.class);
+ serializer.registerDSFID(FUNCTION_STREAMING_ORDERED_REPLY_MESSAGE,
+ FunctionStreamingOrderedReplyMessage.class);
+ serializer.registerDSFID(REQUEST_SYNC_MESSAGE, InitialImageOperation.RequestSyncMessage.class);
+ serializer.registerDSFID(PERSISTENT_MEMBERSHIP_FLUSH_REQUEST, MembershipFlushRequest.class);
+ serializer.registerDSFID(SHUTDOWN_ALL_REQUEST, ShutdownAllRequest.class);
+ serializer.registerDSFID(SHUTDOWN_ALL_RESPONSE, ShutdownAllResponse.class);
+ serializer.registerDSFID(CLIENT_MEMBERSHIP_MESSAGE, ClientMembershipMessage.class);
+ serializer.registerDSFID(END_BUCKET_CREATION_MESSAGE, EndBucketCreationMessage.class);
+ serializer.registerDSFID(PREPARE_BACKUP_REQUEST, PrepareBackupRequest.class);
+ serializer.registerDSFID(BACKUP_RESPONSE, BackupResponse.class); // in older versions this was
+ // FinishBackupResponse which is
+ // compatible
+ serializer.registerDSFID(FINISH_BACKUP_REQUEST, FinishBackupRequest.class);
+ serializer.registerDSFID(FINISH_BACKUP_RESPONSE, BackupResponse.class); // for backwards
+ // compatibility map
+ // FINISH_BACKUP_RESPONSE to
+ // BackupResponse
+ serializer.registerDSFID(COMPACT_REQUEST, CompactRequest.class);
+ serializer.registerDSFID(COMPACT_RESPONSE, CompactResponse.class);
+ serializer.registerDSFID(FLOW_CONTROL_PERMIT_MESSAGE, FlowControlPermitMessage.class);
+ serializer.registerDSFID(REQUEST_FILTERINFO_MESSAGE,
+ InitialImageOperation.RequestFilterInfoMessage.class);
+ serializer.registerDSFID(PARALLEL_QUEUE_REMOVAL_MESSAGE, ParallelQueueRemovalMessage.class);
+ serializer.registerDSFID(BATCH_DESTROY_MESSAGE, BatchDestroyOperation.DestroyMessage.class);
+ serializer.registerDSFID(FIND_REMOTE_TX_MESSAGE, FindRemoteTXMessage.class);
+ serializer.registerDSFID(FIND_REMOTE_TX_REPLY, FindRemoteTXMessageReply.class);
+ serializer.registerDSFID(SERIALIZED_OBJECT_PART_LIST, SerializedObjectPartList.class);
+ serializer.registerDSFID(FLUSH_TO_DISK_REQUEST, FlushToDiskRequest.class);
+ serializer.registerDSFID(FLUSH_TO_DISK_RESPONSE, FlushToDiskResponse.class);
+ serializer.registerDSFID(ENUM_ID, EnumId.class);
+ serializer.registerDSFID(ENUM_INFO, EnumInfo.class);
+ serializer.registerDSFID(CHECK_TYPE_REGISTRY_STATE, CheckTypeRegistryState.class);
+ serializer.registerDSFID(PREPARE_REVOKE_PERSISTENT_ID_REQUEST,
+ PrepareRevokePersistentIDRequest.class);
+ serializer.registerDSFID(PERSISTENT_RVV, DiskRegionVersionVector.class);
+ serializer.registerDSFID(PERSISTENT_VERSION_TAG, DiskVersionTag.class);
+ serializer.registerDSFID(DISK_STORE_ID, DiskStoreID.class);
+ serializer.registerDSFID(CLIENT_PING_MESSAGE_IMPL, ClientPingMessageImpl.class);
+ serializer.registerDSFID(SNAPSHOT_PACKET, SnapshotPacket.class);
+ serializer.registerDSFID(SNAPSHOT_RECORD, SnapshotRecord.class);
+ serializer.registerDSFID(FLOW_CONTROL_ACK, FlowControlAckMessage.class);
+ serializer.registerDSFID(FLOW_CONTROL_ABORT, FlowControlAbortMessage.class);
+ serializer.registerDSFID(MGMT_COMPACT_REQUEST,
+ org.apache.geode.management.internal.messages.CompactRequest.class);
+ serializer.registerDSFID(MGMT_COMPACT_RESPONSE,
+ org.apache.geode.management.internal.messages.CompactResponse.class);
+ serializer.registerDSFID(MGMT_FEDERATION_COMPONENT,
+ org.apache.geode.management.internal.FederationComponent.class);
+ serializer.registerDSFID(LOCATOR_STATUS_REQUEST, LocatorStatusRequest.class);
+ serializer.registerDSFID(LOCATOR_STATUS_RESPONSE, LocatorStatusResponse.class);
+ serializer.registerDSFID(R_FETCH_VERSION_MESSAGE, RemoteFetchVersionMessage.class);
+ serializer.registerDSFID(R_FETCH_VERSION_REPLY,
+ RemoteFetchVersionMessage.FetchVersionReplyMessage.class);
+ serializer.registerDSFID(RELEASE_CLEAR_LOCK_MESSAGE, ReleaseClearLockMessage.class);
+ serializer.registerDSFID(PR_TOMBSTONE_MESSAGE, PRTombstoneMessage.class);
+ serializer.registerDSFID(REQUEST_RVV_MESSAGE, InitialImageOperation.RequestRVVMessage.class);
+ serializer.registerDSFID(RVV_REPLY_MESSAGE, InitialImageOperation.RVVReplyMessage.class);
+ serializer.registerDSFID(SNAPPY_COMPRESSED_CACHED_DESERIALIZABLE,
+ SnappyCompressedCachedDeserializable.class);
+ serializer.registerDSFID(UPDATE_ENTRY_VERSION_MESSAGE, UpdateEntryVersionMessage.class);
+ serializer.registerDSFID(PR_UPDATE_ENTRY_VERSION_MESSAGE, PRUpdateEntryVersionMessage.class);
+ serializer.registerDSFID(PR_FETCH_BULK_ENTRIES_MESSAGE, FetchBulkEntriesMessage.class);
+ serializer.registerDSFID(PR_FETCH_BULK_ENTRIES_REPLY_MESSAGE,
+ FetchBulkEntriesReplyMessage.class);
+ serializer.registerDSFID(PR_QUERY_TRACE_INFO, PRQueryTraceInfo.class);
+ serializer.registerDSFID(INDEX_CREATION_DATA, IndexCreationData.class);
+ serializer.registerDSFID(DIST_TX_OP, DistTxEntryEvent.class);
+ serializer.registerDSFID(DIST_TX_PRE_COMMIT_RESPONSE, DistTxPrecommitResponse.class);
+ serializer.registerDSFID(DIST_TX_THIN_ENTRY_STATE, TXEntryState.DistTxThinEntryState.class);
+ serializer.registerDSFID(SERVER_PING_MESSAGE, ServerPingMessage.class);
+ serializer.registerDSFID(PR_DESTROY_ON_DATA_STORE_MESSAGE,
+ DestroyRegionOnDataStoreMessage.class);
+ serializer.registerDSFID(SHUTDOWN_ALL_GATEWAYHUBS_REQUEST, ShutdownAllGatewayHubsRequest.class);
+ serializer.registerDSFID(BUCKET_COUNT_LOAD_PROBE, BucketCountLoadProbe.class);
+ serializer.registerDSFID(GATEWAY_SENDER_QUEUE_ENTRY_SYNCHRONIZATION_MESSAGE,
+ GatewaySenderQueueEntrySynchronizationOperation.GatewaySenderQueueEntrySynchronizationMessage.class);
+ serializer.registerDSFID(GATEWAY_SENDER_QUEUE_ENTRY_SYNCHRONIZATION_ENTRY,
+ GatewaySenderQueueEntrySynchronizationOperation.GatewaySenderQueueEntrySynchronizationEntry.class);
+ serializer.registerDSFID(ABORT_BACKUP_REQUEST, AbortBackupRequest.class);
}
/**
@@ -62,42 +974,102 @@ public class DSFIDFactory {
* data input.
*/
public Object create(int dsfid, DataInput in) throws IOException, ClassNotFoundException {
- final Constructor<?> cons;
- if (dsfid >= Byte.MIN_VALUE && dsfid <= Byte.MAX_VALUE) {
- cons = dsfidMap[dsfid + Byte.MAX_VALUE + 1];
- } else {
- cons = (Constructor<?>) dsfidMap2.get(dsfid);
- }
- if (cons != null) {
- try {
- Object ds = cons.newInstance((Object[]) null);
- InternalDataSerializer.invokeFromData(ds, in);
- return ds;
- } catch (InstantiationException ie) {
- throw new IOException(ie.getMessage(), ie);
- } catch (IllegalAccessException iae) {
- throw new IOException(iae.getMessage(), iae);
- } catch (InvocationTargetException ite) {
- Throwable targetEx = ite.getTargetException();
- if (targetEx instanceof IOException) {
- throw (IOException) targetEx;
- } else if (targetEx instanceof ClassNotFoundException) {
- throw (ClassNotFoundException) targetEx;
- } else {
- throw new IOException(ite.getMessage(), targetEx);
- }
- }
+ switch (dsfid) {
+ case REGION:
+ return (DataSerializableFixedID) DataSerializer.readRegion(in);
+ case END_OF_STREAM_TOKEN:
+ return Token.END_OF_STREAM;
+ case DLOCK_REMOTE_TOKEN:
+ return DLockRemoteToken.createFromDataInput(in);
+ case TRANSACTION_ID:
+ return TXId.createFromData(in);
+ case INTEREST_RESULT_POLICY:
+ return readInterestResultPolicy(in);
+ case UNDEFINED:
+ return readUndefined(in);
+ case RESULTS_BAG:
+ return readResultsBag(in);
+ case TOKEN_INVALID:
+ return Token.INVALID;
+ case TOKEN_LOCAL_INVALID:
+ return Token.LOCAL_INVALID;
+ case TOKEN_DESTROYED:
+ return Token.DESTROYED;
+ case TOKEN_REMOVED:
+ return Token.REMOVED_PHASE1;
+ case TOKEN_REMOVED2:
+ return Token.REMOVED_PHASE2;
+ case TOKEN_TOMBSTONE:
+ return Token.TOMBSTONE;
+ case NULL_TOKEN:
+ return readNullToken(in);
+ case CONFIGURATION_RESPONSE:
+ return readConfigurationResponse(in);
+ case PR_DESTROY_ON_DATA_STORE_MESSAGE:
+ return readDestroyOnDataStore(in);
+ default:
+ return serializer.create(dsfid, in);
}
- throw new DSFIDNotFoundException("Unknown DataSerializableFixedID: " + dsfid, dsfid);
}
- public Constructor<?>[] getDsfidmap() {
- return dsfidMap;
+ ////////////////// Reading Internal Objects /////////////////
+ /**
+ * Reads an instance of <code>IpAddress</code> from a <code>DataInput</code>.
+ *
+ * @throws IOException A problem occurs while reading from <code>in</code>
+ */
+ public static InternalDistributedMember readInternalDistributedMember(DataInput in)
+ throws IOException, ClassNotFoundException {
+
+ InternalDistributedMember o = new InternalDistributedMember();
+ InternalDataSerializer.invokeFromData(o, in);
+ return o;
+ }
+
+ private static ResultsBag readResultsBag(DataInput in)
+ throws IOException, ClassNotFoundException {
+ ResultsBag o = new ResultsBag(true);
+ InternalDataSerializer.invokeFromData(o, in);
+ return o;
+ }
+
+ private static Undefined readUndefined(DataInput in) throws IOException, ClassNotFoundException {
+ Undefined o = (Undefined) QueryService.UNDEFINED;
+ InternalDataSerializer.invokeFromData(o, in);
+ return o;
+ }
+
+ /**
+ * Reads an instance of <code>InterestResultPolicy</code> from a <code>DataInput</code>.
+ *
+ * @throws IOException A problem occurs while reading from <code>in</code>
+ */
+ private static InterestResultPolicyImpl readInterestResultPolicy(DataInput in)
+ throws IOException, ClassNotFoundException {
+ byte ordinal = in.readByte();
+ return (InterestResultPolicyImpl) InterestResultPolicy.fromOrdinal(ordinal);
+ }
+
+ private static DataSerializableFixedID readDestroyOnDataStore(DataInput in)
+ throws IOException, ClassNotFoundException {
+ DataSerializableFixedID serializable = new DestroyRegionOnDataStoreMessage();
+ serializable.fromData(in);
+ return serializable;
+ }
+
+ private static DataSerializableFixedID readNullToken(DataInput in)
+ throws IOException, ClassNotFoundException {
+ DataSerializableFixedID serializable = (NullToken) IndexManager.NULL;
+ serializable.fromData(in);
+ return serializable;
}
- public Int2ObjectOpenHashMap getDsfidmap2() {
- return dsfidMap2;
+ private static DataSerializableFixedID readConfigurationResponse(DataInput in)
+ throws IOException, ClassNotFoundException {
+ DataSerializableFixedID serializable = new ConfigurationResponse();
+ serializable.fromData(in);
+ return serializable;
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java b/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java
index d11c044..692a213 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/ExternalizableDSFID.java
@@ -21,6 +21,8 @@ import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
+
/**
* Abstract class for subclasses that want to be Externalizable in addition to being
* DataSerializableFixedID.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
index 09c117d..7f16e5c 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/HeapDataOutputStream.java
@@ -12,29 +12,18 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.internal.serialization;
+package org.apache.geode.internal;
import java.io.DataOutput;
import java.io.IOException;
-import java.io.InputStream;
import java.io.OutputStream;
-import java.io.UTFDataFormatException;
import java.nio.BufferOverflowException;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import org.apache.logging.log4j.Logger;
import org.apache.geode.DataSerializer;
-import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.ByteBufferWriter;
-import org.apache.geode.internal.InternalDataSerializer;
-import org.apache.geode.internal.ObjToByteArraySerializer;
import org.apache.geode.internal.cache.BytesAndBitsForCompactor;
-import org.apache.geode.internal.logging.LogService;
-import org.apache.geode.internal.tcp.ByteBufferInputStream.ByteSource;
+import org.apache.geode.internal.tcp.ByteBufferInputStream;
/**
* HeapDataOutputStream is an OutputStream that also implements DataOutput and stores all data
@@ -53,28 +42,9 @@ import org.apache.geode.internal.tcp.ByteBufferInputStream.ByteSource;
*
* @since GemFire 5.0.2
*/
-public class HeapDataOutputStream extends OutputStream
- implements ObjToByteArraySerializer, VersionedDataStream, ByteBufferWriter {
- private static final Logger logger = LogService.getLogger();
-
- ByteBuffer buffer;
- protected LinkedList<ByteBuffer> chunks = null;
- protected int size = 0;
- /**
- * True if this stream is currently setup for writing. Once it switches to reading then it must be
- * reset before it can be written again.
- */
- private boolean writeMode = true;
- private boolean ignoreWrites = false; // added for bug 39569
- private final int MIN_CHUNK_SIZE;
- private boolean disallowExpansion = false;
- private Error expansionException = null;
- private int memoPosition;
- private Version version;
- private boolean doNotCopy;
-
- static final int SMALLEST_CHUNK_SIZE = 32;
- private static final int INITIAL_CAPACITY = 1024;
+public class HeapDataOutputStream extends
+ org.apache.geode.internal.serialization.BufferDataOutputStream
+ implements ObjToByteArraySerializer, ByteBufferWriter {
public HeapDataOutputStream(Version version) {
this(INITIAL_CAPACITY, version);
@@ -85,16 +55,7 @@ public class HeapDataOutputStream extends OutputStream
* be written to this stream encoded as utf.
*/
public HeapDataOutputStream(String s) {
- int maxStrBytes;
- if (ASCII_STRINGS) {
- maxStrBytes = s.length();
- } else {
- maxStrBytes = s.length() * 3;
- }
- this.MIN_CHUNK_SIZE = INITIAL_CAPACITY;
- this.buffer = ByteBuffer.allocate(maxStrBytes);
- this.doNotCopy = false;
- writeUTFNoLength(s);
+ super(s);
}
public HeapDataOutputStream(int allocSize, Version version) {
@@ -106,14 +67,7 @@ public class HeapDataOutputStream extends OutputStream
* instead referenced.
*/
public HeapDataOutputStream(int allocSize, Version version, boolean doNotCopy) {
- if (allocSize < SMALLEST_CHUNK_SIZE) {
- this.MIN_CHUNK_SIZE = SMALLEST_CHUNK_SIZE;
- } else {
- this.MIN_CHUNK_SIZE = allocSize;
- }
- this.buffer = ByteBuffer.allocate(allocSize);
- this.version = version;
- this.doNotCopy = doNotCopy;
+ super(allocSize, version == null ? Version.CURRENT_ORDINAL : version.ordinal(), doNotCopy);
}
/**
@@ -121,18 +75,7 @@ public class HeapDataOutputStream extends OutputStream
* instead referenced.
*/
public HeapDataOutputStream(ByteBuffer initialBuffer, Version version, boolean doNotCopy) {
- if (initialBuffer.position() != 0) {
- initialBuffer = initialBuffer.slice();
- }
- int allocSize = initialBuffer.capacity();
- if (allocSize < 32) {
- this.MIN_CHUNK_SIZE = 32;
- } else {
- this.MIN_CHUNK_SIZE = allocSize;
- }
- this.buffer = initialBuffer;
- this.version = version;
- this.doNotCopy = doNotCopy;
+ super(initialBuffer, version == null ? Version.CURRENT_ORDINAL : version.ordinal(), doNotCopy);
}
/**
@@ -141,201 +84,7 @@ public class HeapDataOutputStream extends OutputStream
*
*/
public HeapDataOutputStream(byte[] bytes) {
- int len = bytes.length;
- if (len <= 0) {
- throw new IllegalArgumentException("The byte array must not be empty");
- }
- if (len > 32) {
- this.MIN_CHUNK_SIZE = len;
- } else {
- this.MIN_CHUNK_SIZE = 32;
- }
- this.buffer = ByteBuffer.wrap(bytes);
- this.doNotCopy = false;
- }
-
- /**
- * Returns true if this HDOS currently does not copy byte arrays/buffers written to it. Instead of
- * copying a reference is kept to the original array/buffer.
- */
- public boolean setDoNotCopy(boolean v) {
- boolean result = this.doNotCopy;
- if (result != v) {
- this.doNotCopy = v;
- }
- return result;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Version getVersion() {
- return this.version;
- }
-
- /*
- * throw an exception instead of allocating a new buffer. The exception is a
- * BufferOverflowException thrown from expand, and will restore the position to the point at which
- * the flag was set with the disallowExpansion method.
- *
- * @param ee the exception to throw if expansion is needed
- */
- public void disallowExpansion(Error ee) {
- this.disallowExpansion = true;
- this.expansionException = ee;
- this.memoPosition = this.buffer.position();
- }
-
- /**
- * If this HeapDataOutputStream detects that it needs to
- * grow then it will throw an IllegalStateException.
- */
- public void disallowExpansion() {
- this.disallowExpansion = true;
- }
-
- /** write the low-order 8 bits of the given int */
- @Override
- public void write(int b) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- ensureCapacity(1);
- buffer.put((byte) (b & 0xff));
- }
-
- private void ensureCapacity(int amount) {
- int remainingSpace = this.buffer.capacity() - this.buffer.position();
- if (amount > remainingSpace) {
- expand(amount);
- }
- }
-
- private void expand(int amount) {
- if (this.disallowExpansion) {
- if (this.expansionException != null) {
- this.ignoreWrites = true;
- this.buffer.position(this.memoPosition);
- throw this.expansionException;
- } else {
- throw new IllegalStateException("initial buffer size was exceeded");
- }
- }
-
- final ByteBuffer oldBuffer = this.buffer;
- if (this.chunks == null) {
- this.chunks = new LinkedList<ByteBuffer>();
- }
- oldBuffer.flip(); // now ready for reading
- this.size += oldBuffer.remaining();
- this.chunks.add(oldBuffer);
- if (amount < MIN_CHUNK_SIZE) {
- amount = MIN_CHUNK_SIZE;
- }
- this.buffer = ByteBuffer.allocate(amount);
- }
-
- private void checkIfWritable() {
- if (!this.writeMode) {
- throw new IllegalStateException(
- "not in write mode");
- }
- }
-
- /** override OutputStream's write() */
- @Override
- public void write(byte[] source, int offset, int len) {
- if (len == 0)
- return;
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- if (this.doNotCopy && len > MIN_TO_COPY) {
- moveBufferToChunks();
- addToChunks(source, offset, len);
- } else {
- int remainingSpace = this.buffer.capacity() - this.buffer.position();
- if (remainingSpace < len) {
- this.buffer.put(source, offset, remainingSpace);
- offset += remainingSpace;
- len -= remainingSpace;
- ensureCapacity(len);
- }
- this.buffer.put(source, offset, len);
- }
- }
-
- private void addToChunks(byte[] source, int offset, int len) {
- ByteBuffer bb = ByteBuffer.wrap(source, offset, len).slice();
- bb = bb.slice();
- this.size += bb.remaining();
- this.chunks.add(bb);
- }
-
- private void addToChunks(ByteBuffer bb) {
- int remaining = bb.remaining();
- if (remaining > 0) {
- this.size += remaining;
- if (bb.position() != 0) {
- bb = bb.slice();
- }
- this.chunks.add(bb);
- }
- }
-
- public int getByteBufferCount() {
- int result = 0;
- if (this.chunks != null) {
- result += this.chunks.size();
- }
- if (this.buffer.remaining() > 0) {
- result++;
- }
- return result;
- }
-
- public void fillByteBufferArray(ByteBuffer[] bbArray, int offset) {
- if (this.chunks != null) {
- for (ByteBuffer bb : this.chunks) {
- bbArray[offset++] = bb;
- }
- }
- if (this.buffer.remaining() > 0) {
- bbArray[offset] = this.buffer;
- }
- }
-
- private void moveBufferToChunks() {
- final ByteBuffer oldBuffer = this.buffer;
- if (this.chunks == null) {
- this.chunks = new LinkedList<ByteBuffer>();
- }
- if (oldBuffer.position() == 0) {
- // if position is zero then nothing has been written (yet) to buffer so no need to move it to
- // chunks
- return;
- }
- oldBuffer.flip();
- this.size += oldBuffer.remaining();
- ByteBuffer bufToAdd = oldBuffer.slice();
- this.chunks.add(bufToAdd);
- int newPos = oldBuffer.limit();
- if ((oldBuffer.capacity() - newPos) <= 0) {
- this.buffer = ByteBuffer.allocate(MIN_CHUNK_SIZE);
- } else {
- oldBuffer.limit(oldBuffer.capacity());
- oldBuffer.position(newPos);
- this.buffer = oldBuffer.slice();
- }
- }
-
- public int size() {
- if (this.writeMode) {
- return this.size + this.buffer.position();
- } else {
- return this.size;
- }
+ super(bytes);
}
/**
@@ -352,147 +101,6 @@ public class HeapDataOutputStream extends OutputStream
}
}
- private void consolidateChunks() {
- if (this.chunks != null) {
- final int size = size();
- ByteBuffer newBuffer = ByteBuffer.allocate(size);
- for (ByteBuffer bb : this.chunks) {
- newBuffer.put(bb);
- }
- this.chunks = null;
- newBuffer.put(this.buffer);
- this.buffer = newBuffer;
- this.buffer.flip(); // now ready for reading
- }
- }
-
- private void consolidateChunks(int startPosition) {
- assert startPosition < SMALLEST_CHUNK_SIZE;
- final int size = size() - startPosition;
- ByteBuffer newBuffer = ByteBuffer.allocate(size);
- if (this.chunks != null) {
- this.chunks.getFirst().position(startPosition);
- for (ByteBuffer bb : this.chunks) {
- newBuffer.put(bb);
- }
- this.chunks = null;
- } else {
- this.buffer.position(startPosition);
- }
- newBuffer.put(this.buffer);
- newBuffer.flip(); // now ready for reading
- this.buffer = newBuffer;
- }
-
- /**
- * Prepare the contents for sending again
- */
- public void rewind() {
- finishWriting();
- this.size = 0;
- if (this.chunks != null) {
- for (ByteBuffer bb : this.chunks) {
- bb.rewind();
- size += bb.remaining();
- }
- }
- this.buffer.rewind();
- size += this.buffer.remaining();
- }
-
- public void reset() {
- this.size = 0;
- if (this.chunks != null) {
- this.chunks.clear();
- this.chunks = null;
- }
- this.buffer.clear();
- this.writeMode = true;
- this.ignoreWrites = false;
- this.disallowExpansion = false;
- this.expansionException = null;
- }
-
- @Override
- public void flush() {
- // noop
- }
-
- public void finishWriting() {
- if (this.writeMode) {
- this.ignoreWrites = false;
- this.writeMode = false;
- this.buffer.flip();
- this.size += this.buffer.remaining();
- }
- }
-
- /**
- * Returns a ByteBuffer of the unused buffer; returns null if the buffer was completely used.
- */
- public ByteBuffer finishWritingAndReturnUnusedBuffer() {
- finishWriting();
- ByteBuffer result = this.buffer.duplicate();
- if (result.remaining() == 0) {
- // buffer was never used.
- result.limit(result.capacity());
- return result;
- }
- int newPos = result.limit();
- if ((result.capacity() - newPos) > 0) {
- result.limit(result.capacity());
- result.position(newPos);
- return result.slice();
- } else {
- return null;
- }
- }
-
- @Override
- public void close() {
- reset();
- }
-
- /**
- * gets the contents of this stream as a ByteBuffer, ready for reading. The stream should not be
- * written to past this point until it has been reset.
- */
- public ByteBuffer toByteBuffer() {
- finishWriting();
- consolidateChunks();
- return this.buffer;
- }
-
- /**
- * gets the contents of this stream as a ByteBuffer, ready for reading. The stream should not be
- * written to past this point until it has been reset.
- *
- * @param startPosition the position of the first byte to copy into the returned buffer.
- */
- public ByteBuffer toByteBuffer(int startPosition) {
- finishWriting();
- consolidateChunks(startPosition);
- return this.buffer;
- }
-
- /**
- * gets the contents of this stream as a byte[]. The stream should not be written to past this
- * point until it has been reset.
- */
- public byte[] toByteArray() {
- ByteBuffer bb = toByteBuffer();
- if (bb.hasArray() && bb.arrayOffset() == 0 && bb.limit() == bb.capacity()) {
- return bb.array();
- } else {
- // create a new buffer of just the right size and copy the old buffer into it
- ByteBuffer tmp = ByteBuffer.allocate(bb.remaining());
- tmp.put(bb);
- tmp.flip();
- this.buffer = tmp;
- return this.buffer.array();
- }
- }
-
/**
* Writes this stream to the wrapper object of BytesAndBitsForCompactor type. The byte array
@@ -597,16 +205,6 @@ public class HeapDataOutputStream extends OutputStream
this.size -= bytesSent;
}
- private void flushBuffer(SocketChannel sc, ByteBuffer out) throws IOException {
- if (out.position() == 0)
- return;
- out.flip();
- while (out.remaining() > 0) {
- sc.write(out);
- }
- out.clear();
- }
-
/**
* Write the contents of this stream to the byte buffer.
*
@@ -685,15 +283,6 @@ public class HeapDataOutputStream extends OutputStream
return bytesToWrite;
}
- public static void flushStream(OutputStream out, ByteBuffer outBuf) throws IOException {
- if (outBuf.position() == 0)
- return;
- assert outBuf.hasArray();
- outBuf.flip();
- out.write(outBuf.array(), outBuf.arrayOffset(), outBuf.remaining());
- outBuf.clear();
- }
-
/**
* Write the contents of this stream to the specified stream.
*/
@@ -716,129 +305,6 @@ public class HeapDataOutputStream extends OutputStream
}
/**
- * Returns an input stream that can be used to read the contents that where written to this output
- * stream.
- */
- public InputStream getInputStream() {
- return new HDInputStream();
- }
-
- private class HDInputStream extends InputStream {
- private Iterator<ByteBuffer> chunkIt;
- private ByteBuffer bb;
-
- public HDInputStream() {
- finishWriting();
- if (HeapDataOutputStream.this.chunks != null) {
- this.chunkIt = HeapDataOutputStream.this.chunks.iterator();
- nextChunk();
- } else {
- this.chunkIt = null;
- this.bb = HeapDataOutputStream.this.buffer;
- }
- }
-
- private void nextChunk() {
- if (this.chunkIt != null) {
- if (this.chunkIt.hasNext()) {
- this.bb = this.chunkIt.next();
- } else {
- this.chunkIt = null;
- this.bb = HeapDataOutputStream.this.buffer;
- }
- } else {
- this.bb = null; // EOF
- }
- }
-
- @Override
- public int available() {
- return size();
- }
-
- @Override
- public int read() {
- if (available() <= 0) {
- return -1;
- } else {
- int remaining = this.bb.limit() - this.bb.position();
- while (remaining == 0) {
- nextChunk();
- remaining = this.bb.limit() - this.bb.position();
- }
- consume(1);
- return this.bb.get() & 0xFF; // fix for bug 37068
- }
- }
-
- @Override
- public int read(byte[] dst, int off, int len) {
- if (available() <= 0) {
- return -1;
- } else {
- int readCount = 0;
- while (len > 0 && this.bb != null) {
- if (this.bb.limit() == this.bb.position()) {
- nextChunk();
- } else {
- int remaining = this.bb.limit() - this.bb.position();
- int bytesToRead = len;
- if (len > remaining) {
- bytesToRead = remaining;
- }
- this.bb.get(dst, off, bytesToRead);
- off += bytesToRead;
- len -= bytesToRead;
- readCount += bytesToRead;
- }
- }
- consume(readCount);
- return readCount;
- }
- }
-
- @Override
- public long skip(long n) {
- int remaining = size();
- if (remaining <= n) {
- // just skip over bytes remaining
- this.chunkIt = null;
- this.bb = null;
- consume(remaining);
- return remaining;
- } else {
- long skipped = 0;
- do {
- long skipsRemaining = n - skipped;
- skipped += chunkSkip(skipsRemaining);
- } while (skipped != n);
- return n;
- }
- }
-
- private long chunkSkip(long n) {
- int remaining = this.bb.limit() - this.bb.position();
- if (remaining <= n) {
- // skip this whole chunk
- this.bb.position(this.bb.limit());
- nextChunk();
- consume(remaining);
- return remaining;
- } else {
- // skip over just a part of this chunk
- this.bb.position(this.bb.position() + (int) n);
- consume((int) n);
- return n;
- }
- }
-
- private void consume(int c) {
- HeapDataOutputStream.this.size -= c;
- }
-
- }
-
- /**
* Write the contents of this stream to the specified stream.
* <p>
* Note this implementation is exactly the same as writeTo(OutputStream) but they do not both
@@ -880,445 +346,6 @@ public class HeapDataOutputStream extends OutputStream
}
// DataOutput methods
- /**
- * Writes a <code>boolean</code> value to this output stream. If the argument <code>v</code> is
- * <code>true</code>, the value <code>(byte)1</code> is written; if <code>v</code> is
- * <code>false</code>, the value <code>(byte)0</code> is written. The byte written by this method
- * may be read by the <code>readBoolean</code> method of interface <code>DataInput</code>, which
- * will then return a <code>boolean</code> equal to <code>v</code>.
- *
- * @param v the boolean to be written.
- */
- @Override
- public void writeBoolean(boolean v) {
- write(v ? 1 : 0);
- }
-
- /**
- * Writes to the output stream the eight low- order bits of the argument <code>v</code>. The 24
- * high-order bits of <code>v</code> are ignored. (This means that <code>writeByte</code> does
- * exactly the same thing as <code>write</code> for an integer argument.) The byte written by this
- * method may be read by the <code>readByte</code> method of interface <code>DataInput</code>,
- * which will then return a <code>byte</code> equal to <code>(byte)v</code>.
- *
- * @param v the byte value to be written.
- */
- @Override
- public void writeByte(int v) {
- write(v);
- }
-
- /**
- * Writes two bytes to the output stream to represent the value of the argument. The byte values
- * to be written, in the order shown, are:
- * <p>
- *
- * <pre>
- * <code>
- * (byte)(0xff & (v >> 8))
- * (byte)(0xff & v)
- * </code>
- * </pre>
- * <p>
- * The bytes written by this method may be read by the <code>readShort</code> method of interface
- * <code>DataInput</code> , which will then return a <code>short</code> equal to
- * <code>(short)v</code>.
- *
- * @param v the <code>short</code> value to be written.
- */
- @Override
- public void writeShort(int v) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- ensureCapacity(2);
- buffer.putShort((short) (v & 0xffff));
- }
-
- /**
- * Writes a <code>char</code> value, wich is comprised of two bytes, to the output stream. The
- * byte values to be written, in the order shown, are:
- * <p>
- *
- * <pre>
- * <code>
- * (byte)(0xff & (v >> 8))
- * (byte)(0xff & v)
- * </code>
- * </pre>
- * <p>
- * The bytes written by this method may be read by the <code>readChar</code> method of interface
- * <code>DataInput</code> , which will then return a <code>char</code> equal to
- * <code>(char)v</code>.
- *
- * @param v the <code>char</code> value to be written.
- */
- @Override
- public void writeChar(int v) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- ensureCapacity(2);
- buffer.putChar((char) v);
- }
-
- /**
- * Writes an <code>int</code> value, which is comprised of four bytes, to the output stream. The
- * byte values to be written, in the order shown, are:
- * <p>
- *
- * <pre>
- * <code>
- * (byte)(0xff & (v >> 24))
- * (byte)(0xff & (v >> 16))
- * (byte)(0xff & (v >>    8))
- * (byte)(0xff & v)
- * </code>
- * </pre>
- * <p>
- * The bytes written by this method may be read by the <code>readInt</code> method of interface
- * <code>DataInput</code> , which will then return an <code>int</code> equal to <code>v</code>.
- *
- * @param v the <code>int</code> value to be written.
- */
- @Override
- public void writeInt(int v) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- ensureCapacity(4);
- buffer.putInt(v);
- }
-
- /**
- * Writes a <code>long</code> value, which is comprised of eight bytes, to the output stream. The
- * byte values to be written, in the order shown, are:
- * <p>
- *
- * <pre>
- * <code>
- * (byte)(0xff & (v >> 56))
- * (byte)(0xff & (v >> 48))
- * (byte)(0xff & (v >> 40))
- * (byte)(0xff & (v >> 32))
- * (byte)(0xff & (v >> 24))
- * (byte)(0xff & (v >> 16))
- * (byte)(0xff & (v >> 8))
- * (byte)(0xff & v)
- * </code>
- * </pre>
- * <p>
- * The bytes written by this method may be read by the <code>readLong</code> method of interface
- * <code>DataInput</code> , which will then return a <code>long</code> equal to <code>v</code>.
- *
- * @param v the <code>long</code> value to be written.
- */
- @Override
- public void writeLong(long v) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- ensureCapacity(8);
- buffer.putLong(v);
- }
-
- /**
- * Reserves space in the output for a long and returns a LongUpdater than can be used to update
- * this particular long.
- *
- * @return the LongUpdater that allows the long to be updated
- */
- public LongUpdater reserveLong() {
- if (this.ignoreWrites)
- return null;
- checkIfWritable();
- ensureCapacity(8);
- LongUpdater result = new LongUpdater(this.buffer);
- buffer.putLong(0L);
- return result;
- }
-
- public static class LongUpdater {
- private final ByteBuffer bb;
- private final int pos;
-
- public LongUpdater(ByteBuffer bb) {
- this.bb = bb;
- this.pos = bb.position();
- }
-
- public void update(long v) {
- this.bb.putLong(this.pos, v);
- }
- }
-
- /**
- * Writes a <code>float</code> value, which is comprised of four bytes, to the output stream. It
- * does this as if it first converts this <code>float</code> value to an <code>int</code> in
- * exactly the manner of the <code>Float.floatToIntBits</code> method and then writes the
- * <code>int</code> value in exactly the manner of the <code>writeInt</code> method. The bytes
- * written by this method may be read by the <code>readFloat</code> method of interface
- * <code>DataInput</code>, which will then return a <code>float</code> equal to <code>v</code>.
- *
- * @param v the <code>float</code> value to be written.
- */
- @Override
- public void writeFloat(float v) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- ensureCapacity(4);
- buffer.putFloat(v);
- }
-
- /**
- * Writes a <code>double</code> value, which is comprised of eight bytes, to the output stream. It
- * does this as if it first converts this <code>double</code> value to a <code>long</code> in
- * exactly the manner of the <code>Double.doubleToLongBits</code> method and then writes the
- * <code>long</code> value in exactly the manner of the <code>writeLong</code> method. The bytes
- * written by this method may be read by the <code>readDouble</code> method of interface
- * <code>DataInput</code>, which will then return a <code>double</code> equal to <code>v</code>.
- *
- * @param v the <code>double</code> value to be written.
- */
- @Override
- public void writeDouble(double v) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- ensureCapacity(8);
- buffer.putDouble(v);
- }
-
- /**
- * Writes a string to the output stream. For every character in the string <code>s</code>, taken
- * in order, one byte is written to the output stream. If <code>s</code> is <code>null</code>, a
- * <code>NullPointerException</code> is thrown.
- * <p>
- * If <code>s.length</code> is zero, then no bytes are written. Otherwise, the character
- * <code>s[0]</code> is written first, then <code>s[1]</code>, and so on; the last character
- * written is <code>s[s.length-1]</code>. For each character, one byte is written, the low-order
- * byte, in exactly the manner of the <code>writeByte</code> method . The high-order eight bits of
- * each character in the string are ignored.
- *
- * @param str the string of bytes to be written.
- */
- @Override
- public void writeBytes(String str) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- int strlen = str.length();
- if (strlen > 0) {
- ensureCapacity(strlen);
- // I know this is a deprecated method but it is PERFECT for this impl.
- if (this.buffer.hasArray()) {
- // I know this is a deprecated method but it is PERFECT for this impl.
- int pos = this.buffer.position();
- str.getBytes(0, strlen, this.buffer.array(), this.buffer.arrayOffset() + pos);
- this.buffer.position(pos + strlen);
- } else {
- byte[] bytes = new byte[strlen];
- str.getBytes(0, strlen, bytes, 0);
- this.buffer.put(bytes);
- }
- // for (int i = 0 ; i < len ; i++) {
- // this.buffer.put((byte)s.charAt(i));
- // }
- }
- }
-
- /**
- * Writes every character in the string <code>s</code>, to the output stream, in order, two bytes
- * per character. If <code>s</code> is <code>null</code>, a <code>NullPointerException</code> is
- * thrown. If <code>s.length</code> is zero, then no characters are written. Otherwise, the
- * character <code>s[0]</code> is written first, then <code>s[1]</code>, and so on; the last
- * character written is <code>s[s.length-1]</code>. For each character, two bytes are actually
- * written, high-order byte first, in exactly the manner of the <code>writeChar</code> method.
- *
- * @param s the string value to be written.
- */
- @Override
- public void writeChars(String s) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- int len = s.length();
- if (len > 0) {
- ensureCapacity(len * 2);
- for (int i = 0; i < len; i++) {
- this.buffer.putChar(s.charAt(i));
- }
- }
- }
-
- /**
- * Use -Dgemfire.ASCII_STRINGS=true if all String instances contain ASCII characters. Setting this
- * to true gives a performance improvement.
- */
- private static final boolean ASCII_STRINGS =
- Boolean.getBoolean(DistributionConfig.GEMFIRE_PREFIX + "ASCII_STRINGS");
-
- /**
- * Writes two bytes of length information to the output stream, followed by the Java modified UTF
- * representation of every character in the string <code>s</code>. If <code>s</code> is
- * <code>null</code>, a <code>NullPointerException</code> is thrown. Each character in the string
- * <code>s</code> is converted to a group of one, two, or three bytes, depending on the value of
- * the character.
- * <p>
- * If a character <code>c</code> is in the range <code>\u0001</code> through
- * <code>\u007f</code>, it is represented by one byte:
- * <p>
- *
- * <pre>
- * (byte) c
- * </pre>
- * <p>
- * If a character <code>c</code> is <code>\u0000</code> or is in the range
- * <code>\u0080</code> through <code>\u07ff</code>, then it is represented by two bytes,
- * to be written in the order shown:
- * <p>
- *
- * <pre>
- * <code>
- * (byte)(0xc0 | (0x1f & (c >> 6)))
- * (byte)(0x80 | (0x3f & c))
- * </code>
- * </pre>
- * <p>
- * If a character <code>c</code> is in the range <code>\u0800</code> through
- * <code>uffff</code>, then it is represented by three bytes, to be written in the order shown:
- * <p>
- *
- * <pre>
- * <code>
- * (byte)(0xe0 | (0x0f & (c >> 12)))
- * (byte)(0x80 | (0x3f & (c >> 6)))
- * (byte)(0x80 | (0x3f & c))
- * </code>
- * </pre>
- * <p>
- * First, the total number of bytes needed to represent all the characters of <code>s</code> is
- * calculated. If this number is larger than <code>65535</code>, then a
- * <code>UTFDataFormatException</code> is thrown. Otherwise, this length is written to the output
- * stream in exactly the manner of the <code>writeShort</code> method; after this, the one-, two-,
- * or three-byte representation of each character in the string <code>s</code> is written.
- * <p>
- * The bytes written by this method may be read by the <code>readUTF</code> method of interface
- * <code>DataInput</code> , which will then return a <code>String</code> equal to <code>s</code>.
- *
- * @param str the string value to be written.
- */
- @Override
- public void writeUTF(String str) throws UTFDataFormatException {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- if (ASCII_STRINGS) {
- writeAsciiUTF(str, true);
- } else {
- writeFullUTF(str, true);
- }
- }
-
- private void writeAsciiUTF(String str, boolean encodeLength) throws UTFDataFormatException {
- int strlen = str.length();
- if (encodeLength && strlen > 65535) {
- throw new UTFDataFormatException();
- }
-
- int maxLen = strlen;
- if (encodeLength) {
- maxLen += 2;
- }
- ensureCapacity(maxLen);
-
- if (encodeLength) {
- this.buffer.putShort((short) strlen);
- }
- if (this.buffer.hasArray()) {
- // I know this is a deprecated method but it is PERFECT for this impl.
- int pos = this.buffer.position();
- str.getBytes(0, strlen, this.buffer.array(), this.buffer.arrayOffset() + pos);
- this.buffer.position(pos + strlen);
- } else {
- for (int i = 0; i < strlen; i++) {
- this.buffer.put((byte) str.charAt(i));
- }
- // byte[] bytes = new byte[strlen];
- // str.getBytes(0, strlen, bytes, 0);
- // this.buffer.put(bytes);
- }
- }
-
- /**
- * The logic used here is based on java's DataOutputStream.writeUTF() from the version 1.6.0_10.
- * The reader code should use the logic similar to DataOutputStream.readUTF() from the version
- * 1.6.0_10 to decode this properly.
- */
- private void writeFullUTF(String str, boolean encodeLength) throws UTFDataFormatException {
- int strlen = str.length();
- if (encodeLength && strlen > 65535) {
- throw new UTFDataFormatException();
- }
- // make room for worst case space 3 bytes for each char and 2 for len
- {
- int maxLen = (strlen * 3);
- if (encodeLength) {
- maxLen += 2;
- }
- ensureCapacity(maxLen);
- }
- int utfSizeIdx = this.buffer.position();
- if (encodeLength) {
- // skip bytes reserved for length
- this.buffer.position(utfSizeIdx + 2);
- }
- for (int i = 0; i < strlen; i++) {
- int c = str.charAt(i);
- if ((c >= 0x0001) && (c <= 0x007F)) {
- this.buffer.put((byte) c);
- } else if (c > 0x07FF) {
- this.buffer.put((byte) (0xE0 | ((c >> 12) & 0x0F)));
- this.buffer.put((byte) (0x80 | ((c >> 6) & 0x3F)));
- this.buffer.put((byte) (0x80 | ((c >> 0) & 0x3F)));
- } else {
- this.buffer.put((byte) (0xC0 | ((c >> 6) & 0x1F)));
- this.buffer.put((byte) (0x80 | ((c >> 0) & 0x3F)));
- }
- }
- int utflen = this.buffer.position() - utfSizeIdx;
- if (encodeLength) {
- utflen -= 2;
- if (utflen > 65535) {
- // act as if we wrote nothing to this buffer
- this.buffer.position(utfSizeIdx);
- throw new UTFDataFormatException();
- }
- this.buffer.putShort(utfSizeIdx, (short) utflen);
- }
- }
-
- /**
- * Same as {@link #writeUTF} but it does not encode the length in the first two bytes and allows
- * strings longer than 65k to be encoded.
- */
- public void writeUTFNoLength(String str) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- try {
- if (ASCII_STRINGS) {
- writeAsciiUTF(str, false);
- } else {
- writeFullUTF(str, false);
- }
- } catch (UTFDataFormatException ex) {
- // this shouldn't happen since we did not encode the length
- throw new IllegalStateException(
- String.format("unexpected %s", ex));
- }
- }
/**
* Writes the given object to this stream as a byte array. The byte array is produced by
@@ -1358,48 +385,11 @@ public class HeapDataOutputStream extends OutputStream
}
/**
- * We set "doNotCopy" to prevent wasting time by copying bytes. But to do this we create either a
- * HeapByteBuffer to DirectByteBuffer to reference the byte array or off-heap memory. The
- * ByteBuffer instance itself uses up memory that needs to be initialized and eventually gc'd so
- * for smaller sizes it is better to just copy it. Public for unit test access.
- */
- public static final int MIN_TO_COPY = 128;
-
- /**
- * Write a byte buffer to this HeapDataOutputStream,
- *
- * the contents of the buffer between the position and the limit are copied to the output stream.
- */
- @Override
- public void write(ByteBuffer bb) {
- if (this.ignoreWrites)
- return;
- checkIfWritable();
- int remaining = bb.remaining();
- if (remaining == 0)
- return;
- if (this.doNotCopy && remaining > MIN_TO_COPY) {
- moveBufferToChunks();
- addToChunks(bb);
- } else {
- int remainingSpace = this.buffer.remaining();
- if (remainingSpace < remaining) {
- int oldLimit = bb.limit();
- bb.limit(bb.position() + remainingSpace);
- this.buffer.put(bb);
- bb.limit(oldLimit);
- ensureCapacity(bb.remaining());
- }
- this.buffer.put(bb);
- }
- }
-
- /**
* Write a byte source to this HeapDataOutputStream,
*
* the contents of the buffer between the position and the limit are copied to the output stream.
*/
- public void write(ByteSource source) {
+ public void write(ByteBufferInputStream.ByteSource source) {
ByteBuffer bb = source.getBackingByteBuffer();
if (bb != null) {
write(bb);
@@ -1418,4 +408,6 @@ public class HeapDataOutputStream extends OutputStream
}
source.sendTo(this.buffer);
}
+
+
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java b/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
index 3edfc8e..a6ec1a9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
@@ -108,7 +108,12 @@ import org.apache.geode.internal.cache.tier.sockets.Part;
import org.apache.geode.internal.lang.ClassUtils;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
-import org.apache.geode.internal.util.DscodeHelper;
+import org.apache.geode.internal.serialization.DSCODE;
+import org.apache.geode.internal.serialization.DSFIDSerializer;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DscodeHelper;
+import org.apache.geode.internal.serialization.SerializationVersions;
+import org.apache.geode.internal.serialization.VersionedDataStream;
import org.apache.geode.internal.util.concurrent.CopyOnWriteHashMap;
import org.apache.geode.pdx.NonPortableClassException;
import org.apache.geode.pdx.PdxInstance;
@@ -287,6 +292,11 @@ public abstract class InternalDataSerializer extends DataSerializer {
*/
@MakeNotStatic
private static OldClientSupportService oldClientSupportService;
+
+ private static final DSFIDSerializer dsfidSerializer = new DSFIDSerializer();
+
+ private static DSFIDFactory dsfidFactory;
+
/**
* {@code RegistrationListener}s that receive callbacks when {@code DataSerializer}s and {@code
* Instantiator}s are registered. Note: copy-on-write access used for this set
@@ -296,6 +306,8 @@ public abstract class InternalDataSerializer extends DataSerializer {
static {
initializeWellKnownSerializers();
+ dsfidFactory = new DSFIDFactory(dsfidSerializer);
+ dsfidFactory.registerDSFIDTypes();
}
/**
@@ -339,7 +351,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
}
if (out instanceof VersionedDataStream) {
VersionedDataStream vout = (VersionedDataStream) out;
- Version version = vout.getVersion();
+ Version version = Version.getVersionForDataStream(vout);
if (null != version) {
if (version.compareTo(Version.GEODE_1_9_0) < 0) {
if (name.equals(POST_GEODE_190_SERVER_CQIMPL)) {
@@ -1471,28 +1483,12 @@ public abstract class InternalDataSerializer extends DataSerializer {
public static void writeDSFID(DataSerializableFixedID o, int dsfid, DataOutput out)
throws IOException {
- if (dsfidToClassMap != null
- && logger.isTraceEnabled(LogMarker.SERIALIZER_WRITE_DSFID_VERBOSE)) {
- logger.trace(LogMarker.SERIALIZER_WRITE_DSFID_VERBOSE, "writeDSFID {} class={}", dsfid,
- o.getClass());
- if (dsfid != DataSerializableFixedID.NO_FIXED_ID
- && dsfid != DataSerializableFixedID.ILLEGAL) {
- // consistency check to make sure that the same DSFID is not used
- // for two different classes
- String newClassName = o.getClass().getName();
- String existingClassName = dsfidToClassMap.putIfAbsent(dsfid, newClassName);
- if (existingClassName != null && !existingClassName.equals(newClassName)) {
- logger.trace(LogMarker.SERIALIZER_WRITE_DSFID_VERBOSE,
- "dsfid={} is used for class {} and class {}", dsfid, existingClassName, newClassName);
- }
- }
- }
- if (dsfid == DataSerializableFixedID.NO_FIXED_ID) {
- out.writeByte(DSCODE.DS_NO_FIXED_ID.toByte());
- DataSerializer.writeClass(o.getClass(), out);
- } else {
- writeDSFIDHeader(dsfid, out);
+ if (dsfid != DataSerializableFixedID.NO_FIXED_ID) {
+ dsfidSerializer.writeDSFID(o, dsfid, out);
+ return;
}
+ out.writeByte(DSCODE.DS_NO_FIXED_ID.toByte());
+ DataSerializer.writeClass(o.getClass(), out);
try {
invokeToData(o, out);
} catch (IOException | CancelException | ToDataException | GemFireRethrowable io) {
@@ -2069,7 +2065,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
} else if (o instanceof DataSerializableFixedID) {
checkPdxCompatible(o, ensurePdxCompatibility);
DataSerializableFixedID dsfid = (DataSerializableFixedID) o;
- writeDSFID(dsfid, out);
+ dsfidSerializer.writeDSFID(dsfid, out);
} else if (autoSerialized(o, out)) {
// all done
} else if (o instanceof DataSerializable.Replaceable) {
@@ -2246,7 +2242,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
try {
ObjectOutput oos = new ObjectOutputStream(stream);
if (stream instanceof VersionedDataStream) {
- Version v = ((VersionedDataStream) stream).getVersion();
+ Version v = Version.getVersionForDataStream((VersionedDataStream) stream);
if (v != null && v != Version.CURRENT) {
oos = new VersionedObjectOutput(oos, v);
}
@@ -2274,6 +2270,10 @@ public abstract class InternalDataSerializer extends DataSerializer {
*/
public static void invokeToData(Object ds, DataOutput out) throws IOException {
boolean isDSFID = ds instanceof DataSerializableFixedID;
+ if (isDSFID) {
+ dsfidSerializer.invokeToData(ds, out);
+ return;
+ }
try {
boolean invoked = false;
Version v = InternalDataSerializer.getVersionForDataStreamOrNull(out);
@@ -2301,22 +2301,10 @@ public abstract class InternalDataSerializer extends DataSerializer {
}
if (!invoked) {
- if (isDSFID) {
- ((DataSerializableFixedID) ds).toData(out);
- } else {
- ((DataSerializable) ds).toData(out);
- }
+ ((DataSerializable) ds).toData(out);
}
} catch (IOException io) {
- // DSFID serialization expects an IOException but otherwise
- // we want to catch it and transform into a ToDataException
- // since it might be in user code and we want to report it
- // as a problem with the plugin code
- if (isDSFID) {
- throw io;
- } else {
- throw new ToDataException("toData failed on DataSerializable " + ds.getClass(), io);
- }
+ throw new ToDataException("toData failed on DataSerializable " + ds.getClass(), io);
} catch (CancelException | ToDataException | GemFireRethrowable ex) {
// Serializing a PDX can result in a cache closed exception. Just rethrow
throw ex;
@@ -2348,6 +2336,10 @@ public abstract class InternalDataSerializer extends DataSerializer {
*/
public static void invokeFromData(Object ds, DataInput in)
throws IOException, ClassNotFoundException {
+ if (ds instanceof DataSerializableFixedID) {
+ dsfidSerializer.invokeFromData(ds, in);
+ return;
+ }
try {
boolean invoked = false;
Version v = InternalDataSerializer.getVersionForDataStreamOrNull(in);
@@ -2373,11 +2365,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
}
}
if (!invoked) {
- if (ds instanceof DataSerializableFixedID) {
- ((DataSerializableFixedID) ds).fromData(in);
- } else {
- ((DataSerializable) ds).fromData(in);
- }
+ ((DataSerializable) ds).fromData(in);
if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Read {} {}",
@@ -2426,7 +2414,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
public static Version getVersionForDataStream(DataInput in) {
// check if this is a versioned data input
if (in instanceof VersionedDataStream) {
- final Version v = ((VersionedDataStream) in).getVersion();
+ final Version v = Version.getVersionForDataStream((VersionedDataStream) in);
return v != null ? v : Version.CURRENT;
} else {
// assume latest version
@@ -2441,7 +2429,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
public static Version getVersionForDataStreamOrNull(DataInput in) {
// check if this is a versioned data input
if (in instanceof VersionedDataStream) {
- return ((VersionedDataStream) in).getVersion();
+ return Version.getVersionForDataStream((VersionedDataStream) in);
} else {
// assume latest version
return null;
@@ -2454,7 +2442,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
public static Version getVersionForDataStream(DataOutput out) {
// check if this is a versioned data output
if (out instanceof VersionedDataStream) {
- final Version v = ((VersionedDataStream) out).getVersion();
+ final Version v = Version.getVersionForDataStream((VersionedDataStream) out);
return v != null ? v : Version.CURRENT;
} else {
// assume latest version
@@ -2469,7 +2457,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
public static Version getVersionForDataStreamOrNull(DataOutput out) {
// check if this is a versioned data output
if (out instanceof VersionedDataStream) {
- return ((VersionedDataStream) out).getVersion();
+ return Version.getVersionForDataStream((VersionedDataStream) out);
} else {
// assume latest version
return null;
@@ -2516,13 +2504,13 @@ public abstract class InternalDataSerializer extends DataSerializer {
}
switch (dscode) {
case DS_FIXED_ID_BYTE:
- return DSFIDFactory.create(in.readByte(), in);
+ return dsfidFactory.create(in.readByte(), in);
case DS_FIXED_ID_SHORT:
- return DSFIDFactory.create(in.readShort(), in);
+ return dsfidFactory.create(in.readShort(), in);
case DS_NO_FIXED_ID:
return readDataSerializable(in);
case DS_FIXED_ID_INT:
- return DSFIDFactory.create(in.readInt(), in);
+ return dsfidFactory.create(in.readInt(), in);
default:
throw new IllegalStateException("unexpected byte: " + dscode + " while reading dsfid");
}
@@ -2533,22 +2521,8 @@ public abstract class InternalDataSerializer extends DataSerializer {
return readDSFID(in, DscodeHelper.toDSCODE(in.readByte()));
}
- private static int readDSFIDHeader(final DataInput in, DSCODE dscode) throws IOException {
- switch (dscode) {
- case DS_FIXED_ID_BYTE:
- return in.readByte();
- case DS_FIXED_ID_SHORT:
- return in.readShort();
- case DS_FIXED_ID_INT:
- return in.readInt();
- default:
- throw new IllegalStateException("unexpected byte: " + dscode + " while reading dsfid");
- }
- }
-
public static int readDSFIDHeader(final DataInput in) throws IOException {
- checkIn(in);
- return readDSFIDHeader(in, DscodeHelper.toDSCODE(in.readByte()));
+ return dsfidSerializer.readDSFIDHeader(in);
}
/**
@@ -2668,11 +2642,11 @@ public abstract class InternalDataSerializer extends DataSerializer {
switch (headerDSCode) {
case DS_FIXED_ID_BYTE:
- return DSFIDFactory.create(in.readByte(), in);
+ return dsfidFactory.create(in.readByte(), in);
case DS_FIXED_ID_SHORT:
- return DSFIDFactory.create(in.readShort(), in);
+ return dsfidFactory.create(in.readShort(), in);
case DS_FIXED_ID_INT:
- return DSFIDFactory.create(in.readInt(), in);
+ return dsfidFactory.create(in.readInt(), in);
case DS_NO_FIXED_ID:
case DATA_SERIALIZABLE:
return readDataSerializable(in);
@@ -2842,7 +2816,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
ObjectInput ois = new DSObjectInputStream(stream);
serializationFilter.setFilterOn((ObjectInputStream) ois);
if (stream instanceof VersionedDataStream) {
- Version v = ((VersionedDataStream) stream).getVersion();
+ Version v = Version.getVersionForDataStream((VersionedDataStream) stream);
if (Version.CURRENT != v && v != null) {
ois = new VersionedObjectInput(ois, v);
}
@@ -3306,6 +3280,14 @@ public abstract class InternalDataSerializer extends DataSerializer {
}
}
+ public static DSFIDSerializer getDSFIDSerializer() {
+ return dsfidSerializer;
+ }
+
+ public static DSFIDFactory getDSFIDFactory() {
+ return dsfidFactory;
+ }
+
/**
* Any time new serialization format is added then a new enum needs to be added here.
*
diff --git a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
index f70b3ad..66034b6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
@@ -1279,12 +1279,7 @@ public class SystemAdmin {
}
}
- public SystemAdmin() {
- // register DSFID types first; invoked explicitly so that all message type
- // initializations do not happen in first deserialization on a possibly
- // "precious" thread
- DSFIDFactory.registerTypes();
- }
+ public SystemAdmin() {}
private static final String[] helpTopics =
new String[] {"all", "overview", "commands", "options", "usage", "configuration"};
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/Version.java b/geode-core/src/main/java/org/apache/geode/internal/Version.java
similarity index 98%
rename from geode-core/src/main/java/org/apache/geode/internal/serialization/Version.java
rename to geode-core/src/main/java/org/apache/geode/internal/Version.java
index 74da825..75f6a59 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/Version.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/Version.java
@@ -26,6 +26,7 @@ import java.util.stream.Collectors;
import org.apache.geode.annotations.Immutable;
import org.apache.geode.cache.UnsupportedVersionException;
import org.apache.geode.internal.cache.tier.sockets.CommandInitializer;
+import org.apache.geode.internal.serialization.VersionedDataStream;
/**
* Enumerated type for client / server and p2p version.
@@ -620,4 +621,16 @@ public class Version implements Comparable<Version> {
return Arrays.asList(VALUES).stream().filter(x -> x != null && x != TEST_VERSION)
.collect(Collectors.toList());
}
+
+ public static Version getVersionForDataStream(VersionedDataStream input) {
+ try {
+ short ordinal = input.getVersionOrdinal();
+ if (ordinal <= 0) {
+ return null;
+ }
+ return fromOrdinal(ordinal, false);
+ } catch (UnsupportedVersionException e) {
+ return null;
+ }
+ }
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataSerializable.java b/geode-core/src/main/java/org/apache/geode/internal/VersionedDataSerializable.java
index dce8a3b..422371d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataSerializable.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/VersionedDataSerializable.java
@@ -15,6 +15,7 @@
package org.apache.geode.internal;
import org.apache.geode.DataSerializable;
+import org.apache.geode.internal.serialization.SerializationVersions;
/**
* An extension of DataSerializable that can support multiple serialized forms for backward
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectInput.java b/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectInput.java
similarity index 95%
rename from geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectInput.java
rename to geode-core/src/main/java/org/apache/geode/internal/VersionedObjectInput.java
index 46f7156..73b79d7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectInput.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectInput.java
@@ -18,7 +18,7 @@ package org.apache.geode.internal;
import java.io.IOException;
import java.io.ObjectInput;
-import org.apache.geode.internal.serialization.Version;
+import org.apache.geode.internal.serialization.VersionedDataStream;
/**
* An extension to {@link ObjectInput} that implements {@link VersionedDataStream} wrapping given
@@ -46,8 +46,11 @@ public class VersionedObjectInput implements ObjectInput, VersionedDataStream {
* {@inheritDoc}
*/
@Override
- public Version getVersion() {
- return this.version;
+ public short getVersionOrdinal() {
+ if (version == null) {
+ return Version.CURRENT_ORDINAL;
+ }
+ return this.version.ordinal();
}
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectOutput.java b/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java
similarity index 94%
rename from geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectOutput.java
rename to geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java
index a1f8ce3..e8d44ff 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectOutput.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java
@@ -18,7 +18,7 @@ package org.apache.geode.internal;
import java.io.IOException;
import java.io.ObjectOutput;
-import org.apache.geode.internal.serialization.Version;
+import org.apache.geode.internal.serialization.VersionedDataStream;
/**
* An extension to {@link ObjectOutput} that implements {@link VersionedDataStream} wrapping given
@@ -49,8 +49,11 @@ public class VersionedObjectOutput implements ObjectOutput, VersionedDataStream
* {@inheritDoc}
*/
@Override
- public Version getVersion() {
- return this.version;
+ public short getVersionOrdinal() {
+ if (version == null) {
+ return Version.CURRENT_ORDINAL;
+ }
+ return this.version.ordinal();
}
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/ClientMembershipMessage.java b/geode-core/src/main/java/org/apache/geode/internal/admin/ClientMembershipMessage.java
index 3e8243b..9f4a71c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/ClientMembershipMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/ClientMembershipMessage.java
@@ -23,6 +23,7 @@ import org.apache.geode.admin.internal.AdminDistributedSystemImpl;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
import org.apache.geode.distributed.internal.PooledDistributionMessage;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A PooledDistributionMessage for notifying admin members about changes in Client Membership
@@ -85,7 +86,7 @@ public class ClientMembershipMessage extends PooledDistributionMessage {
/**
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/ClientHealthStats.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/ClientHealthStats.java
index 6f2337d..8e36bc4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/ClientHealthStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/ClientHealthStats.java
@@ -25,8 +25,8 @@ import java.util.Map.Entry;
import org.apache.geode.DataSerializer;
import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Bean class act as container for client stats
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DurableClientInfoRequest.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DurableClientInfoRequest.java
index c5f9f0a..9d1fd7f 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DurableClientInfoRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DurableClientInfoRequest.java
@@ -86,7 +86,7 @@ public class DurableClientInfoRequest extends AdminRequest {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java
index ad598dc..8c4f798 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java
@@ -20,10 +20,10 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.StatisticsFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.StatAlert;
import org.apache.geode.internal.admin.StatAlertDefinition;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Implementation of {@link StatAlertDefinition}, represents threshold as data range
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java
index b1b2ff0..da8b2ec 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java
@@ -20,10 +20,10 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.StatisticsFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.StatAlert;
import org.apache.geode.internal.admin.StatAlertDefinition;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Implementation of {@link StatAlertDefinition}, represents threshold as number
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
index 9e3141a..ee7dfd2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
@@ -88,13 +88,13 @@ import org.apache.geode.distributed.internal.DistributionAdvisor;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.cache.LocalRegion.InitializationLevel;
import org.apache.geode.internal.cache.extension.Extensible;
import org.apache.geode.internal.cache.extension.ExtensionPoint;
import org.apache.geode.internal.cache.extension.SimpleExtensionPoint;
import org.apache.geode.internal.cache.snapshot.RegionSnapshotServiceImpl;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.statistics.StatisticsClock;
import org.apache.geode.internal.util.ArrayUtils;
import org.apache.geode.pdx.internal.PeerTypeRegistration;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/CacheDistributionAdvisor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/CacheDistributionAdvisor.java
index 21ac9eb..95ab059 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/CacheDistributionAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/CacheDistributionAdvisor.java
@@ -43,7 +43,6 @@ import org.apache.geode.distributed.internal.DistributionAdvisor;
import org.apache.geode.distributed.internal.MembershipListener;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.LocalRegion.InitializationLevel;
import org.apache.geode.internal.cache.partitioned.PRLocallyDestroyedException;
@@ -51,6 +50,7 @@ import org.apache.geode.internal.cache.persistence.DiskStoreID;
import org.apache.geode.internal.cache.persistence.PersistentMemberID;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DSCODE;
/**
* Adds bookkeeping info and cache-specific behavior to DistributionAdvisor. Adds bit-encoded flags
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/CachedDeserializableFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/CachedDeserializableFactory.java
index 9490fe8..6a07f05 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/CachedDeserializableFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/CachedDeserializableFactory.java
@@ -21,9 +21,9 @@ import org.apache.geode.DataSerializer;
import org.apache.geode.annotations.internal.MutableForTesting;
import org.apache.geode.cache.util.ObjectSizer;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.NullDataOutputStream;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.internal.size.Sizeable;
import org.apache.geode.pdx.PdxInstance;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXPrecommitMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXPrecommitMessage.java
index 59ec991..38b4ba6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXPrecommitMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXPrecommitMessage.java
@@ -44,13 +44,13 @@ import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.distributed.internal.ReplySender;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.TXEntryState.DistTxThinEntryState;
import org.apache.geode.internal.cache.locks.TXLockService;
import org.apache.geode.internal.cache.tx.DistTxEntryEvent;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class DistTXPrecommitMessage extends TXMessage {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
index 8d24700..6e9554e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
@@ -42,8 +42,6 @@ import org.apache.geode.cache.query.internal.cq.CqService;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DirectReplyProcessor;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.FilterRoutingInfo.FilterInfo;
@@ -60,6 +58,8 @@ import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Handles distribution of a Region.putall operation.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
index 0d94271..acca29a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
@@ -35,7 +35,6 @@ import org.apache.geode.cache.persistence.PersistentReplicatesOfflineException;
import org.apache.geode.cache.query.internal.cq.CqService;
import org.apache.geode.distributed.internal.DirectReplyProcessor;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.DistributedPutAllOperation.EntryVersionsList;
@@ -55,6 +54,7 @@ import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* Handles distribution of a Region.removeAll operation.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedTombstoneOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedTombstoneOperation.java
index 3973601..9c847f2 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedTombstoneOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedTombstoneOperation.java
@@ -30,11 +30,11 @@ import org.apache.geode.cache.Operation;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.InternalDataSerializer;
-import org.apache.geode.internal.SerializationVersions;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.FilterRoutingInfo.FilterInfo;
import org.apache.geode.internal.cache.persistence.DiskStoreID;
import org.apache.geode.internal.cache.versions.VersionSource;
+import org.apache.geode.internal.serialization.SerializationVersions;
public class DistributedTombstoneOperation extends DistributedCacheOperation {
private enum TOperation {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
index 0dfa798..0b94d4a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
@@ -50,9 +50,7 @@ import org.apache.geode.distributed.internal.DistributionMessage;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.DSFIDFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Sendable;
@@ -79,6 +77,8 @@ import org.apache.geode.internal.offheap.StoredObject;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.size.Sizeable;
import org.apache.geode.internal.util.ArrayUtils;
import org.apache.geode.internal.util.BlobHelper;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
index 04d1343..5d26919 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
@@ -37,8 +37,6 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
@@ -46,6 +44,8 @@ import org.apache.geode.internal.cache.ha.HARegionQueue;
import org.apache.geode.internal.cache.ha.ThreadIdentifier;
import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.util.Breadcrumbs;
/**
@@ -314,7 +314,8 @@ public class EventID implements DataSerializableFixedID, Serializable, Externali
// read if the stream's version is 1.0.0-incubating
disVersion = Version.GFE_90;
}
- ByteArrayDataInput dis = new ByteArrayDataInput(membershipID, disVersion);
+ ByteArrayDataInput dis =
+ new ByteArrayDataInput(membershipID, disVersion == null ? 0 : disVersion.ordinal());
InternalDistributedMember result = null;
try {
result = InternalDistributedMember.readEssentialData(dis);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java b/geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java
index b0d8b45..29d2da1 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java
@@ -62,7 +62,6 @@ import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.ClassLoadUtil;
import org.apache.geode.internal.CopyOnWriteHashSet;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.CacheDistributionAdvisor.CacheProfile;
@@ -77,6 +76,7 @@ import org.apache.geode.internal.cache.tier.sockets.UnregisterAllInterest;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.util.concurrent.CopyOnWriteHashMap;
/**
@@ -1977,7 +1977,7 @@ public class FilterProfile implements DataSerializableFixedID {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java b/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java
index 7d9e7ef..9a33a06 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java
@@ -29,12 +29,12 @@ import org.apache.geode.annotations.Immutable;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.ObjToByteArraySerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.VersionedDataSerializable;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* This class is used to hold the information about the servers and their Filters (CQs and Interest
@@ -485,7 +485,8 @@ public class FilterRoutingInfo implements VersionedDataSerializable {
*/
private void deserialize() {
try {
- ByteArrayDataInput dis = new ByteArrayDataInput(myData, myDataVersion);
+ ByteArrayDataInput dis =
+ new ByteArrayDataInput(myData, myDataVersion == null ? 0 : myDataVersion.ordinal());
boolean hasCQs = dis.readBoolean();
if (hasCQs) {
int numEntries = InternalDataSerializer.readArrayLength(dis);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
index 9bf2d76..c5a77b1 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
@@ -177,7 +177,6 @@ import org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.i18n.LogWriterI18n;
import org.apache.geode.internal.Assert;
import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.SystemTimer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.LocalRegion.InitializationLevel;
@@ -232,6 +231,7 @@ import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.internal.security.SecurityService;
import org.apache.geode.internal.security.SecurityServiceFactory;
import org.apache.geode.internal.sequencelog.SequenceLoggerImpl;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.internal.shared.StringPrintWriter;
import org.apache.geode.internal.statistics.StatisticsClock;
import org.apache.geode.internal.statistics.StatisticsClockFactory;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageFlowControl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageFlowControl.java
index 3684ba6..f8c1ab6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageFlowControl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageFlowControl.java
@@ -32,8 +32,8 @@ import org.apache.geode.distributed.internal.DistributionMessage;
import org.apache.geode.distributed.internal.MembershipListener;
import org.apache.geode.distributed.internal.ProcessorKeeper21;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* This class keeps track of how many InitialImageMessages are in flight between the initial image
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java
index 61add26..fc126bd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java
@@ -67,8 +67,6 @@ import org.apache.geode.distributed.internal.ReplyMessage;
import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.NullDataOutputStream;
import org.apache.geode.internal.Version;
@@ -96,6 +94,8 @@ import org.apache.geode.internal.logging.LoggingThread;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.sequencelog.EntryLogger;
import org.apache.geode.internal.sequencelog.RegionLogger;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.util.ObjectIntProcedure;
/**
@@ -2516,7 +2516,7 @@ public class InitialImageOperation {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
@@ -3518,7 +3518,7 @@ public class InitialImageOperation {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
@@ -4075,7 +4075,7 @@ public class InitialImageOperation {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InvalidatePartitionedRegionMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InvalidatePartitionedRegionMessage.java
index 3e4d3cf..06a4c3f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/InvalidatePartitionedRegionMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InvalidatePartitionedRegionMessage.java
@@ -79,7 +79,7 @@ public class InvalidatePartitionedRegionMessage extends PartitionMessage {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java
index bc8603f..e144ba7 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java
@@ -29,13 +29,13 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.InitialImageOperation.Entry;
import org.apache.geode.internal.cache.eviction.EvictionList;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
public class NonLocalRegionEntry implements RegionEntry, VersionStamp {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/Oplog.java b/geode-core/src/main/java/org/apache/geode/internal/cache/Oplog.java
index e22703e..0675ecc 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/Oplog.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/Oplog.java
@@ -72,7 +72,6 @@ import org.apache.geode.distributed.OplogCancelledException;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.InternalStatisticsDisabledException;
@@ -108,6 +107,7 @@ import org.apache.geode.internal.offheap.StoredObject;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.sequencelog.EntryLogger;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.internal.shared.NativeCalls;
import org.apache.geode.internal.util.BlobHelper;
import org.apache.geode.pdx.internal.PdxWriterImpl;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PRQueryProcessor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PRQueryProcessor.java
index 4182a38..0812b07 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PRQueryProcessor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PRQueryProcessor.java
@@ -51,11 +51,11 @@ import org.apache.geode.cache.query.internal.QueryMonitor;
import org.apache.geode.cache.query.types.ObjectType;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.execute.BucketMovedException;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.LoggingExecutors;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* This class takes the responsibility of executing the query on a data store for the buckets
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PreferBytesCachedDeserializable.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PreferBytesCachedDeserializable.java
index da840a6..225c76a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PreferBytesCachedDeserializable.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PreferBytesCachedDeserializable.java
@@ -21,9 +21,9 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.Region;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.lang.StringUtils;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* This cache deserializable always keeps its byte[] in serialized form. You can ask it for its
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
index 8f051bc..6a441f4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
@@ -31,7 +31,6 @@ import org.apache.geode.cache.TimeoutException;
import org.apache.geode.cache.TransactionId;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.InitialImageOperation.Entry;
@@ -44,6 +43,7 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.offheap.annotations.Released;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.internal.util.concurrent.ConcurrentMapWithReusableEntries;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEntry.java
index c3ab74c..50bf27b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEntry.java
@@ -22,7 +22,6 @@ import org.apache.geode.cache.EntryEvent;
import org.apache.geode.cache.EntryNotFoundException;
import org.apache.geode.cache.TimeoutException;
import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.InitialImageOperation.Entry;
@@ -34,6 +33,7 @@ import org.apache.geode.internal.offheap.StoredObject;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* Internal interface for a region entry. Note that a region is implemented with a ConcurrentHashMap
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEventImpl.java
index fc339cd..94dbf51 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEventImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEventImpl.java
@@ -27,12 +27,12 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.DSFIDFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.FilterRoutingInfo.FilterInfo;
import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
import org.apache.geode.internal.cache.versions.VersionTag;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Implementation of a region event
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/StoreAllCachedDeserializable.java b/geode-core/src/main/java/org/apache/geode/internal/cache/StoreAllCachedDeserializable.java
index 98893c3..4bcf82f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/StoreAllCachedDeserializable.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/StoreAllCachedDeserializable.java
@@ -21,9 +21,9 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.Region;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.lang.StringUtils;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* This cache deserializable always keeps its byte[] in serialized form and the object form.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
index 67b0768..0f7dac9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
@@ -42,7 +42,6 @@ import org.apache.geode.cache.TimeoutException;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.lang.StringUtils;
@@ -53,6 +52,7 @@ import org.apache.geode.internal.offheap.StoredObject;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.pdx.PdxSerializationException;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java b/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
index 80b5918..33ea6d1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
@@ -22,9 +22,9 @@ import java.io.Serializable;
import java.nio.ByteBuffer;
import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.DSCODE;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DSCODE;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Internal tokens used as region values. These tokens are never seen from the public API.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/VMCachedDeserializable.java b/geode-core/src/main/java/org/apache/geode/internal/cache/VMCachedDeserializable.java
index 5413602..9da40ed 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/VMCachedDeserializable.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/VMCachedDeserializable.java
@@ -22,10 +22,10 @@ import java.io.IOException;
import org.apache.geode.CopyHelper;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.Region;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.eviction.EvictableEntry;
import org.apache.geode.internal.lang.StringUtils;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.pdx.PdxInstance;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ValidatingDiskRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ValidatingDiskRegion.java
index 6d02593..699cb62 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ValidatingDiskRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ValidatingDiskRegion.java
@@ -25,7 +25,6 @@ import org.apache.geode.cache.EntryEvent;
import org.apache.geode.cache.EntryNotFoundException;
import org.apache.geode.cache.TimeoutException;
import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.DistributedRegion.DiskPosition;
@@ -39,6 +38,7 @@ import org.apache.geode.internal.cache.persistence.DiskRegionView;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* A disk region that is created when doing offline validation.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/compression/CompressedCachedDeserializable.java b/geode-core/src/main/java/org/apache/geode/internal/cache/compression/CompressedCachedDeserializable.java
index 6c5031c..f1a019c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/compression/CompressedCachedDeserializable.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/compression/CompressedCachedDeserializable.java
@@ -22,13 +22,13 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.Region;
import org.apache.geode.compression.Compressor;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.cache.BytesAndBitsForCompactor;
import org.apache.geode.internal.cache.CachedDeserializable;
import org.apache.geode.internal.cache.CachedDeserializableFactory;
import org.apache.geode.internal.cache.EntryEventImpl;
import org.apache.geode.internal.cache.RegionEntry;
import org.apache.geode.internal.lang.StringUtils;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.size.Sizeable;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractOplogDiskRegionEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractOplogDiskRegionEntry.java
index 9d2ee11..ee77fbf 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractOplogDiskRegionEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractOplogDiskRegionEntry.java
@@ -17,7 +17,6 @@ package org.apache.geode.internal.cache.entries;
import org.apache.geode.cache.EntryEvent;
import org.apache.geode.cache.EntryNotFoundException;
import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.DiskId;
import org.apache.geode.internal.cache.DistributedRegion;
@@ -30,6 +29,7 @@ import org.apache.geode.internal.cache.RegionEntryContext;
import org.apache.geode.internal.cache.Token;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.offheap.annotations.Retained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* Abstract implementation class of RegionEntry interface. This is adds Disk support behavior
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java
index b044fc3..c676a0f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java
@@ -39,7 +39,6 @@ import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.Version;
@@ -81,6 +80,7 @@ import org.apache.geode.internal.offheap.StoredObject;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.internal.util.BlobHelper;
import org.apache.geode.internal.util.Versionable;
import org.apache.geode.internal.util.concurrent.CustomEntryConcurrentHashMap;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java
index 5a0d4fa..ae4bdce 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java
@@ -24,7 +24,6 @@ import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.cache.DiskAccessException;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.AbstractDiskRegion;
@@ -61,6 +60,7 @@ import org.apache.geode.internal.offheap.StoredObject;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.internal.util.BlobHelper;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java
index 97fe7fe..46fc472 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java
@@ -79,7 +79,6 @@ import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.CacheServerImpl;
import org.apache.geode.internal.cache.CachedDeserializable;
@@ -100,6 +99,7 @@ import org.apache.geode.internal.cache.tier.sockets.Handshake;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.LoggingThread;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.statistics.StatisticsClock;
import org.apache.geode.internal.util.BlobHelper;
import org.apache.geode.internal.util.concurrent.StoppableCondition;
@@ -3305,7 +3305,8 @@ public class HARegionQueue implements RegionQueue {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#fromData(java.io.DataInput)
+ * @see
+ * org.apache.geode.internal.serialization.DataSerializableFixedID#fromData(java.io.DataInput)
*/
@Override
public void fromData(DataInput in) throws IOException, ClassNotFoundException {
@@ -3318,7 +3319,7 @@ public class HARegionQueue implements RegionQueue {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
@@ -3328,7 +3329,8 @@ public class HARegionQueue implements RegionQueue {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#toData(java.io.DataOutput)
+ * @see
+ * org.apache.geode.internal.serialization.DataSerializableFixedID#toData(java.io.DataOutput)
*/
@Override
public void toData(DataOutput out) throws IOException {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ha/ThreadIdentifier.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ha/ThreadIdentifier.java
index ed7af75..377d6bf 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ha/ThreadIdentifier.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ha/ThreadIdentifier.java
@@ -22,8 +22,8 @@ import java.util.Arrays;
import org.apache.geode.DataSerializable;
import org.apache.geode.DataSerializer;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.cache.EventID;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* Class identifying a Thread uniquely across the distributed system. It is composed of two fields
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockBatch.java b/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockBatch.java
index bac2381..5b224cb 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockBatch.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockBatch.java
@@ -26,11 +26,11 @@ import org.apache.geode.distributed.internal.locks.DLockBatch;
import org.apache.geode.distributed.internal.locks.DLockBatchId;
import org.apache.geode.distributed.internal.locks.LockGrantorId;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.IdentityArrayList;
import org.apache.geode.internal.cache.TXRegionLockRequestImpl;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Adapts multiple TXRegionLockRequests to one DLockBatch for DLock to use.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java
index 06bde3e..762631f 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java
@@ -22,8 +22,8 @@ import org.apache.geode.DataSerializer;
import org.apache.geode.annotations.internal.MakeNotStatic;
import org.apache.geode.distributed.internal.locks.LockGrantorId;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Identifies a group of transaction locks.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketCountLoadProbe.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketCountLoadProbe.java
index 5c5d99d..4c652b7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketCountLoadProbe.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/BucketCountLoadProbe.java
@@ -18,11 +18,11 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.BucketAdvisor;
import org.apache.geode.internal.cache.PartitionedRegion;
import org.apache.geode.internal.cache.PartitionedRegionDataStore;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A load probe which calculates the load of a pr using the just the number of buckets on a member.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
index f34fd90..cc2ed46 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRTombstoneMessage.java
@@ -32,7 +32,6 @@ import org.apache.geode.distributed.internal.DistributionMessage;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.ReplyMessage;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.SerializationVersions;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.BucketRegion;
import org.apache.geode.internal.cache.EventID;
@@ -45,6 +44,7 @@ import org.apache.geode.internal.cache.tier.sockets.ClientTombstoneMessage;
import org.apache.geode.internal.cache.tier.sockets.ClientUpdateMessage;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.SerializationVersions;
/**
* This message class sends tombstone GC information to other PR holders
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRUpdateEntryVersionMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRUpdateEntryVersionMessage.java
index d37b488..c1e1f31 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRUpdateEntryVersionMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRUpdateEntryVersionMessage.java
@@ -89,7 +89,7 @@ public class PRUpdateEntryVersionMessage extends PartitionMessageWithDirectReply
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java
index e6db258..6c572a1 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java
@@ -44,7 +44,6 @@ import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.distributed.internal.ReplySender;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.NanoTimer;
import org.apache.geode.internal.Version;
@@ -71,6 +70,7 @@ import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* A Partitioned Region update message. Meant to be sent only to a bucket's primary owner. In
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java
index 2e6e196..f377683 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java
@@ -44,7 +44,6 @@ import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.distributed.internal.ReplySender;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.NanoTimer;
import org.apache.geode.internal.Version;
@@ -71,6 +70,7 @@ import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* PR removeAll
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizedBasedLoadProbe.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizedBasedLoadProbe.java
index 85371b9..ae66d0a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizedBasedLoadProbe.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizedBasedLoadProbe.java
@@ -19,11 +19,11 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.BucketAdvisor;
import org.apache.geode.internal.cache.PartitionedRegion;
import org.apache.geode.internal.cache.PartitionedRegionDataStore;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A load probe which calculates the load of a pr using the size of the buckets in bytes.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
index b565da2..3f8bff7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
@@ -48,7 +48,6 @@ import org.apache.geode.cache.snapshot.SnapshotOptions;
import org.apache.geode.cache.snapshot.SnapshotOptions.SnapshotFormat;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.InternalEntity;
import org.apache.geode.internal.cache.CachedDeserializable;
import org.apache.geode.internal.cache.CachedDeserializableFactory;
@@ -60,6 +59,7 @@ import org.apache.geode.internal.cache.execute.InternalFunction;
import org.apache.geode.internal.cache.snapshot.GFSnapshot.GFSnapshotImporter;
import org.apache.geode.internal.cache.snapshot.GFSnapshot.SnapshotWriter;
import org.apache.geode.internal.cache.snapshot.SnapshotPacket.SnapshotRecord;
+import org.apache.geode.internal.serialization.DSCODE;
/**
* Provides an implementation for region snapshots.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/SnapshotPacket.java b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/SnapshotPacket.java
index bf8809f..6ab1db3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/SnapshotPacket.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/SnapshotPacket.java
@@ -23,7 +23,6 @@ import java.util.UUID;
import org.apache.geode.cache.EntryDestroyedException;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.CachedDeserializable;
@@ -32,6 +31,7 @@ import org.apache.geode.internal.cache.NonTXEntry;
import org.apache.geode.internal.cache.Token;
import org.apache.geode.internal.offheap.OffHeapHelper;
import org.apache.geode.internal.offheap.annotations.Released;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.util.BlobHelper;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AuthIds.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AuthIds.java
index 9bf4b3e..f1647d7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AuthIds.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AuthIds.java
@@ -17,7 +17,7 @@
package org.apache.geode.internal.cache.tier.sockets;
-import org.apache.geode.internal.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
public class AuthIds {
private long connectionId;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java
index cb235bf..5e7d4f3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java
@@ -68,7 +68,6 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.SystemTimer;
import org.apache.geode.internal.SystemTimer.SystemTimerTask;
import org.apache.geode.internal.Version;
@@ -100,6 +99,7 @@ import org.apache.geode.internal.logging.LoggingThread;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.security.AuthorizeRequestPP;
import org.apache.geode.internal.security.SecurityService;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.internal.statistics.StatisticsClock;
import org.apache.geode.security.AccessControl;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientUpdater.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientUpdater.java
index c335e88..aa454e1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientUpdater.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientUpdater.java
@@ -63,7 +63,6 @@ import org.apache.geode.distributed.internal.ServerLocation;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.distributed.internal.membership.MemberAttributes;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.InternalInstantiator;
import org.apache.geode.internal.Version;
@@ -87,6 +86,7 @@ import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.sequencelog.EntryLogger;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.internal.statistics.StatisticsTypeFactoryImpl;
import org.apache.geode.security.AuthenticationFailedException;
import org.apache.geode.security.AuthenticationRequiredException;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestMessageImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestMessageImpl.java
index f9fa525..64cf9d0 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestMessageImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestMessageImpl.java
@@ -23,11 +23,11 @@ import java.io.ObjectOutput;
import org.apache.geode.DataSerializer;
import org.apache.geode.distributed.DistributedSystem;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.EventID;
import org.apache.geode.internal.cache.tier.InterestType;
import org.apache.geode.internal.cache.tier.MessageType;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Class <code>ClientInterestMessageImpl</code> represents an update to the a client's interest
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientMessage.java
index 5bef40b..962d154 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientMessage.java
@@ -17,8 +17,8 @@ package org.apache.geode.internal.cache.tier.sockets;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.cache.Conflatable;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Interface <code>ClientMessage</code> is a message representing a cache operation that is sent
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java
index bf242b7..671442a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java
@@ -36,11 +36,11 @@ import org.apache.geode.distributed.DurableClientAttributes;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* This class represents a ConnectionProxy of the CacheClient
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientRegistrationMetadata.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientRegistrationMetadata.java
index 3c83905..2a6e073 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientRegistrationMetadata.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientRegistrationMetadata.java
@@ -26,11 +26,11 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.cache.UnsupportedVersionException;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
-import org.apache.geode.internal.VersionedDataOutputStream;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.tier.CommunicationMode;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
class ClientRegistrationMetadata {
private static final Logger logger = LogService.getLogger();
@@ -57,9 +57,10 @@ class ClientRegistrationMetadata {
if (getAndValidateClientVersion(socket, unversionedDataInputStream,
unversionedDataOutputStream)) {
if (oldClientRequiresVersionedStreams(clientVersion)) {
- dataInputStream = new VersionedDataInputStream(unversionedDataInputStream, clientVersion);
+ dataInputStream =
+ new VersionedDataInputStream(unversionedDataInputStream, clientVersion.ordinal());
dataOutputStream =
- new VersionedDataOutputStream(unversionedDataOutputStream, clientVersion);
+ new VersionedDataOutputStream(unversionedDataOutputStream, clientVersion.ordinal());
} else {
dataInputStream = unversionedDataInputStream;
dataOutputStream = unversionedDataOutputStream;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
index 731c952..719d4ff 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
@@ -33,8 +33,6 @@ import org.apache.geode.InternalGemFireError;
import org.apache.geode.annotations.VisibleForTesting;
import org.apache.geode.cache.query.internal.cq.InternalCqQuery;
import org.apache.geode.cache.util.ObjectSizer;
-import org.apache.geode.internal.ByteArrayDataInput;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Sendable;
import org.apache.geode.internal.Version;
@@ -49,6 +47,8 @@ import org.apache.geode.internal.cache.tier.MessageType;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.concurrent.ConcurrentHashSet;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.internal.size.Sizeable;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/EncryptorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/EncryptorImpl.java
index abe74fa..e66d977 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/EncryptorImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/EncryptorImpl.java
@@ -65,11 +65,11 @@ import org.apache.geode.LogWriter;
import org.apache.geode.annotations.internal.MakeNotStatic;
import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.tier.Encryptor;
import org.apache.geode.internal.logging.InternalLogWriter;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.security.AuthenticationFailedException;
import org.apache.geode.security.GemFireSecurityException;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java
index e1f55ba..4e21a3f 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java
@@ -24,8 +24,6 @@ import java.util.concurrent.atomic.AtomicLongFieldUpdater;
import org.apache.logging.log4j.Logger;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DSCODE;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.Conflatable;
@@ -36,6 +34,8 @@ import org.apache.geode.internal.cache.tier.sockets.ClientUpdateMessageImpl.CqNa
import org.apache.geode.internal.cache.tier.sockets.ClientUpdateMessageImpl.CqNameToOpHashMap;
import org.apache.geode.internal.cache.tier.sockets.ClientUpdateMessageImpl.CqNameToOpSingleEntry;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DSCODE;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.size.Sizeable;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/InterestResultPolicyImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/InterestResultPolicyImpl.java
index fea3be2..7e2c51a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/InterestResultPolicyImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/InterestResultPolicyImpl.java
@@ -21,8 +21,8 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.geode.cache.InterestResultPolicy;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Used to make InterestResultPolicy implement DataSerializableFixedID
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java
index 5fd245a..d73da80 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java
@@ -25,12 +25,12 @@ import java.util.List;
import org.apache.logging.log4j.Logger;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.offheap.OffHeapHelper;
import org.apache.geode.internal.offheap.Releasable;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Encapsulates list containing objects, serialized objects, raw byte arrays, or exceptions. It can
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList651.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList651.java
index 649ac88..e27b84c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList651.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList651.java
@@ -20,7 +20,7 @@ import java.io.IOException;
import java.util.ArrayList;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Adds one more object type which indicates that the key is not present at the server.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
index 67035a9..4cebf66 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
@@ -25,11 +25,11 @@ import java.util.concurrent.ConcurrentHashMap;
import org.apache.geode.annotations.Immutable;
import org.apache.geode.annotations.internal.MakeNotStatic;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.offheap.AddressableMemoryManager;
import org.apache.geode.internal.offheap.StoredObject;
+import org.apache.geode.internal.serialization.DSCODE;
/**
* Represents one unit of information (essentially a <code>byte</code> array) in the wire protocol.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SerializedObjectPartList.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SerializedObjectPartList.java
index af51aa2..8f6afc5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SerializedObjectPartList.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SerializedObjectPartList.java
@@ -20,7 +20,7 @@ import java.io.IOException;
import java.util.ArrayList;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A variant of the ObjectPartList which deserializes the values as byte arrays of serialized
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java
index 11e9adc..93e6bb5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java
@@ -53,7 +53,6 @@ import org.apache.geode.cache.UnsupportedVersionException;
import org.apache.geode.cache.client.internal.Connection;
import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.EventID;
@@ -71,6 +70,7 @@ import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.security.AuthorizeRequest;
import org.apache.geode.internal.security.AuthorizeRequestPP;
import org.apache.geode.internal.security.SecurityService;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.internal.util.Breadcrumbs;
import org.apache.geode.security.AuthenticationFailedException;
import org.apache.geode.security.AuthenticationRequiredException;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeImpl.java
index c92a2eb..c4a06b9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeImpl.java
@@ -31,13 +31,13 @@ import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
-import org.apache.geode.internal.VersionedDataOutputStream;
-import org.apache.geode.internal.VersionedDataStream;
import org.apache.geode.internal.cache.tier.CommunicationMode;
import org.apache.geode.internal.cache.tier.Encryptor;
import org.apache.geode.internal.cache.tier.ServerSideHandshake;
import org.apache.geode.internal.security.SecurityService;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
+import org.apache.geode.internal.serialization.VersionedDataStream;
import org.apache.geode.pdx.internal.PeerTypeRegistration;
import org.apache.geode.security.AuthenticationRequiredException;
@@ -87,8 +87,9 @@ public class ServerSideHandshakeImpl extends Handshake implements ServerSideHand
this.clientReadTimeout = dataInputStream.readInt();
if (clientVersion.compareTo(Version.CURRENT) < 0) {
// versioned streams allow object serialization code to deal with older clients
- dataInputStream = new VersionedDataInputStream(dataInputStream, clientVersion);
- dataOutputStream = new VersionedDataOutputStream(dataOutputStream, clientVersion);
+ dataInputStream = new VersionedDataInputStream(dataInputStream, clientVersion.ordinal());
+ dataOutputStream =
+ new VersionedDataOutputStream(dataOutputStream, clientVersion.ordinal());
}
this.id = ClientProxyMembershipID.readCanonicalized(dataInputStream);
// Note: credentials should always be the last piece in handshake for
@@ -133,8 +134,8 @@ public class ServerSideHandshakeImpl extends Handshake implements ServerSideHand
DataOutputStream dos = new DataOutputStream(out);
DataInputStream dis;
if (clientVersion.compareTo(Version.CURRENT) < 0) {
- dis = new VersionedDataInputStream(in, clientVersion);
- dos = new VersionedDataOutputStream(dos, clientVersion);
+ dis = new VersionedDataInputStream(in, clientVersion.ordinal());
+ dos = new VersionedDataOutputStream(dos, clientVersion.ordinal());
} else {
dis = new DataInputStream(in);
}
@@ -159,7 +160,7 @@ public class ServerSideHandshakeImpl extends Handshake implements ServerSideHand
Version v = Version.CURRENT;
if (dos instanceof VersionedDataStream) {
- v = ((VersionedDataStream) dos).getVersion();
+ v = Version.getVersionForDataStream((VersionedDataStream) dos);
}
HeapDataOutputStream hdos = new HeapDataOutputStream(v);
DataSerializer.writeObject(member, hdos);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java
index a63d3a0..e5d3930 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java
@@ -39,7 +39,6 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.versions.DiskVersionTag;
@@ -47,6 +46,7 @@ import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A refinement of ObjectPartList that adds per-entry versionTags and has its own serialized form to
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistTxEntryEvent.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistTxEntryEvent.java
index eb8e46a..1ddcb45 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistTxEntryEvent.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistTxEntryEvent.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.Operation;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.DistributedPutAllOperation;
@@ -33,6 +32,7 @@ import org.apache.geode.internal.cache.EntryEventImpl;
import org.apache.geode.internal.cache.EventID;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.offheap.annotations.Retained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
public class DistTxEntryEvent extends EntryEventImpl {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutAllMessage.java
index e628559..bb17891 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutAllMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutAllMessage.java
@@ -43,7 +43,6 @@ import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.distributed.internal.ReplySender;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.NanoTimer;
import org.apache.geode.internal.Version;
@@ -63,6 +62,7 @@ import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.offheap.annotations.Released;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* A Replicate Region putAll message. Meant to be sent only to the peer who hosts transactional
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteRemoveAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteRemoveAllMessage.java
index 9806d20..500204d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteRemoveAllMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteRemoveAllMessage.java
@@ -44,7 +44,6 @@ import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.distributed.internal.ReplySender;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.NanoTimer;
import org.apache.geode.internal.Version;
@@ -64,6 +63,7 @@ import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.offheap.annotations.Released;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* A Replicate Region removeAll message. Meant to be sent only to the peer who hosts transactional
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/DiskVersionTag.java b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/DiskVersionTag.java
index aa6c453..ab1e98a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/DiskVersionTag.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/DiskVersionTag.java
@@ -18,9 +18,9 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.persistence.DiskStoreID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* The version tag class for version tags for persistent regions. The VersionSource held in these
@@ -51,7 +51,7 @@ public class DiskVersionTag extends VersionTag<DiskStoreID> {
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#getDSFID()
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#getDSFID()
*/
@Override
public int getDSFID() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/RegionVersionVector.java b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/RegionVersionVector.java
index b645f55..679fd19 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/RegionVersionVector.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/RegionVersionVector.java
@@ -42,13 +42,13 @@ import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.MembershipListener;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.Assert;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.LocalRegion;
import org.apache.geode.internal.cache.persistence.DiskStoreID;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* RegionVersionVector tracks the highest region-level version number of operations applied to a
@@ -1184,7 +1184,7 @@ public abstract class RegionVersionVector<T extends VersionSource<?>>
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#toData(java.io.DataOutput)
+ * @see org.apache.geode.internal.serialization.DataSerializableFixedID#toData(java.io.DataOutput)
*/
@Override
public void toData(DataOutput out) throws IOException {
@@ -1215,7 +1215,8 @@ public abstract class RegionVersionVector<T extends VersionSource<?>>
/*
* (non-Javadoc)
*
- * @see org.apache.geode.internal.DataSerializableFixedID#fromData(java.io.DataInput)
+ * @see
+ * org.apache.geode.internal.serialization.DataSerializableFixedID#fromData(java.io.DataInput)
*/
@Override
public void fromData(DataInput in) throws IOException, ClassNotFoundException {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionSource.java b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionSource.java
index 7d349d9..f0d15f4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionSource.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionSource.java
@@ -17,7 +17,7 @@ package org.apache.geode.internal.cache.versions;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* The member that originated an update that is stored in the version information of a region entry,
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionTag.java b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionTag.java
index 2329cd6..50b7ed3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionTag.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionTag.java
@@ -22,11 +22,11 @@ import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import org.apache.logging.log4j.Logger;
import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.persistence.DiskStoreID;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.size.ReflectionSingleObjectSizer;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventCallbackArgument.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventCallbackArgument.java
index 2d4fcfa..62306f5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventCallbackArgument.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventCallbackArgument.java
@@ -24,9 +24,9 @@ import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.wan.GatewaySender;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.WrappedCallbackArgument;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Class <code>GatewayEventCallbackArgument</code> is a wrapper on a callback arg plus the id of the
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java
index 21bac12..d32fd50 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java
@@ -30,10 +30,8 @@ import org.apache.geode.cache.Region;
import org.apache.geode.cache.asyncqueue.AsyncEvent;
import org.apache.geode.cache.util.ObjectSizer;
import org.apache.geode.cache.wan.EventSequenceID;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
import org.apache.geode.internal.VersionedDataSerializable;
import org.apache.geode.internal.cache.CachedDeserializable;
import org.apache.geode.internal.cache.CachedDeserializableFactory;
@@ -54,6 +52,8 @@ import org.apache.geode.internal.offheap.annotations.OffHeapIdentifier;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
import org.apache.geode.internal.size.Sizeable;
/**
@@ -735,7 +735,7 @@ public class GatewaySenderEventImpl
// this._id = in.readUTF();
if (version < 0x11 && (in instanceof InputStream)
&& InternalDataSerializer.getVersionForDataStream(in) == Version.CURRENT) {
- in = new VersionedDataInputStream((InputStream) in, Version.GFE_701);
+ in = new VersionedDataInputStream((InputStream) in, Version.GFE_701.ordinal());
}
this.id = (EventID) DataSerializer.readObject(in);
// TODO:Asif ; Check if this violates Barry's logic of not assiging VM
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderQueueEntrySynchronizationOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderQueueEntrySynchronizationOperation.java
index 1f4c2a2..e3b3e2d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderQueueEntrySynchronizationOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderQueueEntrySynchronizationOperation.java
@@ -39,7 +39,6 @@ import org.apache.geode.distributed.internal.ReplyException;
import org.apache.geode.distributed.internal.ReplyMessage;
import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InitialImageOperation;
@@ -47,6 +46,7 @@ import org.apache.geode.internal.cache.InternalRegion;
import org.apache.geode.internal.cache.LocalRegion;
import org.apache.geode.internal.cache.versions.VersionTag;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class GatewaySenderQueueEntrySynchronizationOperation {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/AbstractStoredObject.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/AbstractStoredObject.java
index 028e431..038c6d0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/AbstractStoredObject.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/AbstractStoredObject.java
@@ -19,11 +19,11 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.Region;
-import org.apache.geode.internal.DSCODE;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.RegionEntry;
import org.apache.geode.internal.lang.StringUtils;
+import org.apache.geode.internal.serialization.DSCODE;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public abstract class AbstractStoredObject implements StoredObject {
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
index e4c495f..5c1239e 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
@@ -19,11 +19,10 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.Instantiator;
-import org.apache.geode.internal.ByteArrayDataInput;
-import org.apache.geode.internal.DSCODE;
-import org.apache.geode.internal.DSFIDFactory;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.InternalInstantiator;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DSCODE;
/**
* Determines the data type of the bytes in an off-heap MemoryBlock. This is used by the tests for
@@ -43,19 +42,22 @@ public class DataType {
}
try {
if (header == DSCODE.DS_FIXED_ID_BYTE.toByte()) {
- return "org.apache.geode.internal.DataSerializableFixedID:"
- + DSFIDFactory.create(in.readByte(), in).getClass().getName();
+ return "org.apache.geode.internal.serialization.DataSerializableFixedID:"
+ + InternalDataSerializer.getDSFIDFactory().create(in.readByte(), in).getClass()
+ .getName();
}
if (header == DSCODE.DS_FIXED_ID_SHORT.toByte()) {
- return "org.apache.geode.internal.DataSerializableFixedID:"
- + DSFIDFactory.create(in.readShort(), in).getClass().getName();
+ return "org.apache.geode.internal.serialization.DataSerializableFixedID:"
+ + InternalDataSerializer.getDSFIDFactory().create(in.readShort(), in).getClass()
+ .getName();
}
if (header == DSCODE.DS_FIXED_ID_INT.toByte()) {
- return "org.apache.geode.internal.DataSerializableFixedID:"
- + DSFIDFactory.create(in.readInt(), in).getClass().getName();
+ return "org.apache.geode.internal.serialization.DataSerializableFixedID:"
+ + InternalDataSerializer.getDSFIDFactory().create(in.readInt(), in).getClass()
+ .getName();
}
if (header == DSCODE.DS_NO_FIXED_ID.toByte()) {
- return "org.apache.geode.internal.DataSerializableFixedID:"
+ return "org.apache.geode.internal.serialization.DataSerializableFixedID:"
+ DataSerializer.readClass(in).getName();
}
if (header == DSCODE.NULL.toByte()) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelper.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelper.java
index 765117b..0d10311 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelper.java
@@ -15,7 +15,6 @@
package org.apache.geode.internal.offheap;
import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.cache.CachedDeserializableFactory;
import org.apache.geode.internal.cache.DiskId;
import org.apache.geode.internal.cache.EntryEventImpl;
@@ -26,6 +25,7 @@ import org.apache.geode.internal.cache.entries.OffHeapRegionEntry;
import org.apache.geode.internal.offheap.annotations.Released;
import org.apache.geode.internal.offheap.annotations.Retained;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.DSCODE;
/**
* The class just has static methods that operate on instances of {@link OffHeapRegionEntry}. It
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapStoredObject.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapStoredObject.java
index 88ff7e9..b7b1af0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapStoredObject.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapStoredObject.java
@@ -19,7 +19,6 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import org.apache.geode.cache.Region;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.BytesAndBitsForCompactor;
@@ -28,6 +27,7 @@ import org.apache.geode.internal.cache.EntryEventImpl;
import org.apache.geode.internal.cache.RegionEntry;
import org.apache.geode.internal.cache.RegionEntryContext;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.DSCODE;
/**
* A class that stores a Java object in off-heap memory. See {@link AddressableMemoryManager} for
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/BufferDataOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/BufferDataOutputStream.java
index 4bfef78..20f336b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/BufferDataOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/BufferDataOutputStream.java
@@ -14,5 +14,1032 @@
*/
package org.apache.geode.internal.serialization;
-public class BufferDataOutputStream {
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UTFDataFormatException;
+import java.nio.ByteBuffer;
+import java.nio.channels.SocketChannel;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+public class BufferDataOutputStream extends OutputStream implements VersionedDataStream {
+ /**
+ * We set "doNotCopy" to prevent wasting time by copying bytes. But to do this we create either a
+ * HeapByteBuffer to DirectByteBuffer to reference the byte array or off-heap memory. The
+ * ByteBuffer instance itself uses up memory that needs to be initialized and eventually gc'd so
+ * for smaller sizes it is better to just copy it. Public for unit test access.
+ */
+ public static final int MIN_TO_COPY = 128;
+ protected static final int INITIAL_CAPACITY = 1024;
+ /**
+ * Use -Dgemfire.ASCII_STRINGS=true if all String instances contain ASCII characters. Setting this
+ * to true gives a performance improvement.
+ */
+ protected static final boolean ASCII_STRINGS =
+ Boolean.getBoolean("gemfire.ASCII_STRINGS");
+ public static final int SMALLEST_CHUNK_SIZE = 32;
+ protected int MIN_CHUNK_SIZE;
+ protected LinkedList<ByteBuffer> chunks = null;
+ protected int size = 0;
+ protected boolean ignoreWrites = false; // added for bug 39569
+ protected short version;
+ protected boolean doNotCopy;
+ protected ByteBuffer buffer;
+ /**
+ * True if this stream is currently setup for writing. Once it switches to reading then it must be
+ * reset before it can be written again.
+ */
+ private boolean writeMode = true;
+ private boolean disallowExpansion = false;
+ private Error expansionException = null;
+ private int memoPosition;
+
+ public BufferDataOutputStream(int allocSize, short version) {
+ this(allocSize, version, false);
+ }
+
+ /**
+ * Create a BufferDataOutputStream optimized to contain just the specified string. The string will
+ * be written to this stream encoded as utf.
+ */
+ public BufferDataOutputStream(String s) {
+ int maxStrBytes;
+ if (ASCII_STRINGS) {
+ maxStrBytes = s.length();
+ } else {
+ maxStrBytes = s.length() * 3;
+ }
+ this.MIN_CHUNK_SIZE = INITIAL_CAPACITY;
+ this.buffer = ByteBuffer.allocate(maxStrBytes);
+ this.doNotCopy = false;
+ writeUTFNoLength(s);
+ }
+
+ /**
+ * @param doNotCopy if true then byte arrays/buffers/sources will not be copied to this hdos but
+ * instead referenced.
+ */
+ public BufferDataOutputStream(int allocSize, short version, boolean doNotCopy) {
+ if (allocSize < SMALLEST_CHUNK_SIZE) {
+ this.MIN_CHUNK_SIZE = SMALLEST_CHUNK_SIZE;
+ } else {
+ this.MIN_CHUNK_SIZE = allocSize;
+ }
+ this.buffer = ByteBuffer.allocate(allocSize);
+ this.version = version;
+ this.doNotCopy = doNotCopy;
+ }
+
+ public BufferDataOutputStream(ByteBuffer initialBuffer, short version, boolean doNotCopy) {
+ if (initialBuffer.position() != 0) {
+ initialBuffer = initialBuffer.slice();
+ }
+ int allocSize = initialBuffer.capacity();
+ if (allocSize < 32) {
+ this.MIN_CHUNK_SIZE = 32;
+ } else {
+ this.MIN_CHUNK_SIZE = allocSize;
+ }
+ this.buffer = initialBuffer;
+ this.version = version;
+ this.doNotCopy = doNotCopy;
+ }
+
+ /**
+ * Construct a BufferDataOutputStream which uses the byte array provided as its underlying
+ * ByteBuffer
+ *
+ */
+ public BufferDataOutputStream(byte[] bytes) {
+ int len = bytes.length;
+ if (len <= 0) {
+ throw new IllegalArgumentException("The byte array must not be empty");
+ }
+ if (len > 32) {
+ this.MIN_CHUNK_SIZE = len;
+ } else {
+ this.MIN_CHUNK_SIZE = 32;
+ }
+ this.buffer = ByteBuffer.wrap(bytes);
+ this.doNotCopy = false;
+ }
+
+
+ public static void flushStream(OutputStream out, ByteBuffer outBuf) throws IOException {
+ if (outBuf.position() == 0)
+ return;
+ assert outBuf.hasArray();
+ outBuf.flip();
+ out.write(outBuf.array(), outBuf.arrayOffset(), outBuf.remaining());
+ outBuf.clear();
+ }
+
+ /**
+ * Returns true if this HDOS currently does not copy byte arrays/buffers written to it. Instead of
+ * copying a reference is kept to the original array/buffer.
+ */
+ public boolean setDoNotCopy(boolean v) {
+ boolean result = this.doNotCopy;
+ if (result != v) {
+ this.doNotCopy = v;
+ }
+ return result;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public short getVersionOrdinal() {
+ return version;
+ }
+
+ /*
+ * throw an exception instead of allocating a new buffer. The exception is a
+ * BufferOverflowException thrown from expand, and will restore the position to the point at which
+ * the flag was set with the disallowExpansion method.
+ *
+ * @param ee the exception to throw if expansion is needed
+ */
+ public void disallowExpansion(Error ee) {
+ this.disallowExpansion = true;
+ this.expansionException = ee;
+ this.memoPosition = this.buffer.position();
+ }
+
+ /**
+ * If this BufferDataOutputStream detects that it needs to
+ * grow then it will throw an IllegalStateException.
+ */
+ public void disallowExpansion() {
+ this.disallowExpansion = true;
+ }
+
+ /** write the low-order 8 bits of the given int */
+ @Override
+ public void write(int b) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ ensureCapacity(1);
+ buffer.put((byte) (b & 0xff));
+ }
+
+ protected void ensureCapacity(int amount) {
+ int remainingSpace = this.buffer.capacity() - this.buffer.position();
+ if (amount > remainingSpace) {
+ expand(amount);
+ }
+ }
+
+ private void expand(int amount) {
+ if (this.disallowExpansion) {
+ if (this.expansionException != null) {
+ this.ignoreWrites = true;
+ this.buffer.position(this.memoPosition);
+ throw this.expansionException;
+ } else {
+ throw new IllegalStateException("initial buffer size was exceeded");
+ }
+ }
+
+ final ByteBuffer oldBuffer = this.buffer;
+ if (this.chunks == null) {
+ this.chunks = new LinkedList<ByteBuffer>();
+ }
+ oldBuffer.flip(); // now ready for reading
+ this.size += oldBuffer.remaining();
+ this.chunks.add(oldBuffer);
+ if (amount < MIN_CHUNK_SIZE) {
+ amount = MIN_CHUNK_SIZE;
+ }
+ this.buffer = ByteBuffer.allocate(amount);
+ }
+
+ protected void checkIfWritable() {
+ if (!this.writeMode) {
+ throw new IllegalStateException(
+ "not in write mode");
+ }
+ }
+
+ /** override OutputStream's write() */
+ @Override
+ public void write(byte[] source, int offset, int len) {
+ if (len == 0)
+ return;
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ if (this.doNotCopy && len > MIN_TO_COPY) {
+ moveBufferToChunks();
+ addToChunks(source, offset, len);
+ } else {
+ int remainingSpace = this.buffer.capacity() - this.buffer.position();
+ if (remainingSpace < len) {
+ this.buffer.put(source, offset, remainingSpace);
+ offset += remainingSpace;
+ len -= remainingSpace;
+ ensureCapacity(len);
+ }
+ this.buffer.put(source, offset, len);
+ }
+ }
+
+ private void addToChunks(byte[] source, int offset, int len) {
+ ByteBuffer bb = ByteBuffer.wrap(source, offset, len).slice();
+ bb = bb.slice();
+ this.size += bb.remaining();
+ this.chunks.add(bb);
+ }
+
+ private void addToChunks(ByteBuffer bb) {
+ int remaining = bb.remaining();
+ if (remaining > 0) {
+ this.size += remaining;
+ if (bb.position() != 0) {
+ bb = bb.slice();
+ }
+ this.chunks.add(bb);
+ }
+ }
+
+ public int getByteBufferCount() {
+ int result = 0;
+ if (this.chunks != null) {
+ result += this.chunks.size();
+ }
+ if (this.buffer.remaining() > 0) {
+ result++;
+ }
+ return result;
+ }
+
+ public void fillByteBufferArray(ByteBuffer[] bbArray, int offset) {
+ if (this.chunks != null) {
+ for (ByteBuffer bb : this.chunks) {
+ bbArray[offset++] = bb;
+ }
+ }
+ if (this.buffer.remaining() > 0) {
+ bbArray[offset] = this.buffer;
+ }
+ }
+
+ private void moveBufferToChunks() {
+ final ByteBuffer oldBuffer = this.buffer;
+ if (this.chunks == null) {
+ this.chunks = new LinkedList<ByteBuffer>();
+ }
+ if (oldBuffer.position() == 0) {
+ // if position is zero then nothing has been written (yet) to buffer so no need to move it to
+ // chunks
+ return;
+ }
+ oldBuffer.flip();
+ this.size += oldBuffer.remaining();
+ ByteBuffer bufToAdd = oldBuffer.slice();
+ this.chunks.add(bufToAdd);
+ int newPos = oldBuffer.limit();
+ if ((oldBuffer.capacity() - newPos) <= 0) {
+ this.buffer = ByteBuffer.allocate(MIN_CHUNK_SIZE);
+ } else {
+ oldBuffer.limit(oldBuffer.capacity());
+ oldBuffer.position(newPos);
+ this.buffer = oldBuffer.slice();
+ }
+ }
+
+ public int size() {
+ if (this.writeMode) {
+ return this.size + this.buffer.position();
+ } else {
+ return this.size;
+ }
+ }
+
+ private void consolidateChunks() {
+ if (this.chunks != null) {
+ final int size = size();
+ ByteBuffer newBuffer = ByteBuffer.allocate(size);
+ for (ByteBuffer bb : this.chunks) {
+ newBuffer.put(bb);
+ }
+ this.chunks = null;
+ newBuffer.put(this.buffer);
+ this.buffer = newBuffer;
+ this.buffer.flip(); // now ready for reading
+ }
+ }
+
+ private void consolidateChunks(int startPosition) {
+ assert startPosition < SMALLEST_CHUNK_SIZE;
+ final int size = size() - startPosition;
+ ByteBuffer newBuffer = ByteBuffer.allocate(size);
+ if (this.chunks != null) {
+ this.chunks.getFirst().position(startPosition);
+ for (ByteBuffer bb : this.chunks) {
+ newBuffer.put(bb);
+ }
+ this.chunks = null;
+ } else {
+ this.buffer.position(startPosition);
+ }
+ newBuffer.put(this.buffer);
+ newBuffer.flip(); // now ready for reading
+ this.buffer = newBuffer;
+ }
+
+ /**
+ * Prepare the contents for sending again
+ */
+ public void rewind() {
+ finishWriting();
+ this.size = 0;
+ if (this.chunks != null) {
+ for (ByteBuffer bb : this.chunks) {
+ bb.rewind();
+ size += bb.remaining();
+ }
+ }
+ this.buffer.rewind();
+ size += this.buffer.remaining();
+ }
+
+ public void reset() {
+ this.size = 0;
+ if (this.chunks != null) {
+ this.chunks.clear();
+ this.chunks = null;
+ }
+ this.buffer.clear();
+ this.writeMode = true;
+ this.ignoreWrites = false;
+ this.disallowExpansion = false;
+ this.expansionException = null;
+ }
+
+ @Override
+ public void flush() {
+ // noop
+ }
+
+ public void finishWriting() {
+ if (this.writeMode) {
+ this.ignoreWrites = false;
+ this.writeMode = false;
+ this.buffer.flip();
+ this.size += this.buffer.remaining();
+ }
+ }
+
+ /**
+ * Returns a ByteBuffer of the unused buffer; returns null if the buffer was completely used.
+ */
+ public ByteBuffer finishWritingAndReturnUnusedBuffer() {
+ finishWriting();
+ ByteBuffer result = this.buffer.duplicate();
+ if (result.remaining() == 0) {
+ // buffer was never used.
+ result.limit(result.capacity());
+ return result;
+ }
+ int newPos = result.limit();
+ if ((result.capacity() - newPos) > 0) {
+ result.limit(result.capacity());
+ result.position(newPos);
+ return result.slice();
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public void close() {
+ reset();
+ }
+
+ /**
+ * gets the contents of this stream as a ByteBuffer, ready for reading. The stream should not be
+ * written to past this point until it has been reset.
+ */
+ public ByteBuffer toByteBuffer() {
+ finishWriting();
+ consolidateChunks();
+ return this.buffer;
+ }
+
+ /**
+ * gets the contents of this stream as a ByteBuffer, ready for reading. The stream should not be
+ * written to past this point until it has been reset.
+ *
+ * @param startPosition the position of the first byte to copy into the returned buffer.
+ */
+ public ByteBuffer toByteBuffer(int startPosition) {
+ finishWriting();
+ consolidateChunks(startPosition);
+ return this.buffer;
+ }
+
+ /**
+ * gets the contents of this stream as a byte[]. The stream should not be written to past this
+ * point until it has been reset.
+ */
+ public byte[] toByteArray() {
+ ByteBuffer bb = toByteBuffer();
+ if (bb.hasArray() && bb.arrayOffset() == 0 && bb.limit() == bb.capacity()) {
+ return bb.array();
+ } else {
+ // create a new buffer of just the right size and copy the old buffer into it
+ ByteBuffer tmp = ByteBuffer.allocate(bb.remaining());
+ tmp.put(bb);
+ tmp.flip();
+ this.buffer = tmp;
+ return this.buffer.array();
+ }
+ }
+
+ protected void flushBuffer(SocketChannel sc, ByteBuffer out) throws IOException {
+ if (out.position() == 0)
+ return;
+ out.flip();
+ while (out.remaining() > 0) {
+ sc.write(out);
+ }
+ out.clear();
+ }
+
+ /**
+ * Returns an input stream that can be used to read the contents that where written to this output
+ * stream.
+ */
+ public InputStream getInputStream() {
+ return new HDInputStream();
+ }
+
+ /**
+ * Writes a <code>boolean</code> value to this output stream. If the argument <code>v</code> is
+ * <code>true</code>, the value <code>(byte)1</code> is written; if <code>v</code> is
+ * <code>false</code>, the value <code>(byte)0</code> is written. The byte written by this method
+ * may be read by the <code>readBoolean</code> method of interface <code>DataInput</code>, which
+ * will then return a <code>boolean</code> equal to <code>v</code>.
+ *
+ * @param v the boolean to be written.
+ */
+ public void writeBoolean(boolean v) {
+ write(v ? 1 : 0);
+ }
+
+ /**
+ * Writes to the output stream the eight low- order bits of the argument <code>v</code>. The 24
+ * high-order bits of <code>v</code> are ignored. (This means that <code>writeByte</code> does
+ * exactly the same thing as <code>write</code> for an integer argument.) The byte written by this
+ * method may be read by the <code>readByte</code> method of interface <code>DataInput</code>,
+ * which will then return a <code>byte</code> equal to <code>(byte)v</code>.
+ *
+ * @param v the byte value to be written.
+ */
+ public void writeByte(int v) {
+ write(v);
+ }
+
+ /**
+ * Writes two bytes to the output stream to represent the value of the argument. The byte values
+ * to be written, in the order shown, are:
+ * <p>
+ *
+ * <pre>
+ * <code>
+ * (byte)(0xff & (v >> 8))
+ * (byte)(0xff & v)
+ * </code>
+ * </pre>
+ * <p>
+ * The bytes written by this method may be read by the <code>readShort</code> method of interface
+ * <code>DataInput</code> , which will then return a <code>short</code> equal to
+ * <code>(short)v</code>.
+ *
+ * @param v the <code>short</code> value to be written.
+ */
+ public void writeShort(int v) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ ensureCapacity(2);
+ buffer.putShort((short) (v & 0xffff));
+ }
+
+ /**
+ * Writes a <code>char</code> value, wich is comprised of two bytes, to the output stream. The
+ * byte values to be written, in the order shown, are:
+ * <p>
+ *
+ * <pre>
+ * <code>
+ * (byte)(0xff & (v >> 8))
+ * (byte)(0xff & v)
+ * </code>
+ * </pre>
+ * <p>
+ * The bytes written by this method may be read by the <code>readChar</code> method of interface
+ * <code>DataInput</code> , which will then return a <code>char</code> equal to
+ * <code>(char)v</code>.
+ *
+ * @param v the <code>char</code> value to be written.
+ */
+ public void writeChar(int v) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ ensureCapacity(2);
+ buffer.putChar((char) v);
+ }
+
+ /**
+ * Writes an <code>int</code> value, which is comprised of four bytes, to the output stream. The
+ * byte values to be written, in the order shown, are:
+ * <p>
+ *
+ * <pre>
+ * <code>
+ * (byte)(0xff & (v >> 24))
+ * (byte)(0xff & (v >> 16))
+ * (byte)(0xff & (v >>    8))
+ * (byte)(0xff & v)
+ * </code>
+ * </pre>
+ * <p>
+ * The bytes written by this method may be read by the <code>readInt</code> method of interface
+ * <code>DataInput</code> , which will then return an <code>int</code> equal to <code>v</code>.
+ *
+ * @param v the <code>int</code> value to be written.
+ */
+ public void writeInt(int v) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ ensureCapacity(4);
+ buffer.putInt(v);
+ }
+
+ /**
+ * Writes a <code>long</code> value, which is comprised of eight bytes, to the output stream. The
+ * byte values to be written, in the order shown, are:
+ * <p>
+ *
+ * <pre>
+ * <code>
+ * (byte)(0xff & (v >> 56))
+ * (byte)(0xff & (v >> 48))
+ * (byte)(0xff & (v >> 40))
+ * (byte)(0xff & (v >> 32))
+ * (byte)(0xff & (v >> 24))
+ * (byte)(0xff & (v >> 16))
+ * (byte)(0xff & (v >> 8))
+ * (byte)(0xff & v)
+ * </code>
+ * </pre>
+ * <p>
+ * The bytes written by this method may be read by the <code>readLong</code> method of interface
+ * <code>DataInput</code> , which will then return a <code>long</code> equal to <code>v</code>.
+ *
+ * @param v the <code>long</code> value to be written.
+ */
+ public void writeLong(long v) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ ensureCapacity(8);
+ buffer.putLong(v);
+ }
+
+ /**
+ * Reserves space in the output for a long and returns a LongUpdater than can be used to update
+ * this particular long.
+ *
+ * @return the LongUpdater that allows the long to be updated
+ */
+ public LongUpdater reserveLong() {
+ if (this.ignoreWrites)
+ return null;
+ checkIfWritable();
+ ensureCapacity(8);
+ LongUpdater result = new LongUpdater(this.buffer);
+ buffer.putLong(0L);
+ return result;
+ }
+
+ /**
+ * Writes a <code>float</code> value, which is comprised of four bytes, to the output stream. It
+ * does this as if it first converts this <code>float</code> value to an <code>int</code> in
+ * exactly the manner of the <code>Float.floatToIntBits</code> method and then writes the
+ * <code>int</code> value in exactly the manner of the <code>writeInt</code> method. The bytes
+ * written by this method may be read by the <code>readFloat</code> method of interface
+ * <code>DataInput</code>, which will then return a <code>float</code> equal to <code>v</code>.
+ *
+ * @param v the <code>float</code> value to be written.
+ */
+ public void writeFloat(float v) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ ensureCapacity(4);
+ buffer.putFloat(v);
+ }
+
+ /**
+ * Writes a <code>double</code> value, which is comprised of eight bytes, to the output stream. It
+ * does this as if it first converts this <code>double</code> value to a <code>long</code> in
+ * exactly the manner of the <code>Double.doubleToLongBits</code> method and then writes the
+ * <code>long</code> value in exactly the manner of the <code>writeLong</code> method. The bytes
+ * written by this method may be read by the <code>readDouble</code> method of interface
+ * <code>DataInput</code>, which will then return a <code>double</code> equal to <code>v</code>.
+ *
+ * @param v the <code>double</code> value to be written.
+ */
+ public void writeDouble(double v) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ ensureCapacity(8);
+ buffer.putDouble(v);
+ }
+
+ /**
+ * Writes a string to the output stream. For every character in the string <code>s</code>, taken
+ * in order, one byte is written to the output stream. If <code>s</code> is <code>null</code>, a
+ * <code>NullPointerException</code> is thrown.
+ * <p>
+ * If <code>s.length</code> is zero, then no bytes are written. Otherwise, the character
+ * <code>s[0]</code> is written first, then <code>s[1]</code>, and so on; the last character
+ * written is <code>s[s.length-1]</code>. For each character, one byte is written, the low-order
+ * byte, in exactly the manner of the <code>writeByte</code> method . The high-order eight bits of
+ * each character in the string are ignored.
+ *
+ * @param str the string of bytes to be written.
+ */
+ public void writeBytes(String str) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ int strlen = str.length();
+ if (strlen > 0) {
+ ensureCapacity(strlen);
+ // I know this is a deprecated method but it is PERFECT for this impl.
+ if (this.buffer.hasArray()) {
+ // I know this is a deprecated method but it is PERFECT for this impl.
+ int pos = this.buffer.position();
+ str.getBytes(0, strlen, this.buffer.array(), this.buffer.arrayOffset() + pos);
+ this.buffer.position(pos + strlen);
+ } else {
+ byte[] bytes = new byte[strlen];
+ str.getBytes(0, strlen, bytes, 0);
+ this.buffer.put(bytes);
+ }
+ // for (int i = 0 ; i < len ; i++) {
+ // this.buffer.put((byte)s.charAt(i));
+ // }
+ }
+ }
+
+ /**
+ * Writes every character in the string <code>s</code>, to the output stream, in order, two bytes
+ * per character. If <code>s</code> is <code>null</code>, a <code>NullPointerException</code> is
+ * thrown. If <code>s.length</code> is zero, then no characters are written. Otherwise, the
+ * character <code>s[0]</code> is written first, then <code>s[1]</code>, and so on; the last
+ * character written is <code>s[s.length-1]</code>. For each character, two bytes are actually
+ * written, high-order byte first, in exactly the manner of the <code>writeChar</code> method.
+ *
+ * @param s the string value to be written.
+ */
+ public void writeChars(String s) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ int len = s.length();
+ if (len > 0) {
+ ensureCapacity(len * 2);
+ for (int i = 0; i < len; i++) {
+ this.buffer.putChar(s.charAt(i));
+ }
+ }
+ }
+
+ /**
+ * Writes two bytes of length information to the output stream, followed by the Java modified UTF
+ * representation of every character in the string <code>s</code>. If <code>s</code> is
+ * <code>null</code>, a <code>NullPointerException</code> is thrown. Each character in the string
+ * <code>s</code> is converted to a group of one, two, or three bytes, depending on the value of
+ * the character.
+ * <p>
+ * If a character <code>c</code> is in the range <code>\u0001</code> through
+ * <code>\u007f</code>, it is represented by one byte:
+ * <p>
+ *
+ * <pre>
+ * (byte) c
+ * </pre>
+ * <p>
+ * If a character <code>c</code> is <code>\u0000</code> or is in the range
+ * <code>\u0080</code> through <code>\u07ff</code>, then it is represented by two bytes,
+ * to be written in the order shown:
+ * <p>
+ *
+ * <pre>
+ * <code>
+ * (byte)(0xc0 | (0x1f & (c >> 6)))
+ * (byte)(0x80 | (0x3f & c))
+ * </code>
+ * </pre>
+ * <p>
+ * If a character <code>c</code> is in the range <code>\u0800</code> through
+ * <code>uffff</code>, then it is represented by three bytes, to be written in the order shown:
+ * <p>
+ *
+ * <pre>
+ * <code>
+ * (byte)(0xe0 | (0x0f & (c >> 12)))
+ * (byte)(0x80 | (0x3f & (c >> 6)))
+ * (byte)(0x80 | (0x3f & c))
+ * </code>
+ * </pre>
+ * <p>
+ * First, the total number of bytes needed to represent all the characters of <code>s</code> is
+ * calculated. If this number is larger than <code>65535</code>, then a
+ * <code>UTFDataFormatException</code> is thrown. Otherwise, this length is written to the output
+ * stream in exactly the manner of the <code>writeShort</code> method; after this, the one-, two-,
+ * or three-byte representation of each character in the string <code>s</code> is written.
+ * <p>
+ * The bytes written by this method may be read by the <code>readUTF</code> method of interface
+ * <code>DataInput</code> , which will then return a <code>String</code> equal to <code>s</code>.
+ *
+ * @param str the string value to be written.
+ */
+ public void writeUTF(String str) throws UTFDataFormatException {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ if (ASCII_STRINGS) {
+ writeAsciiUTF(str, true);
+ } else {
+ writeFullUTF(str, true);
+ }
+ }
+
+ private void writeAsciiUTF(String str, boolean encodeLength) throws UTFDataFormatException {
+ int strlen = str.length();
+ if (encodeLength && strlen > 65535) {
+ throw new UTFDataFormatException();
+ }
+
+ int maxLen = strlen;
+ if (encodeLength) {
+ maxLen += 2;
+ }
+ ensureCapacity(maxLen);
+
+ if (encodeLength) {
+ this.buffer.putShort((short) strlen);
+ }
+ if (this.buffer.hasArray()) {
+ // I know this is a deprecated method but it is PERFECT for this impl.
+ int pos = this.buffer.position();
+ str.getBytes(0, strlen, this.buffer.array(), this.buffer.arrayOffset() + pos);
+ this.buffer.position(pos + strlen);
+ } else {
+ for (int i = 0; i < strlen; i++) {
+ this.buffer.put((byte) str.charAt(i));
+ }
+ // byte[] bytes = new byte[strlen];
+ // str.getBytes(0, strlen, bytes, 0);
+ // this.buffer.put(bytes);
+ }
+ }
+
+ /**
+ * The logic used here is based on java's DataOutputStream.writeUTF() from the version 1.6.0_10.
+ * The reader code should use the logic similar to DataOutputStream.readUTF() from the version
+ * 1.6.0_10 to decode this properly.
+ */
+ private void writeFullUTF(String str, boolean encodeLength) throws UTFDataFormatException {
+ int strlen = str.length();
+ if (encodeLength && strlen > 65535) {
+ throw new UTFDataFormatException();
+ }
+ // make room for worst case space 3 bytes for each char and 2 for len
+ {
+ int maxLen = (strlen * 3);
+ if (encodeLength) {
+ maxLen += 2;
+ }
+ ensureCapacity(maxLen);
+ }
+ int utfSizeIdx = this.buffer.position();
+ if (encodeLength) {
+ // skip bytes reserved for length
+ this.buffer.position(utfSizeIdx + 2);
+ }
+ for (int i = 0; i < strlen; i++) {
+ int c = str.charAt(i);
+ if ((c >= 0x0001) && (c <= 0x007F)) {
+ this.buffer.put((byte) c);
+ } else if (c > 0x07FF) {
+ this.buffer.put((byte) (0xE0 | ((c >> 12) & 0x0F)));
+ this.buffer.put((byte) (0x80 | ((c >> 6) & 0x3F)));
+ this.buffer.put((byte) (0x80 | ((c >> 0) & 0x3F)));
+ } else {
+ this.buffer.put((byte) (0xC0 | ((c >> 6) & 0x1F)));
+ this.buffer.put((byte) (0x80 | ((c >> 0) & 0x3F)));
+ }
+ }
+ int utflen = this.buffer.position() - utfSizeIdx;
+ if (encodeLength) {
+ utflen -= 2;
+ if (utflen > 65535) {
+ // act as if we wrote nothing to this buffer
+ this.buffer.position(utfSizeIdx);
+ throw new UTFDataFormatException();
+ }
+ this.buffer.putShort(utfSizeIdx, (short) utflen);
+ }
+ }
+
+ /**
+ * Same as {@link #writeUTF} but it does not encode the length in the first two bytes and allows
+ * strings longer than 65k to be encoded.
+ */
+ public void writeUTFNoLength(String str) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ try {
+ if (ASCII_STRINGS) {
+ writeAsciiUTF(str, false);
+ } else {
+ writeFullUTF(str, false);
+ }
+ } catch (UTFDataFormatException ex) {
+ // this shouldn't happen since we did not encode the length
+ throw new IllegalStateException(
+ String.format("unexpected %s", ex));
+ }
+ }
+
+ /**
+ * Write a byte buffer to this BufferDataOutputStream,
+ *
+ * the contents of the buffer between the position and the limit are copied to the output stream.
+ */
+ public void write(ByteBuffer bb) {
+ if (this.ignoreWrites)
+ return;
+ checkIfWritable();
+ int remaining = bb.remaining();
+ if (remaining == 0)
+ return;
+ if (this.doNotCopy && remaining > MIN_TO_COPY) {
+ moveBufferToChunks();
+ addToChunks(bb);
+ } else {
+ int remainingSpace = this.buffer.remaining();
+ if (remainingSpace < remaining) {
+ int oldLimit = bb.limit();
+ bb.limit(bb.position() + remainingSpace);
+ this.buffer.put(bb);
+ bb.limit(oldLimit);
+ ensureCapacity(bb.remaining());
+ }
+ this.buffer.put(bb);
+ }
+ }
+
+ public static class LongUpdater {
+ private final ByteBuffer bb;
+ private final int pos;
+
+ public LongUpdater(ByteBuffer bb) {
+ this.bb = bb;
+ this.pos = bb.position();
+ }
+
+ public void update(long v) {
+ this.bb.putLong(this.pos, v);
+ }
+ }
+
+ private class HDInputStream extends InputStream {
+ private Iterator<ByteBuffer> chunkIt;
+ private ByteBuffer bb;
+
+ public HDInputStream() {
+ finishWriting();
+ if (BufferDataOutputStream.this.chunks != null) {
+ this.chunkIt = BufferDataOutputStream.this.chunks.iterator();
+ nextChunk();
+ } else {
+ this.chunkIt = null;
+ this.bb = BufferDataOutputStream.this.buffer;
+ }
+ }
+
+ private void nextChunk() {
+ if (this.chunkIt != null) {
+ if (this.chunkIt.hasNext()) {
+ this.bb = this.chunkIt.next();
+ } else {
+ this.chunkIt = null;
+ this.bb = BufferDataOutputStream.this.buffer;
+ }
+ } else {
+ this.bb = null; // EOF
+ }
+ }
+
+ @Override
+ public int available() {
+ return size();
+ }
+
+ @Override
+ public int read() {
+ if (available() <= 0) {
+ return -1;
+ } else {
+ int remaining = this.bb.limit() - this.bb.position();
+ while (remaining == 0) {
+ nextChunk();
+ remaining = this.bb.limit() - this.bb.position();
+ }
+ consume(1);
+ return this.bb.get() & 0xFF; // fix for bug 37068
+ }
+ }
+
+ @Override
+ public int read(byte[] dst, int off, int len) {
+ if (available() <= 0) {
+ return -1;
+ } else {
+ int readCount = 0;
+ while (len > 0 && this.bb != null) {
+ if (this.bb.limit() == this.bb.position()) {
+ nextChunk();
+ } else {
+ int remaining = this.bb.limit() - this.bb.position();
+ int bytesToRead = len;
+ if (len > remaining) {
+ bytesToRead = remaining;
+ }
+ this.bb.get(dst, off, bytesToRead);
+ off += bytesToRead;
+ len -= bytesToRead;
+ readCount += bytesToRead;
+ }
+ }
+ consume(readCount);
+ return readCount;
+ }
+ }
+
+ @Override
+ public long skip(long n) {
+ int remaining = size();
+ if (remaining <= n) {
+ // just skip over bytes remaining
+ this.chunkIt = null;
+ this.bb = null;
+ consume(remaining);
+ return remaining;
+ } else {
+ long skipped = 0;
+ do {
+ long skipsRemaining = n - skipped;
+ skipped += chunkSkip(skipsRemaining);
+ } while (skipped != n);
+ return n;
+ }
+ }
+
+ private long chunkSkip(long n) {
+ int remaining = this.bb.limit() - this.bb.position();
+ if (remaining <= n) {
+ // skip this whole chunk
+ this.bb.position(this.bb.limit());
+ nextChunk();
+ consume(remaining);
+ return remaining;
+ } else {
+ // skip over just a part of this chunk
+ this.bb.position(this.bb.position() + (int) n);
+ consume((int) n);
+ return n;
+ }
+ }
+
+ private void consume(int c) {
+ BufferDataOutputStream.this.size -= c;
+ }
+
+ }
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/ByteArrayDataInput.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/ByteArrayDataInput.java
similarity index 95%
rename from geode-core/src/main/java/org/apache/geode/internal/ByteArrayDataInput.java
rename to geode-core/src/main/java/org/apache/geode/internal/serialization/ByteArrayDataInput.java
index f132673..20d5f2f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ByteArrayDataInput.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/ByteArrayDataInput.java
@@ -13,7 +13,7 @@
* the License.
*/
-package org.apache.geode.internal;
+package org.apache.geode.internal.serialization;
import java.io.DataInput;
import java.io.EOFException;
@@ -23,8 +23,8 @@ import java.io.UTFDataFormatException;
/**
* A reusable {@link DataInput} implementation that wraps a given byte array. It also implements
- * {@link org.apache.geode.internal.VersionedDataStream} for a stream coming from a different
- * product version.
+ * {@link org.apache.geode.internal.serialization.VersionedDataStream} for a stream coming from a
+ * different product version.
*
* @since GemFire 7.1
*/
@@ -35,7 +35,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
private int pos;
/** reusable buffer for readUTF */
private char[] charBuf;
- private Version version;
+ private short version;
/**
* Create a {@link DataInput} whose contents are empty.
@@ -43,10 +43,10 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
public ByteArrayDataInput() {}
public ByteArrayDataInput(byte[] bytes) {
- initialize(bytes, null);
+ initialize(bytes, (short) 0);
}
- public ByteArrayDataInput(byte[] bytes, Version version) {
+ public ByteArrayDataInput(byte[] bytes, short version) {
initialize(bytes, version);
}
@@ -57,19 +57,19 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
* (a copy is not made) so it should not be changed externally.
* @param version the product version that serialized the object on given bytes
*/
- public void initialize(byte[] bytes, Version version) {
+ public void initialize(byte[] bytes, int version) {
this.bytes = bytes;
this.nBytes = bytes.length;
this.pos = 0;
- this.version = version;
+ this.version = (short) version;
}
/**
* {@inheritDoc}
*/
@Override
- public Version getVersion() {
- return this.version;
+ public short getVersionOrdinal() {
+ return version;
}
private int skipOver(long n) {
@@ -463,7 +463,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
this.bytes = null;
this.nBytes = 0;
this.pos = 0;
- this.version = null;
+ this.version = 0;
}
/**
@@ -471,7 +471,7 @@ public class ByteArrayDataInput extends InputStream implements DataInput, Versio
*/
@Override
public String toString() {
- return this.version == null ? super.toString() : (super.toString() + " (" + this.version + ')');
+ return this.version == 0 ? super.toString() : (super.toString() + " (v" + this.version + ')');
}
private void throwUTFEncodingError(int index, int char1, int char2, Integer char3, int enc)
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/DSCODE.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSCODE.java
index 3a534f5..2da672f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/DSCODE.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSCODE.java
@@ -12,10 +12,9 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.internal;
+package org.apache.geode.internal.serialization;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* An enumeration that contains a bunch of pre-defined values for use in the implementation of
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDNotFoundException.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDNotFoundException.java
index 3b3643a..cefc237 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDNotFoundException.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDNotFoundException.java
@@ -13,10 +13,12 @@
* the License.
*/
-package org.apache.geode.internal;
+package org.apache.geode.internal.serialization;
import java.io.NotSerializableException;
+import org.apache.geode.internal.Version;
+
/**
* Exception to indicate that a specified DSFID type could not be found (e.g. due to class being
* absent in lower product versions).
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializer.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializer.java
index afae242..37cd5a7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializer.java
@@ -28,7 +28,6 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import org.apache.logging.log4j.Logger;
import org.apache.geode.CancelException;
-import org.apache.geode.DataSerializable;
import org.apache.geode.GemFireRethrowable;
import org.apache.geode.InternalGemFireError;
import org.apache.geode.SerializationException;
@@ -37,10 +36,11 @@ import org.apache.geode.ToDataException;
import org.apache.geode.annotations.Immutable;
import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.internal.InternalDataSerializer;
+import org.apache.geode.internal.Version;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogMarker;
-public class BasicDSFIDSerializer {
+public class DSFIDSerializer {
private static final Logger logger = LogService.getLogger();
@Immutable
@@ -77,7 +77,9 @@ public class BasicDSFIDSerializer {
public void writeDSFID(DataSerializableFixedID o, int dsfid, DataOutput out)
throws IOException {
if (dsfid == NO_FIXED_ID) {
- throw new IllegalArgumentException("NO_FIXED_ID is not supported by BasicDSFIDSerializer - use InternalDataSerializer instead: " + o.getClass().getName());
+ throw new IllegalArgumentException(
+ "NO_FIXED_ID is not supported by BasicDSFIDSerializer - use InternalDataSerializer instead: "
+ + o.getClass().getName());
}
writeDSFIDHeader(dsfid, out);
try {
@@ -117,7 +119,8 @@ public class BasicDSFIDSerializer {
public void invokeToData(Object ds, DataOutput out) throws IOException {
boolean isDSFID = ds instanceof DataSerializableFixedID;
if (!isDSFID) {
- throw new IllegalArgumentException("Expected a DataSerializableFixedID but found " + ds.getClass().getName());
+ throw new IllegalArgumentException(
+ "Expected a DataSerializableFixedID but found " + ds.getClass().getName());
}
try {
boolean invoked = false;
@@ -125,11 +128,8 @@ public class BasicDSFIDSerializer {
if (Version.CURRENT != v && v != null) {
// get versions where DataOutput was upgraded
- Version[] versions = null;
- if (ds instanceof SerializationVersions) {
- SerializationVersions sv = (SerializationVersions) ds;
- versions = sv.getSerializationVersions();
- }
+ SerializationVersions sv = (SerializationVersions) ds;
+ Version[] versions = sv.getSerializationVersions();
// check if the version of the peer or diskstore is different and
// there has been a change in the message
if (versions != null) {
@@ -170,21 +170,24 @@ public class BasicDSFIDSerializer {
// is still usable:
SystemFailure.checkFailure();
throw new ToDataException(
- "toData failed on DataSerializableFixedID " + null == ds ? "null" : ds.getClass().toString(), t);
+ "toData failed on DataSerializableFixedID " + null == ds ? "null"
+ : ds.getClass().toString(),
+ t);
}
}
/**
- * Get the {@link Version} of the peer or disk store that created this {@link DataOutput}. Returns
- * null if the version is same as this member's.
+ * Get the {@link Version} ordinal of the peer or disk store that created this {@link DataOutput}.
+ * Returns
+ * zero if the version is same as this member's.
*/
- public Version getVersionForDataStreamOrNull(DataOutput out) {
+ public short getVersionForDataStreamOrZero(DataOutput out) {
// check if this is a versioned data output
if (out instanceof VersionedDataStream) {
- return ((VersionedDataStream) out).getVersion();
+ return ((VersionedDataStream) out).getVersionOrdinal();
} else {
// assume latest version
- return null;
+ return 0;
}
}
@@ -200,7 +203,8 @@ public class BasicDSFIDSerializer {
case DS_FIXED_ID_SHORT:
return create(in.readShort(), in);
case DS_NO_FIXED_ID:
- throw new IllegalStateException("DS_NO_FIXED_ID is not supported in readDSFID - use InternalDataSerializer instead");
+ throw new IllegalStateException(
+ "DS_NO_FIXED_ID is not supported in readDSFID - use InternalDataSerializer instead");
case DS_FIXED_ID_INT:
return create(in.readInt(), in);
default:
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/DataSerializableFixedID.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/DataSerializableFixedID.java
index 8536013..8f2b2bd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/DataSerializableFixedID.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/DataSerializableFixedID.java
@@ -12,14 +12,13 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.internal;
+package org.apache.geode.internal.serialization;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.DataSerializer;
-import org.apache.geode.Instantiator;
+import org.apache.geode.internal.Version;
/**
* An interface that implements data serialization for internal GemFire product classes that have a
@@ -30,8 +29,7 @@ import org.apache.geode.Instantiator;
* Implementors MUST have a public zero-arg constructor.
*
* <p>
- * Note that this class is for internal use only. Customer classes that want to do something
- * similar should implement a subclass of {@link DataSerializer} or {@link Instantiator}.
+ * Note that this class is for internal use only.
*
* <p>
* To add a new DataSerializableFixedID do this following:
@@ -42,19 +40,12 @@ import org.apache.geode.Instantiator;
* should use {@link #NO_FIXED_ID}. In this case you can skip steps 3 and 4.
* <li>Define a method in the class that implements <code>DataSerializableFixedID</code> named
* {@link #getDSFID} that returns the constant from step 1.
- * <li>Define a private static method in {@link DSFIDFactory} that returns an instance of the class
- * from step 2 usually be calling its zero-arg constructor and then calling fromData(in). See the
- * end of {@link DSFIDFactory} for examples.
- * <li>Add a case statement in {@link DSFIDFactory#create} for the constant from step 1 that calls
- * the method from step 3.
+ * <li>Add registration of your class to DSFIDFactory's registration method.
* <li>Implement {@link #toData} and {@link #fromData} just like you would on a
- * <code>DataSerializer</code>. Make sure you follow the javadocs for these methods to add support
+ * DataSerializable class. Make sure you follow the javadocs for these methods to add support
* for rolling upgrades.
* </ol>
*
- * @see DataSerializer
- *
- * @since GemFire 5.7
*/
public interface DataSerializableFixedID extends SerializationVersions {
@@ -845,10 +836,11 @@ public interface DataSerializableFixedID extends SerializationVersions {
* Writes the state of this object as primitive data to the given <code>DataOutput</code>.<br>
* <br>
* Note: For rolling upgrades, if there is a change in the object format from previous version,
- * add a new toDataPre_GFE_X_X_X_X() method and add an entry for the current {@link Version} in
- * the getSerializationVersions array of the implementing class. e.g. if msg format changed in
- * version 80, create toDataPre_GFE_8_0_0_0, add Version.GFE_80 to the getSerializationVersions
- * array and copy previous toData contents to this newly created toDataPre_GFE_X_X_X_X() method.
+ * add a new toDataPre_GFE_X_X_X_X() method and add an entry for the current {@link
+ * Version} in the getSerializationVersions array of the
+ * implementing class. e.g. if msg format changed in version 80, create toDataPre_GFE_8_0_0_0, add
+ * Version.GFE_80 to the getSerializationVersions array and copy previous toData contents to this
+ * newly created toDataPre_GFE_X_X_X_X() method.
*
* @throws IOException A problem occurs while writing to <code>out</code>
*/
@@ -858,16 +850,14 @@ public interface DataSerializableFixedID extends SerializationVersions {
* Reads the state of this object as primitive data from the given <code>DataInput</code>. <br>
* <br>
* Note: For rolling upgrades, if there is a change in the object format from previous version,
- * add a new fromDataPre_GFE_X_X_X_X() method and add an entry for the current {@link Version} in
- * the getSerializationVersions array of the implementing class. e.g. if msg format changed in
- * version 80, create fromDataPre_GFE_8_0_0_0, add Version.GFE_80 to the getSerializationVersions
- * array and copy previous fromData contents to this newly created fromDataPre_GFE_X_X_X_X()
- * method.
+ * add a new fromDataPre_GFE_X_X_X_X() method and add an entry for the current {@link
+ * Version} in the getSerializationVersions array of the
+ * implementing class. e.g. if msg format changed in version 80, create fromDataPre_GFE_8_0_0_0,
+ * add Version.GFE_80 to the getSerializationVersions array and copy previous fromData contents to
+ * this newly created fromDataPre_GFE_X_X_X_X() method.
*
* @throws IOException A problem occurs while reading from <code>in</code>
* @throws ClassNotFoundException A class could not be loaded while reading from <code>in</code>
*/
void fromData(DataInput in) throws IOException, ClassNotFoundException;
-
-
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/DscodeHelper.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/DscodeHelper.java
index dd592e8..6d2db1a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/DscodeHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/DscodeHelper.java
@@ -12,13 +12,12 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.internal.util;
+package org.apache.geode.internal.serialization;
import java.io.IOException;
import java.util.Arrays;
import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.serialization.DSCODE;
public class DscodeHelper {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/SerializationVersions.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/SerializationVersions.java
index 4a3f898..1d9d2d3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/SerializationVersions.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/SerializationVersions.java
@@ -12,9 +12,9 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.internal;
+package org.apache.geode.internal.serialization;
-import org.apache.geode.internal.serialization.Version;
+import org.apache.geode.internal.Version;
/**
* This interface is extended by DataSerializableFixedID and VersionedDataSerializable in order to
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataInputStream.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataInputStream.java
index a9a5c9d..ff0fc2f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataInputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataInputStream.java
@@ -13,12 +13,11 @@
* the License.
*/
-package org.apache.geode.internal;
+package org.apache.geode.internal.serialization;
import java.io.DataInputStream;
import java.io.InputStream;
-import org.apache.geode.internal.serialization.Version;
/**
@@ -29,7 +28,7 @@ import org.apache.geode.internal.serialization.Version;
*/
public class VersionedDataInputStream extends DataInputStream implements VersionedDataStream {
- private final Version version;
+ private final short version;
/**
* Creates a VersionedDataInputStream that uses the specified underlying InputStream.
@@ -37,7 +36,7 @@ public class VersionedDataInputStream extends DataInputStream implements Version
* @param in the specified input stream
* @param version the product version that serialized object on the given input stream
*/
- public VersionedDataInputStream(InputStream in, Version version) {
+ public VersionedDataInputStream(InputStream in, short version) {
super(in);
this.version = version;
}
@@ -46,7 +45,7 @@ public class VersionedDataInputStream extends DataInputStream implements Version
* {@inheritDoc}
*/
@Override
- public Version getVersion() {
+ public short getVersionOrdinal() {
return this.version;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataOutputStream.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataOutputStream.java
index 1c1f185..ddbba6e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataOutputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataOutputStream.java
@@ -13,12 +13,11 @@
* the License.
*/
-package org.apache.geode.internal;
+package org.apache.geode.internal.serialization;
import java.io.DataOutputStream;
import java.io.OutputStream;
-import org.apache.geode.internal.serialization.Version;
/**
* An extension of {@link DataOutputStream} that implements {@link VersionedDataStream}.
@@ -27,7 +26,7 @@ import org.apache.geode.internal.serialization.Version;
*/
public class VersionedDataOutputStream extends DataOutputStream implements VersionedDataStream {
- private final Version version;
+ private final short version;
/**
* Creates a VersionedDataOutputStream that wraps the specified underlying OutputStream.
@@ -35,7 +34,7 @@ public class VersionedDataOutputStream extends DataOutputStream implements Versi
* @param out the underlying output stream
* @param version the product version that serialized object on the given {@link OutputStream}
*/
- public VersionedDataOutputStream(OutputStream out, Version version) {
+ public VersionedDataOutputStream(OutputStream out, short version) {
super(out);
this.version = version;
}
@@ -44,7 +43,7 @@ public class VersionedDataOutputStream extends DataOutputStream implements Versi
* {@inheritDoc}
*/
@Override
- public Version getVersion() {
+ public short getVersionOrdinal() {
return this.version;
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataStream.java b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataStream.java
index d68bc84..d7f7b7a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataStream.java
@@ -13,14 +13,14 @@
* the License.
*/
-package org.apache.geode.internal;
+package org.apache.geode.internal.serialization;
import java.io.DataInput;
import java.io.DataOutput;
import org.apache.geode.DataSerializable;
-import org.apache.geode.internal.serialization.DataSerializableFixedID;
-import org.apache.geode.internal.serialization.Version;
+import org.apache.geode.internal.InternalDataSerializer;
+import org.apache.geode.internal.Version;
/**
* An extension to {@link DataOutput}, {@link DataInput} used internally in product to indicate that
@@ -37,9 +37,10 @@ public interface VersionedDataStream {
/**
* If the remote peer to which this input/output is connected has a lower version that this
- * member, then this returns the {@link Version} of the peer else null. If the peer has a higher
+ * member, then this returns the {@link Version} ordinal of the peer else 0. If the peer has a
+ * higher
* {@link Version}, then this member cannot do any adjustment to serialization and its the remote
* peer's responsibility to adjust the serialization/deserialization according to this peer.
*/
- Version getVersion();
+ short getVersionOrdinal();
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java
index 2a1db17..814ce1f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/MsgDestreamer.java
@@ -30,7 +30,7 @@ import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.ReplyProcessor21;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
/**
* <p>
@@ -239,7 +239,8 @@ public class MsgDestreamer {
ReplyProcessor21.initMessageRPId();
final Version v = version;
DataInputStream dis =
- v == null ? new DataInputStream(this.is) : new VersionedDataInputStream(this.is, v);
+ v == null ? new DataInputStream(this.is)
+ : new VersionedDataInputStream(this.is, v.ordinal());
long startSer = this.stats.startMsgDeserialization();
setResult((DistributionMessage) InternalDataSerializer.readDSFID(dis));
this.stats.endMsgDeserialization(startSer);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedByteBufferInputStream.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedByteBufferInputStream.java
index 6a5a196..0945afe 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedByteBufferInputStream.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedByteBufferInputStream.java
@@ -18,7 +18,7 @@ package org.apache.geode.internal.tcp;
import java.nio.ByteBuffer;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataStream;
+import org.apache.geode.internal.serialization.VersionedDataStream;
/**
* An extension to {@link ByteBufferInputStream} that implements {@link VersionedDataStream} for a
@@ -57,8 +57,11 @@ public class VersionedByteBufferInputStream extends ByteBufferInputStream
* {@inheritDoc}
*/
@Override
- public Version getVersion() {
- return this.version;
+ public short getVersionOrdinal() {
+ if (version == null) {
+ return Version.CURRENT_ORDINAL;
+ }
+ return this.version.ordinal();
}
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java
index 72b68f1..9eed78c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/VersionedMsgStreamer.java
@@ -20,8 +20,8 @@ import java.util.List;
import org.apache.geode.distributed.internal.DMStats;
import org.apache.geode.distributed.internal.DistributionMessage;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataStream;
import org.apache.geode.internal.net.BufferPool;
+import org.apache.geode.internal.serialization.VersionedDataStream;
/**
* An extension of {@link MsgStreamer} that implements {@link VersionedDataStream}.
@@ -42,8 +42,11 @@ class VersionedMsgStreamer extends MsgStreamer implements VersionedDataStream {
* {@inheritDoc}
*/
@Override
- public Version getVersion() {
- return this.version;
+ public short getVersionOrdinal() {
+ if (version == null) {
+ return Version.CURRENT_ORDINAL;
+ }
+ return this.version.ordinal();
}
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java b/geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java
index 8f7ae40..f045151 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java
@@ -19,12 +19,12 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.distributed.internal.DMStats;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.ByteArrayDataInput;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.offheap.StoredObject;
import org.apache.geode.internal.offheap.annotations.Unretained;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.pdx.internal.PdxInputStream;
/**
@@ -95,7 +95,7 @@ public class BlobHelper {
if (in == null) {
in = new ByteArrayDataInput();
}
- in.initialize(blob, version);
+ in.initialize(blob, version == null ? 0 : version.ordinal());
result = DataSerializer.readObject(in);
}
endDeserialization(start, blob.length);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/FederationComponent.java b/geode-core/src/main/java/org/apache/geode/management/internal/FederationComponent.java
index e49491e..32baef8 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/FederationComponent.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/FederationComponent.java
@@ -27,9 +27,9 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.DataSerializable;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Central component for federation It consists of an Object State as well as some meta data for the
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorRequest.java b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorRequest.java
index cf8e502..d7ef63e 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorRequest.java
@@ -24,12 +24,12 @@ import java.util.Properties;
import org.apache.geode.annotations.Immutable;
import org.apache.geode.distributed.internal.tcpserver.LocatorCancelException;
import org.apache.geode.distributed.internal.tcpserver.TcpClient;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.net.SSLConfigurationFactory;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Sent to a locator to request it to find (and possibly start) a jmx manager for us. It returns a
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorResponse.java b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorResponse.java
index ebb8d9a..1e35b8a 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorResponse.java
@@ -21,8 +21,8 @@ import java.net.InetAddress;
import java.net.UnknownHostException;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Sent to a locator to request it to find (and possibly start) a jmx manager for us. It returns a
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConnectCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConnectCommand.java
index a2ac1d5..c84e0fb 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConnectCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConnectCommand.java
@@ -38,7 +38,6 @@ import org.springframework.shell.core.annotation.CliCommand;
import org.springframework.shell.core.annotation.CliOption;
import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.DSFIDFactory;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.net.SSLConfigurationFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
@@ -391,11 +390,6 @@ public class ConnectCommand extends OfflineGfshCommand {
public static ConnectToLocatorResult connectToLocator(String host, int port, int timeout,
Properties props) throws IOException, ClassNotFoundException {
- // register DSFID types first; invoked explicitly so that all message type
- // initializations do not happen in first deserialization on a possibly
- // "precious" thread
- DSFIDFactory.registerTypes();
-
JmxManagerLocatorResponse locatorResponse =
JmxManagerLocatorRequest.send(host, port, timeout, props);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CliFunctionResult.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CliFunctionResult.java
index 424ffc4..a41f490 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CliFunctionResult.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CliFunctionResult.java
@@ -24,8 +24,8 @@ import java.util.Collections;
import java.util.List;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.management.internal.configuration.domain.XmlEntity;
public class CliFunctionResult implements Comparable<CliFunctionResult>, DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/messages/ConfigurationResponse.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/messages/ConfigurationResponse.java
index 1ea801e..5bc0b76 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/messages/ConfigurationResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/messages/ConfigurationResponse.java
@@ -33,8 +33,8 @@ import org.xml.sax.SAXException;
import org.apache.geode.DataSerializer;
import org.apache.geode.InternalGemFireError;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.management.internal.configuration.domain.Configuration;
import org.apache.geode.management.internal.configuration.utils.XmlUtils;
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/FieldType.java b/geode-core/src/main/java/org/apache/geode/pdx/FieldType.java
index 5c56c86..98fb53c 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/FieldType.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/FieldType.java
@@ -17,8 +17,8 @@ package org.apache.geode.pdx;
import java.nio.ByteBuffer;
import java.util.Date;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.InternalDataSerializer;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.pdx.internal.DataSize;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumId.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumId.java
index 62cd2e2..190299e 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumId.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumId.java
@@ -18,8 +18,8 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class EnumId implements DataSerializableFixedID {
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
index b75d005..bb4fde7 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
@@ -25,10 +25,10 @@ import java.util.List;
import org.apache.geode.DataSerializer;
import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.pdx.PdxInstance;
import org.apache.geode.pdx.PdxSerializationException;
import org.apache.geode.pdx.WritablePdxInstance;
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceEnum.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceEnum.java
index d166539..8c269e5 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceEnum.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceEnum.java
@@ -22,10 +22,10 @@ import java.util.List;
import org.apache.geode.DataSerializer;
import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.pdx.PdxSerializationException;
import org.apache.geode.pdx.WritablePdxInstance;
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceImpl.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceImpl.java
index 2a76272..24f07c7 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceImpl.java
@@ -34,10 +34,10 @@ import org.apache.geode.InternalGemFireException;
import org.apache.geode.annotations.Immutable;
import org.apache.geode.distributed.internal.DMStats;
import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.internal.tcp.ByteBufferInputStream;
import org.apache.geode.internal.tcp.ByteBufferInputStream.ByteSource;
import org.apache.geode.internal.tcp.ByteBufferInputStream.ByteSourceFactory;
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java
index 5ee2fa3..b4b7196 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java
@@ -22,10 +22,10 @@ import java.util.Date;
import org.apache.geode.InternalGemFireException;
import org.apache.geode.annotations.internal.MutableForTesting;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.internal.tcp.ByteBufferInputStream;
import org.apache.geode.internal.tcp.ByteBufferInputStream.ByteSource;
import org.apache.geode.pdx.FieldType;
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxString.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxString.java
index 9f3a636..d9baacd 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxString.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxString.java
@@ -21,8 +21,8 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.Sendable;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.internal.tcp.ByteBufferInputStream;
/**
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxWriterImpl.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxWriterImpl.java
index ea74414..1b36e6b 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxWriterImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxWriterImpl.java
@@ -21,10 +21,10 @@ import java.util.Date;
import org.apache.geode.InternalGemFireException;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.GemFireCacheImpl;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.internal.tcp.ByteBufferInputStream.ByteSource;
import org.apache.geode.pdx.FieldType;
import org.apache.geode.pdx.PdxFieldAlreadyExistsException;
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/json/PdxToJSON.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/json/PdxToJSON.java
index 9ad21a8..54f5c71 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/json/PdxToJSON.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/json/PdxToJSON.java
@@ -30,6 +30,7 @@ import com.fasterxml.jackson.core.JsonGenerator.Feature;
import org.apache.geode.annotations.internal.MutableForTesting;
import org.apache.geode.internal.HeapDataOutputStream;
+import org.apache.geode.internal.Version;
import org.apache.geode.pdx.JSONFormatter;
import org.apache.geode.pdx.PdxInstance;
import org.apache.geode.pdx.internal.EnumInfo;
@@ -51,7 +52,7 @@ public class PdxToJSON {
public String getJSON() {
JsonFactory jf = new JsonFactory();
- HeapDataOutputStream hdos = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
+ HeapDataOutputStream hdos = new HeapDataOutputStream(Version.CURRENT);
try {
JsonGenerator jg = jf.createJsonGenerator(hdos, JsonEncoding.UTF8);
enableDisableJSONGeneratorFeature(jg);
@@ -67,7 +68,7 @@ public class PdxToJSON {
public byte[] getJSONByteArray() {
JsonFactory jf = new JsonFactory();
- HeapDataOutputStream hdos = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
+ HeapDataOutputStream hdos = new HeapDataOutputStream(Version.CURRENT);
try {
JsonGenerator jg = jf.createJsonGenerator(hdos, JsonEncoding.UTF8);
enableDisableJSONGeneratorFeature(jg);
diff --git a/geode-core/src/test/java/org/apache/geode/DataSerializerTest.java b/geode-core/src/test/java/org/apache/geode/DataSerializerTest.java
index eaa085d..823ee30 100644
--- a/geode-core/src/test/java/org/apache/geode/DataSerializerTest.java
+++ b/geode-core/src/test/java/org/apache/geode/DataSerializerTest.java
@@ -25,9 +25,9 @@ import java.io.IOException;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.cache.EventID;
import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.internal.util.BlobHelper;
import org.apache.geode.test.junit.categories.SerializationTest;
@@ -57,9 +57,9 @@ public class DataSerializerTest {
public void readStringShouldReturnCanonicalEmptyString() throws IOException {
byte[] serializedEmptyStringBytes = BlobHelper.serializeToBlob("");
ByteArrayDataInput dataInput1 = new ByteArrayDataInput();
- dataInput1.initialize(serializedEmptyStringBytes, null);
+ dataInput1.initialize(serializedEmptyStringBytes, 0);
ByteArrayDataInput dataInput2 = new ByteArrayDataInput();
- dataInput2.initialize(serializedEmptyStringBytes, null);
+ dataInput2.initialize(serializedEmptyStringBytes, 0);
String firstRead = DataSerializer.readString(dataInput1);
String secondRead = DataSerializer.readString(dataInput2);
diff --git a/geode-core/src/test/java/org/apache/geode/cache/execute/FunctionAdapterJUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/execute/FunctionAdapterJUnitTest.java
index f792a6b..734c9e9 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/execute/FunctionAdapterJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/execute/FunctionAdapterJUnitTest.java
@@ -28,7 +28,7 @@ import org.junit.Test;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
public class FunctionAdapterJUnitTest {
@@ -76,7 +76,8 @@ public class FunctionAdapterJUnitTest {
createTempFileFromResource(getClass(), getClass().getSimpleName() + "."
+ "serializedFunctionAdapterWithDifferentSerialVersionUID.ser").getAbsolutePath());
- DataInputStream dis = new VersionedDataInputStream(new DataInputStream(fis), Version.GFE_82);
+ DataInputStream dis =
+ new VersionedDataInputStream(new DataInputStream(fis), Version.GFE_82.ordinal());
Object o = InternalDataSerializer.basicReadObject(dis);
assertTrue(o instanceof FunctionAdapter);
}
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
index 28f636c..c7bdd8a 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
@@ -42,12 +42,10 @@ import org.apache.geode.distributed.internal.OverflowQueueWithDMStats;
import org.apache.geode.distributed.internal.tcpserver.TcpClient;
import org.apache.geode.internal.ClassPathLoader;
import org.apache.geode.internal.ConnectionWatcher;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.OSProcess;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
import org.apache.geode.internal.VersionedObjectInput;
import org.apache.geode.internal.admin.remote.DistributionLocatorId;
import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
@@ -59,6 +57,8 @@ import org.apache.geode.internal.logging.LoggingThread;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.net.SocketCreatorFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
import org.apache.geode.internal.tcp.ConnectExceptions;
import org.apache.geode.internal.util.Breadcrumbs;
import org.apache.geode.internal.util.JavaWorkarounds;
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/GMSMemberJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/GMSMemberJUnitTest.java
index b22d90d..29f7dac 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/GMSMemberJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/GMSMemberJUnitTest.java
@@ -36,7 +36,7 @@ import org.junit.experimental.categories.Category;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
import org.apache.geode.test.junit.categories.SecurityTest;
@Category({SecurityTest.class})
@@ -202,7 +202,7 @@ public class GMSMemberJUnitTest {
dataOutput = new HeapDataOutputStream(Version.GFE_90);
member.writeEssentialData(dataOutput);
bais = new ByteArrayInputStream(baos.toByteArray());
- dataInput = new VersionedDataInputStream(new DataInputStream(bais), Version.GFE_90);
+ dataInput = new VersionedDataInputStream(new DataInputStream(bais), Version.GFE_90.ordinal());
newMember = new GMSMember();
newMember.readEssentialData(dataInput);
assertEquals(0, newMember.getVmKind());
diff --git a/geode-core/src/test/java/org/apache/geode/internal/ByteArrayDataInputTest.java b/geode-core/src/test/java/org/apache/geode/internal/ByteArrayDataInputTest.java
index 8e8c56b..015f949 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/ByteArrayDataInputTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/ByteArrayDataInputTest.java
@@ -23,6 +23,8 @@ import java.io.IOException;
import org.junit.Test;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+
public class ByteArrayDataInputTest {
@Test
public void readFullyThatReadsPastEndOfDataThrowsEOFException() throws IOException {
@@ -237,7 +239,7 @@ public class ByteArrayDataInputTest {
return new java.io.DataInputStream(new java.io.ByteArrayInputStream(inputBytes));
} else {
ByteArrayDataInput input = new ByteArrayDataInput();
- input.initialize(inputBytes, null);
+ input.initialize(inputBytes, 0);
return input;
}
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/DataSerializableJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/DataSerializableJUnitTest.java
index 0df787e..bb53fe4 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/DataSerializableJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/DataSerializableJUnitTest.java
@@ -68,6 +68,8 @@ import org.apache.geode.DataSerializable;
import org.apache.geode.DataSerializer;
import org.apache.geode.Instantiator;
import org.apache.geode.SystemFailure;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
import org.apache.geode.internal.statistics.StatArchiveWriter;
import org.apache.geode.internal.tcp.ByteBufferInputStream;
import org.apache.geode.test.junit.categories.SerializationTest;
@@ -1162,13 +1164,14 @@ public class DataSerializableJUnitTest implements Serializable {
public void testVersionedDataSerializable() throws Exception {
VersionedDataSerializableImpl ds = new VersionedDataSerializableImpl(getRandom());
- VersionedDataOutputStream v = new VersionedDataOutputStream(this.baos, Version.GFE_70);
+ VersionedDataOutputStream v =
+ new VersionedDataOutputStream(this.baos, Version.GFE_70.ordinal());
DataSerializer.writeObject(ds, v);
v.flush();
ByteBuffer bb = ByteBuffer.wrap(this.baos.toByteArray());
ByteBufferInputStream bbis = new ByteBufferInputStream(bb);
- VersionedDataInputStream vin = new VersionedDataInputStream(bbis, Version.GFE_70);
+ VersionedDataInputStream vin = new VersionedDataInputStream(bbis, Version.GFE_70.ordinal());
VersionedDataSerializableImpl ds2 =
(VersionedDataSerializableImpl) DataSerializer.readObject(vin);
diff --git a/geode-core/src/test/java/org/apache/geode/internal/HeapDataOutputStreamJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/HeapDataOutputStreamJUnitTest.java
index 74ce53a..ce4e05a 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/HeapDataOutputStreamJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/HeapDataOutputStreamJUnitTest.java
@@ -12,7 +12,7 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.internal.serialization;
+package org.apache.geode.internal;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@@ -28,8 +28,7 @@ import org.junit.experimental.categories.Category;
import org.apache.geode.DataSerializer;
import org.apache.geode.internal.cache.UnitTestValueHolder;
-import org.apache.geode.internal.serialization.HeapDataOutputStream;
-import org.apache.geode.internal.serialization.Version;
+import org.apache.geode.internal.serialization.BufferDataOutputStream;
import org.apache.geode.pdx.internal.TypeRegistry;
import org.apache.geode.test.junit.categories.SerializationTest;
@@ -112,7 +111,7 @@ public class HeapDataOutputStreamJUnitTest {
out.write(0);
- byte[] bytes = new byte[HeapDataOutputStream.MIN_TO_COPY + 1];
+ byte[] bytes = new byte[BufferDataOutputStream.MIN_TO_COPY + 1];
for (int i = 0; i < bytes.length; i++) {
bytes[i] = (byte) ((i + 1) % 128);
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/HeapDataOutputStreamTest.java b/geode-core/src/test/java/org/apache/geode/internal/HeapDataOutputStreamTest.java
index 86f5604..fa3e96e 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/HeapDataOutputStreamTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/HeapDataOutputStreamTest.java
@@ -12,14 +12,15 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.internal.serialization;
+package org.apache.geode.internal;
-import static org.apache.geode.internal.serialization.HeapDataOutputStream.SMALLEST_CHUNK_SIZE;
+import static org.apache.geode.internal.HeapDataOutputStream.SMALLEST_CHUNK_SIZE;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.IOException;
+import java.io.InputStream;
import java.nio.ByteBuffer;
import org.junit.Test;
@@ -33,9 +34,9 @@ public class HeapDataOutputStreamTest {
@Test
public void shouldBeMockable() throws Exception {
HeapDataOutputStream mockHeapDataOutputStream = mock(HeapDataOutputStream.class);
- Version mockVersion = mock(Version.class);
- when(mockHeapDataOutputStream.getVersion()).thenReturn(mockVersion);
- assertThat(mockHeapDataOutputStream.getVersion()).isEqualTo(mockVersion);
+ InputStream mockInputStream = mock(InputStream.class);
+ when(mockHeapDataOutputStream.getInputStream()).thenReturn(mockInputStream);
+ assertThat(mockHeapDataOutputStream.getInputStream()).isEqualTo(mockInputStream);
}
@Test
diff --git a/geode-core/src/test/java/org/apache/geode/internal/InternalDataSerializerJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/InternalDataSerializerJUnitTest.java
index f787141..f9a48d1 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/InternalDataSerializerJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/InternalDataSerializerJUnitTest.java
@@ -38,6 +38,7 @@ import org.apache.geode.InternalGemFireException;
import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.examples.security.ExampleSecurityManager;
+import org.apache.geode.internal.serialization.DSCODE;
import org.apache.geode.test.junit.categories.SerializationTest;
/**
diff --git a/geode-core/src/test/java/org/apache/geode/internal/alerting/AlertListenerMessageFactoryTest.java b/geode-core/src/test/java/org/apache/geode/internal/alerting/AlertListenerMessageFactoryTest.java
index 92c2353..4c875b4 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/alerting/AlertListenerMessageFactoryTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/alerting/AlertListenerMessageFactoryTest.java
@@ -14,7 +14,7 @@
*/
package org.apache.geode.internal.alerting;
-import static org.apache.geode.internal.DataSerializableFixedID.ALERT_LISTENER_MESSAGE;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.ALERT_LISTENER_MESSAGE;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
import static org.mockito.Mockito.mock;
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/FilterInfoTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/FilterInfoTest.java
index 40ad820..014f94d 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/FilterInfoTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/FilterInfoTest.java
@@ -23,10 +23,10 @@ import java.util.Set;
import org.junit.Test;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.FilterRoutingInfo.FilterInfo;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* Unit test for FilterRoutingInfo.FilterInfo
@@ -52,7 +52,7 @@ public class FilterInfoTest {
byte[] outputBytes = dataOut.toByteArray();
FilterInfo deserialized = new FilterInfo();
ByteArrayDataInput dataInput = new ByteArrayDataInput();
- dataInput.initialize(outputBytes, Version.CURRENT);
+ dataInput.initialize(outputBytes, Version.CURRENT_ORDINAL);
deserialized.fromData(dataInput);
assertThat(deserialized.getCQs()).isEqualTo(cqs);
assertThat(deserialized.getInterestedClients()).isEqualTo(clients);
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java
index e04feab..d185e9d 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java
@@ -26,9 +26,9 @@ import org.junit.experimental.categories.Category;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
-import org.apache.geode.internal.VersionedDataOutputStream;
import org.apache.geode.internal.cache.EventID;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
import org.apache.geode.test.junit.categories.ClientServerTest;
/**
@@ -180,14 +180,15 @@ public class EventIdOptimizationJUnitTest {
HeapDataOutputStream hdos90 = new HeapDataOutputStream(256, Version.GFE_90);
- VersionedDataOutputStream dop = new VersionedDataOutputStream(hdos90, Version.GFE_90);
+ VersionedDataOutputStream dop = new VersionedDataOutputStream(hdos90, Version.GFE_90.ordinal());
eventID.toData(dop);
ByteArrayInputStream bais = new ByteArrayInputStream(hdos90.toByteArray());
- VersionedDataInputStream dataInputStream = new VersionedDataInputStream(bais, Version.GFE_90);
+ VersionedDataInputStream dataInputStream =
+ new VersionedDataInputStream(bais, Version.GFE_90.ordinal());
EventID eventID2 = new EventID();
eventID2.fromData(dataInputStream);
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/AbstractStoredObjectTestBase.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/AbstractStoredObjectTestBase.java
index 6a867bc..bb50a92 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/AbstractStoredObjectTestBase.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/AbstractStoredObjectTestBase.java
@@ -25,7 +25,7 @@ import java.io.IOException;
import org.junit.Test;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public abstract class AbstractStoredObjectTestBase {
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/DataTypeJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/DataTypeJUnitTest.java
index b0ee6be..ea9ef3c 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/DataTypeJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/DataTypeJUnitTest.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.internal.offheap;
-import static org.apache.geode.internal.DSFIDFactory.registerDSFID;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -57,15 +56,14 @@ import org.apache.geode.DataSerializable;
import org.apache.geode.DataSerializer;
import org.apache.geode.Instantiator;
import org.apache.geode.distributed.internal.ReplyMessage;
-import org.apache.geode.internal.DSCODE;
-import org.apache.geode.internal.DSFIDFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.DataSerializableJUnitTest.DataSerializableImpl;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.InternalInstantiator;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.remote.ShutdownAllResponse;
import org.apache.geode.internal.cache.execute.data.CustId;
+import org.apache.geode.internal.serialization.DSCODE;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Tests the DataType support for off-heap MemoryInspector.
@@ -95,7 +93,9 @@ public class DataTypeJUnitTest {
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals(
- "org.apache.geode.internal.DataSerializableFixedID:" + ReplyMessage.class.getName(), type);
+ "org.apache.geode.internal.serialization.DataSerializableFixedID:"
+ + ReplyMessage.class.getName(),
+ type);
}
@Test
@@ -107,19 +107,23 @@ public class DataTypeJUnitTest {
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals(
- "org.apache.geode.internal.DataSerializableFixedID:" + ShutdownAllResponse.class
- .getName(),
+ "org.apache.geode.internal.serialization.DataSerializableFixedID:"
+ + ShutdownAllResponse.class
+ .getName(),
type);
}
@Test
public void testDataSerializableFixedIDInt() throws IOException, ClassNotFoundException {
assertFalse(
- DSFIDFactory.getDsfidmap2().containsKey(DummyIntDataSerializableFixedID.INT_SIZE_id));
- registerDSFID(DummyIntDataSerializableFixedID.INT_SIZE_id,
+ InternalDataSerializer.getDSFIDSerializer().getDsfidmap2()
+ .containsKey(DummyIntDataSerializableFixedID.INT_SIZE_id));
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DummyIntDataSerializableFixedID.INT_SIZE_id,
DummyIntDataSerializableFixedID.class);
assertTrue(
- DSFIDFactory.getDsfidmap2().containsKey(DummyIntDataSerializableFixedID.INT_SIZE_id));
+ InternalDataSerializer.getDSFIDSerializer().getDsfidmap2()
+ .containsKey(DummyIntDataSerializableFixedID.INT_SIZE_id));
try {
DummyIntDataSerializableFixedID dummyObj = new DummyIntDataSerializableFixedID();
@@ -130,13 +134,15 @@ public class DataTypeJUnitTest {
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
- assertEquals("org.apache.geode.internal.DataSerializableFixedID:"
+ assertEquals("org.apache.geode.internal.serialization.DataSerializableFixedID:"
+ DummyIntDataSerializableFixedID.class.getName(),
type);
} finally {
- DSFIDFactory.getDsfidmap2().remove(DummyIntDataSerializableFixedID.INT_SIZE_id);
+ InternalDataSerializer.getDSFIDSerializer().getDsfidmap2()
+ .remove(DummyIntDataSerializableFixedID.INT_SIZE_id);
assertFalse(
- DSFIDFactory.getDsfidmap2().containsKey(DummyIntDataSerializableFixedID.INT_SIZE_id));
+ InternalDataSerializer.getDSFIDSerializer().getDsfidmap2()
+ .containsKey(DummyIntDataSerializableFixedID.INT_SIZE_id));
}
}
@@ -148,7 +154,8 @@ public class DataTypeJUnitTest {
DataSerializer.writeClass(Integer.class, out);
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
- assertEquals("org.apache.geode.internal.DataSerializableFixedID:" + Integer.class.getName(),
+ assertEquals("org.apache.geode.internal.serialization.DataSerializableFixedID:"
+ + Integer.class.getName(),
type);
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/MemoryBlockNodeJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/MemoryBlockNodeJUnitTest.java
index 7b8c460..5d54d96 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/MemoryBlockNodeJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/MemoryBlockNodeJUnitTest.java
@@ -36,9 +36,9 @@ import org.junit.rules.ExpectedException;
import org.apache.geode.cache.CacheClosedException;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.cache.EntryEventImpl;
import org.apache.geode.internal.offheap.MemoryBlock.State;
+import org.apache.geode.internal.serialization.DSCODE;
public class MemoryBlockNodeJUnitTest {
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelperJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelperJUnitTest.java
index b210e82..3c219ff 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelperJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelperJUnitTest.java
@@ -35,7 +35,6 @@ import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.apache.geode.compression.Compressor;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.DiskId;
import org.apache.geode.internal.cache.EntryEventImpl;
@@ -45,6 +44,7 @@ import org.apache.geode.internal.cache.VMCachedDeserializable;
import org.apache.geode.internal.cache.entries.DiskEntry;
import org.apache.geode.internal.cache.entries.OffHeapRegionEntry;
import org.apache.geode.internal.cache.entries.VersionedStatsDiskRegionEntryOffHeap;
+import org.apache.geode.internal.serialization.DSCODE;
@RunWith(PowerMockRunner.class)
@PowerMockIgnore("*.UnitTest")
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapStoredObjectJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapStoredObjectJUnitTest.java
index 87b5f1f..cdd25f3 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapStoredObjectJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapStoredObjectJUnitTest.java
@@ -37,7 +37,6 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.geode.compression.Compressor;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.BytesAndBitsForCompactor;
@@ -45,6 +44,7 @@ import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.EntryEventImpl;
import org.apache.geode.internal.cache.RegionEntryContext;
import org.apache.geode.internal.offheap.MemoryBlock.State;
+import org.apache.geode.internal.serialization.DSCODE;
public class OffHeapStoredObjectJUnitTest extends AbstractStoredObjectTestBase {
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/TinyStoredObjectJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/TinyStoredObjectJUnitTest.java
index d4f311c..8a9632f 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/TinyStoredObjectJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/TinyStoredObjectJUnitTest.java
@@ -29,11 +29,11 @@ import java.nio.ByteBuffer;
import org.junit.Test;
import org.apache.geode.compression.Compressor;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.cache.BytesAndBitsForCompactor;
import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.EntryEventImpl;
import org.apache.geode.internal.cache.RegionEntryContext;
+import org.apache.geode.internal.serialization.DSCODE;
public class TinyStoredObjectJUnitTest extends AbstractStoredObjectTestBase {
diff --git a/geode-core/src/test/java/org/apache/geode/internal/serialization/DSCODETest.java b/geode-core/src/test/java/org/apache/geode/internal/serialization/DSCODETest.java
index 7100470..1721875 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/serialization/DSCODETest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/serialization/DSCODETest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.apache.geode.internal.serialization.DSCODE;
-import org.apache.geode.internal.util.DscodeHelper;
+import org.apache.geode.internal.serialization.DscodeHelper;
import org.apache.geode.test.junit.categories.SerializationTest;
@Category({SerializationTest.class})
diff --git a/geode-core/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
index 83494bd..529f1bf 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
@@ -21,7 +21,6 @@ import org.junit.Test;
import org.apache.geode.cache.UnsupportedVersionException;
import org.apache.geode.internal.cache.tier.sockets.CommandInitializer;
-import org.apache.geode.internal.serialization.Version;
public class VersionJUnitTest {
@Test
diff --git a/geode-core/src/test/java/org/apache/geode/internal/util/BlobHelperTest.java b/geode-core/src/test/java/org/apache/geode/internal/util/BlobHelperTest.java
index b2f9030..c3d1710 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/util/BlobHelperTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/util/BlobHelperTest.java
@@ -31,10 +31,10 @@ import org.junit.Before;
import org.junit.Test;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.offheap.StoredObject;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
/**
* Unit Tests for {@link BlobHelper}.
diff --git a/geode-core/src/test/java/org/apache/geode/pdx/internal/EnumIdTest.java b/geode-core/src/test/java/org/apache/geode/pdx/internal/EnumIdTest.java
index 681ebcd..640923a 100644
--- a/geode-core/src/test/java/org/apache/geode/pdx/internal/EnumIdTest.java
+++ b/geode-core/src/test/java/org/apache/geode/pdx/internal/EnumIdTest.java
@@ -14,7 +14,7 @@
*/
package org.apache.geode.pdx.internal;
-import static org.apache.geode.internal.DataSerializableFixedID.ENUM_ID;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.ENUM_ID;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
diff --git a/geode-core/src/test/java/org/apache/geode/pdx/internal/EnumInfoTest.java b/geode-core/src/test/java/org/apache/geode/pdx/internal/EnumInfoTest.java
index 805c4ab..ffaaeec 100644
--- a/geode-core/src/test/java/org/apache/geode/pdx/internal/EnumInfoTest.java
+++ b/geode-core/src/test/java/org/apache/geode/pdx/internal/EnumInfoTest.java
@@ -14,7 +14,7 @@
*/
package org.apache.geode.pdx.internal;
-import static org.apache.geode.internal.DataSerializableFixedID.ENUM_INFO;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.ENUM_INFO;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
diff --git a/geode-junit/src/main/java/org/apache/geode/codeAnalysis/decode/CompiledClass.java b/geode-junit/src/main/java/org/apache/geode/codeAnalysis/decode/CompiledClass.java
index 00b9cb6..af55f1d 100644
--- a/geode-junit/src/main/java/org/apache/geode/codeAnalysis/decode/CompiledClass.java
+++ b/geode-junit/src/main/java/org/apache/geode/codeAnalysis/decode/CompiledClass.java
@@ -29,9 +29,9 @@ import org.apache.geode.codeAnalysis.decode.cp.Cp;
import org.apache.geode.codeAnalysis.decode.cp.CpClass;
import org.apache.geode.codeAnalysis.decode.cp.CpDouble;
import org.apache.geode.codeAnalysis.decode.cp.CpLong;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.ExitCode;
import org.apache.geode.internal.logging.PureLogWriter;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/cache/eviction/LRUTestEntry.java b/geode-junit/src/main/java/org/apache/geode/internal/cache/eviction/LRUTestEntry.java
index 1abb9be..5f0fabe 100644
--- a/geode-junit/src/main/java/org/apache/geode/internal/cache/eviction/LRUTestEntry.java
+++ b/geode-junit/src/main/java/org/apache/geode/internal/cache/eviction/LRUTestEntry.java
@@ -19,7 +19,6 @@ import org.apache.geode.cache.EntryEvent;
import org.apache.geode.cache.EntryNotFoundException;
import org.apache.geode.cache.TimeoutException;
import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.InternalStatisticsDisabledException;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.DistributedRegion;
@@ -33,6 +32,7 @@ import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.cache.versions.VersionSource;
import org.apache.geode.internal.cache.versions.VersionStamp;
import org.apache.geode.internal.cache.versions.VersionTag;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
class LRUTestEntry implements EvictableEntry {
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneResultStructImpl.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneResultStructImpl.java
index 25a6a78..825bbc9 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneResultStructImpl.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneResultStructImpl.java
@@ -21,8 +21,8 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.lucene.LuceneResultStruct;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class LuceneResultStructImpl<K, V>
implements LuceneResultStruct<K, V>, DataSerializableFixedID {
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
index 6c07361..f7a1941 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
@@ -15,7 +15,7 @@
package org.apache.geode.cache.lucene.internal;
-import static org.apache.geode.internal.DataSerializableFixedID.CREATE_REGION_MESSAGE_LUCENE;
+import static org.apache.geode.internal.serialization.DataSerializableFixedID.CREATE_REGION_MESSAGE_LUCENE;
import java.util.ArrayList;
import java.util.Collection;
@@ -69,8 +69,7 @@ import org.apache.geode.cache.lucene.internal.results.PageResults;
import org.apache.geode.cache.lucene.internal.xml.LuceneServiceXmlGenerator;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.DSFIDFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.BucketNotFoundException;
import org.apache.geode.internal.cache.BucketRegion;
@@ -82,6 +81,7 @@ import org.apache.geode.internal.cache.RegionListener;
import org.apache.geode.internal.cache.extension.Extensible;
import org.apache.geode.internal.cache.xmlcache.XmlGenerator;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.management.internal.beans.CacheServiceMBeanBase;
/**
@@ -601,37 +601,49 @@ public class LuceneServiceImpl implements InternalLuceneService {
/** Public for test purposes */
public static void registerDataSerializables() {
- DSFIDFactory.registerDSFID(CREATE_REGION_MESSAGE_LUCENE,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(CREATE_REGION_MESSAGE_LUCENE,
CreateRegionProcessorForLucene.CreateRegionMessage.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_CHUNK_KEY, ChunkKey.class);
+ InternalDataSerializer.getDSFIDSerializer()
+ .registerDSFID(DataSerializableFixedID.LUCENE_CHUNK_KEY, ChunkKey.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_FILE, File.class);
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(DataSerializableFixedID.LUCENE_FILE,
+ File.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_FUNCTION_CONTEXT,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.LUCENE_FUNCTION_CONTEXT,
LuceneFunctionContext.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_STRING_QUERY_PROVIDER,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.LUCENE_STRING_QUERY_PROVIDER,
StringQueryProvider.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_TOP_ENTRIES_COLLECTOR_MANAGER,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.LUCENE_TOP_ENTRIES_COLLECTOR_MANAGER,
TopEntriesCollectorManager.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_ENTRY_SCORE, EntryScore.class);
+ InternalDataSerializer.getDSFIDSerializer()
+ .registerDSFID(DataSerializableFixedID.LUCENE_ENTRY_SCORE, EntryScore.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_TOP_ENTRIES, TopEntries.class);
+ InternalDataSerializer.getDSFIDSerializer()
+ .registerDSFID(DataSerializableFixedID.LUCENE_TOP_ENTRIES, TopEntries.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_TOP_ENTRIES_COLLECTOR,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.LUCENE_TOP_ENTRIES_COLLECTOR,
TopEntriesCollector.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.WAIT_UNTIL_FLUSHED_FUNCTION_CONTEXT,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.WAIT_UNTIL_FLUSHED_FUNCTION_CONTEXT,
WaitUntilFlushedFunctionContext.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.DESTROY_LUCENE_INDEX_MESSAGE,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.DESTROY_LUCENE_INDEX_MESSAGE,
DestroyLuceneIndexMessage.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_PAGE_RESULTS, PageResults.class);
+ InternalDataSerializer.getDSFIDSerializer()
+ .registerDSFID(DataSerializableFixedID.LUCENE_PAGE_RESULTS, PageResults.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_RESULT_STRUCT,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.LUCENE_RESULT_STRUCT,
LuceneResultStructImpl.class);
}
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/StringQueryProvider.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/StringQueryProvider.java
index 830c5ad..568fc8a 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/StringQueryProvider.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/StringQueryProvider.java
@@ -28,9 +28,9 @@ import org.apache.geode.DataSerializer;
import org.apache.geode.cache.lucene.LuceneIndex;
import org.apache.geode.cache.lucene.LuceneQueryException;
import org.apache.geode.cache.lucene.LuceneQueryProvider;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Constructs a Lucene Query object by parsing a search string. The class uses
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/EntryScore.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/EntryScore.java
index 788e101..9c004f4 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/EntryScore.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/EntryScore.java
@@ -20,8 +20,8 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Holds one entry matching search query and its metadata
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunctionContext.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunctionContext.java
index e28378c..94e0a66 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunctionContext.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunctionContext.java
@@ -24,8 +24,8 @@ import org.apache.geode.cache.lucene.LuceneQueryFactory;
import org.apache.geode.cache.lucene.LuceneQueryProvider;
import org.apache.geode.cache.lucene.internal.repository.IndexRepository;
import org.apache.geode.cache.lucene.internal.repository.IndexResultCollector;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Contains function arguments for text / lucene search
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntries.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntries.java
index 88417c3..79c2ed7 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntries.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntries.java
@@ -24,8 +24,8 @@ import java.util.List;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.lucene.LuceneQueryFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Holds a ordered collection of entries matching a search query.
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollector.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollector.java
index d9904da..44fd680 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollector.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollector.java
@@ -22,8 +22,8 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.lucene.LuceneQueryFactory;
import org.apache.geode.cache.lucene.internal.repository.IndexResultCollector;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* An implementation of {@link IndexResultCollector} to collect {@link EntryScore}. It is expected
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorManager.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorManager.java
index 325e586..cb65f80 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorManager.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollectorManager.java
@@ -30,9 +30,9 @@ import org.apache.geode.DataSerializer;
import org.apache.geode.cache.lucene.LuceneQueryFactory;
import org.apache.geode.cache.lucene.internal.distributed.TopEntries.EntryScoreComparator;
import org.apache.geode.cache.lucene.internal.repository.IndexResultCollector;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* An implementation of {@link CollectorManager} for managing {@link TopEntriesCollector}. This is
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunctionContext.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunctionContext.java
index 74fa1fe..6d568a3 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunctionContext.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunctionContext.java
@@ -21,8 +21,8 @@ import java.io.IOException;
import java.util.concurrent.TimeUnit;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Contains function arguments for WaitUntilFlushed
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/filesystem/ChunkKey.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/filesystem/ChunkKey.java
index b96f3cf..36a31e1 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/filesystem/ChunkKey.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/filesystem/ChunkKey.java
@@ -20,8 +20,8 @@ import java.io.DataOutput;
import java.io.IOException;
import java.util.UUID;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* The key for a single chunk on a file stored within a region.
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/filesystem/File.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/filesystem/File.java
index df86f7c..ef406a0 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/filesystem/File.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/filesystem/File.java
@@ -24,8 +24,8 @@ import java.util.UUID;
import org.apache.geode.DataSerializer;
import org.apache.geode.InternalGemFireError;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* A file that is stored in a Apache Geode region.
diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/results/PageResults.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/results/PageResults.java
index b6885ea..b8604bf 100644
--- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/results/PageResults.java
+++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/results/PageResults.java
@@ -19,8 +19,8 @@ import java.io.DataOutput;
import java.io.IOException;
import java.util.ArrayList;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class PageResults extends ArrayList<PageEntry> implements DataSerializableFixedID {
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionContextJUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionContextJUnitTest.java
index 872812a..38fc379 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionContextJUnitTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunctionContextJUnitTest.java
@@ -27,7 +27,7 @@ import org.apache.geode.cache.lucene.LuceneQueryProvider;
import org.apache.geode.cache.lucene.internal.LuceneServiceImpl;
import org.apache.geode.cache.lucene.internal.StringQueryProvider;
import org.apache.geode.cache.lucene.internal.repository.IndexResultCollector;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.test.junit.categories.LuceneTest;
@Category({LuceneTest.class})
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/results/PageEntryJUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/results/PageEntryJUnitTest.java
index f2e5ae6..88f9e4e 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/results/PageEntryJUnitTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/results/PageEntryJUnitTest.java
@@ -24,11 +24,11 @@ import java.util.Arrays;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.cache.CachedDeserializable;
import org.apache.geode.internal.cache.PreferBytesCachedDeserializable;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
import org.apache.geode.test.junit.categories.LuceneTest;
@Category({LuceneTest.class})
@@ -84,7 +84,7 @@ public class PageEntryJUnitTest {
entry.toData(out);
final byte[] bytes = out.toByteArray();
ByteArrayDataInput in = new ByteArrayDataInput();
- in.initialize(bytes, null);
+ in.initialize(bytes, (short) 0);
PageEntry newEntry = new PageEntry();
newEntry.fromData(in);
return newEntry;
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/results/PageResultsJUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/results/PageResultsJUnitTest.java
index 393b2e7..2c1289b 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/results/PageResultsJUnitTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/results/PageResultsJUnitTest.java
@@ -21,8 +21,8 @@ import java.io.IOException;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-import org.apache.geode.internal.DSFIDFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.InternalDataSerializer;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.util.BlobHelper;
import org.apache.geode.test.junit.categories.LuceneTest;
@@ -31,7 +31,9 @@ public class PageResultsJUnitTest {
@Test
public void serializationShouldNotChangeObject() throws IOException, ClassNotFoundException {
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LUCENE_PAGE_RESULTS, PageResults.class);
+ InternalDataSerializer
+ .getDSFIDSerializer()
+ .registerDSFID(DataSerializableFixedID.LUCENE_PAGE_RESULTS, PageResults.class);
PageResults results = new PageResults();
results.add(new PageEntry("key1", "value1"));
results.add(new PageEntry("key2", "value2"));
diff --git a/geode-old-client-support/src/distributedTest/java/org/apache/geode/OldClientSupportDUnitTest.java b/geode-old-client-support/src/distributedTest/java/org/apache/geode/OldClientSupportDUnitTest.java
index 2fbf452..4d21631 100644
--- a/geode-old-client-support/src/distributedTest/java/org/apache/geode/OldClientSupportDUnitTest.java
+++ b/geode-old-client-support/src/distributedTest/java/org/apache/geode/OldClientSupportDUnitTest.java
@@ -34,14 +34,14 @@ import org.apache.geode.distributed.ConfigurationProperties;
import org.apache.geode.distributed.internal.DistributedSystemService;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionConfigImpl;
-import org.apache.geode.internal.ByteArrayDataInput;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataInputStream;
-import org.apache.geode.internal.VersionedDataOutputStream;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.tier.sockets.OldClientSupportService;
+import org.apache.geode.internal.serialization.ByteArrayDataInput;
+import org.apache.geode.internal.serialization.VersionedDataInputStream;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
import org.apache.geode.test.junit.categories.SerializationTest;
@@ -109,7 +109,7 @@ public class OldClientSupportDUnitTest extends JUnit4CacheTestCase {
Version oldClientVersion = Version.GFE_82;
VersionedDataOutputStream dout = new VersionedDataOutputStream(
- new HeapDataOutputStream(10, oldClientVersion), oldClientVersion);
+ new HeapDataOutputStream(10, oldClientVersion), oldClientVersion.ordinal());
for (String geodeClassName : newArrayClassNames) {
String newName = oldClientSupport.processOutgoingClassName(geodeClassName, dout);
@@ -122,7 +122,7 @@ public class OldClientSupportDUnitTest extends JUnit4CacheTestCase {
}
VersionedDataInputStream din = new VersionedDataInputStream(
- new DataInputStream(new ByteArrayInputStream(new byte[10])), oldClientVersion);
+ new DataInputStream(new ByteArrayInputStream(new byte[10])), oldClientVersion.ordinal());
for (String oldClassName : oldArrayClassNames) {
String newName = oldClientSupport.processIncomingClassName(oldClassName, din);
@@ -198,7 +198,7 @@ public class OldClientSupportDUnitTest extends JUnit4CacheTestCase {
byte[] serializedForm = byteStream.toByteArray();
ByteArrayDataInput byteDataInput = new ByteArrayDataInput();
- byteDataInput.initialize(serializedForm, Version.GFE_82);
+ byteDataInput.initialize(serializedForm, Version.GFE_82.ordinal());
ClientSerializableObject result = DataSerializer.readObject(byteDataInput);
Assert.assertEquals("Expected an org.apache.geode exception but found " + result,
result.getClass().getName().substring(0, "org.apache.geode".length()), "org.apache.geode");
@@ -225,7 +225,7 @@ public class OldClientSupportDUnitTest extends JUnit4CacheTestCase {
byte[] serializedForm = byteStream.toByteArray();
ByteArrayDataInput byteDataInput = new ByteArrayDataInput();
- byteDataInput.initialize(serializedForm, Version.GFE_82);
+ byteDataInput.initialize(serializedForm, Version.GFE_82.ordinal());
Object result = DataSerializer.readObject(byteDataInput);
Assert.assertEquals("Expected an org.apache.geode object but found " + result,
result.getClass().getName().substring(0, "org.apache.geode".length()), "org.apache.geode");
@@ -249,7 +249,7 @@ public class OldClientSupportDUnitTest extends JUnit4CacheTestCase {
byte[] serializedForm = byteStream.toByteArray();
ByteArrayDataInput byteDataInput = new ByteArrayDataInput();
- byteDataInput.initialize(serializedForm, Version.GFE_82);
+ byteDataInput.initialize(serializedForm, Version.GFE_82.ordinal());
Object result = DataSerializer.readObject(byteDataInput);
Assert.assertEquals("Expected an org.apache.geode object but found " + result,
result.getClass().getName().substring(0, "org.apache.geode".length()), "org.apache.geode");
diff --git a/geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java b/geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java
index 1b3a9d2..d6878e4 100644
--- a/geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java
+++ b/geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java
@@ -23,10 +23,10 @@ import org.apache.geode.cache.Cache;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.Version;
-import org.apache.geode.internal.VersionedDataOutputStream;
import org.apache.geode.internal.cache.CacheService;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.tier.sockets.OldClientSupportService;
+import org.apache.geode.internal.serialization.VersionedDataOutputStream;
import org.apache.geode.management.internal.beans.CacheServiceMBeanBase;
import com.gemstone.gemfire.cache.execute.EmtpyRegionFunctionException;
@@ -106,7 +106,7 @@ public class OldClientSupportProvider implements OldClientSupportService {
// if the client is old then it needs com.gemstone.gemfire package names
if (out instanceof VersionedDataOutputStream) {
VersionedDataOutputStream vout = (VersionedDataOutputStream) out;
- Version version = vout.getVersion();
+ Version version = Version.getVersionForDataStream(vout);
if (version != null && version.compareTo(Version.GFE_90) < 0) {
return processClassName(name, GEODE, GEMFIRE, newClassNamesToOld);
}
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorJoinMessage.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorJoinMessage.java
index 68462aa..9cf87c8 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorJoinMessage.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorJoinMessage.java
@@ -20,8 +20,8 @@ import java.io.IOException;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.client.internal.locator.ServerLocationRequest;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.admin.remote.DistributionLocatorId;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class LocatorJoinMessage extends ServerLocationRequest {
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinRequest.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinRequest.java
index 1be44ed..07666af 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinRequest.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinRequest.java
@@ -19,9 +19,9 @@ import java.io.DataOutput;
import java.io.IOException;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.remote.DistributionLocatorId;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* Requests remote locators of a remote WAN site
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinResponse.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinResponse.java
index bcc7832..c57d897 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinResponse.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinResponse.java
@@ -23,9 +23,9 @@ import java.util.Set;
import org.apache.geode.DataSerializer;
import org.apache.geode.internal.CopyOnWriteHashSet;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
import org.apache.geode.internal.admin.remote.DistributionLocatorId;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
/**
* List of remote locators as a response
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorPingRequest.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorPingRequest.java
index 939ff3b..a5d49aa 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorPingRequest.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorPingRequest.java
@@ -18,8 +18,8 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class RemoteLocatorPingRequest implements DataSerializableFixedID {
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorPingResponse.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorPingResponse.java
index 7e735f5..64c58f3 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorPingResponse.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorPingResponse.java
@@ -18,8 +18,8 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class RemoteLocatorPingResponse implements DataSerializableFixedID {
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorRequest.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorRequest.java
index dc6fa8c..9f60127 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorRequest.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorRequest.java
@@ -18,8 +18,8 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class RemoteLocatorRequest implements DataSerializableFixedID {
private int distributedSystemId;
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorResponse.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorResponse.java
index 434a5fb..113d00c 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorResponse.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorResponse.java
@@ -20,8 +20,8 @@ import java.io.IOException;
import java.util.Set;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class RemoteLocatorResponse implements DataSerializableFixedID {
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/WANFactoryImpl.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/WANFactoryImpl.java
index 1687c5d..e026569 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/WANFactoryImpl.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/WANFactoryImpl.java
@@ -17,30 +17,37 @@ package org.apache.geode.cache.client.internal.locator.wan;
import org.apache.geode.cache.wan.GatewayReceiverFactory;
import org.apache.geode.cache.wan.GatewaySenderFactory;
import org.apache.geode.distributed.internal.WanLocatorDiscoverer;
-import org.apache.geode.internal.DSFIDFactory;
-import org.apache.geode.internal.DataSerializableFixedID;
+import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.wan.GatewayReceiverFactoryImpl;
import org.apache.geode.internal.cache.wan.GatewaySenderFactoryImpl;
import org.apache.geode.internal.cache.wan.spi.WANFactory;
+import org.apache.geode.internal.serialization.DataSerializableFixedID;
public class WANFactoryImpl implements WANFactory {
@Override
public void initialize() {
- DSFIDFactory.registerDSFID(DataSerializableFixedID.REMOTE_LOCATOR_JOIN_REQUEST,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.REMOTE_LOCATOR_JOIN_REQUEST,
RemoteLocatorJoinRequest.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.REMOTE_LOCATOR_JOIN_RESPONSE,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.REMOTE_LOCATOR_JOIN_RESPONSE,
RemoteLocatorJoinResponse.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.REMOTE_LOCATOR_REQUEST,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.REMOTE_LOCATOR_REQUEST,
RemoteLocatorRequest.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.LOCATOR_JOIN_MESSAGE,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.LOCATOR_JOIN_MESSAGE,
LocatorJoinMessage.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.REMOTE_LOCATOR_PING_REQUEST,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.REMOTE_LOCATOR_PING_REQUEST,
RemoteLocatorPingRequest.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.REMOTE_LOCATOR_PING_RESPONSE,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.REMOTE_LOCATOR_PING_RESPONSE,
RemoteLocatorPingResponse.class);
- DSFIDFactory.registerDSFID(DataSerializableFixedID.REMOTE_LOCATOR_RESPONSE,
+ InternalDataSerializer.getDSFIDSerializer().registerDSFID(
+ DataSerializableFixedID.REMOTE_LOCATOR_RESPONSE,
RemoteLocatorResponse.class);
}
diff --git a/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java b/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java
index 7a1c2e4..690f785 100644
--- a/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java
+++ b/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java
@@ -30,6 +30,7 @@ import org.springframework.util.Assert;
import org.apache.geode.cache.Region;
import org.apache.geode.internal.HeapDataOutputStream;
+import org.apache.geode.internal.Version;
/**
* The JSONUtils class is a utility class for getting JSON equivalent from Java types.
@@ -59,7 +60,7 @@ public abstract class JSONUtils {
public static String formulateJsonForListFunctionsCall(Set<String> functionIds) {
HeapDataOutputStream outputStream =
- new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
+ new HeapDataOutputStream(Version.CURRENT);
try {
JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
.createGenerator((OutputStream) outputStream, JsonEncoding.UTF8));
@@ -78,7 +79,7 @@ public abstract class JSONUtils {
public static String formulateJsonForListKeys(Object[] keys, String fieldName) {
HeapDataOutputStream outputStream =
- new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
+ new HeapDataOutputStream(Version.CURRENT);
try {
JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
@@ -98,7 +99,7 @@ public abstract class JSONUtils {
public static String formulateJsonForListRegions(Set<Region<?, ?>> regions, String fieldName) {
HeapDataOutputStream outputStream =
- new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
+ new HeapDataOutputStream(Version.CURRENT);
try {
JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
@@ -119,7 +120,7 @@ public abstract class JSONUtils {
public static String formulateJsonForListQueriesCall(Region<String, String> queryRegion) {
HeapDataOutputStream outputStream =
- new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
+ new HeapDataOutputStream(Version.CURRENT);
try {
JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
.createGenerator((OutputStream) outputStream, JsonEncoding.UTF8));
@@ -135,7 +136,7 @@ public abstract class JSONUtils {
public static String formulateJsonForExistingQuery(String queryId, String oql) {
HeapDataOutputStream outputStream =
- new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
+ new HeapDataOutputStream(Version.CURRENT);
try {
JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
@@ -152,7 +153,7 @@ public abstract class JSONUtils {
public static String convertCollectionToJson(Collection<Object> collection) {
HeapDataOutputStream outputStream =
- new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
+ new HeapDataOutputStream(Version.CURRENT);
try {
JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()