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 d26ae437fb7273dc71e63e254b3d051101693713
Author: Bruce Schuchardt <bschucha...@pivotal.io>
AuthorDate: Tue Aug 20 08:58:38 2019 -0700

    Proof of concept: Isolation of DataSerializableFixedID for use in
    membership
    
    InternalDataSerializer holds a DSFIDFactory instance and a
    DSFIDSerializer instance (which is also a DSFIDFactory).
    
    InternalDataSerializer registers Geode DSFID classes with the factory.
    InternalDataSerializer defers DSFID serialization/deserialization to
    DSFIDSerializer.
    
    Need to move registration of membership DSFID classes to that package
    and change GMS initialization to create a DSFIDSerializer if one isn't
    provided.  How do we pass in Geode's DSFIDSerializer?
    
    Just started figuring out how to provide a writeObject() method to the
    toData methods in DSFID classes and elsewhere.
    
    Need to enhance DSFID toData/fromData to provide serialization context.
    
    Exceptions still not isolated.
    
    Version still references classes outside of the serialization package.
---
 .../org/apache/geode/internal/DSFIDFactory.java    | 1054 +-------------------
 .../geode/internal/HeapDataOutputStream.java       |    5 +-
 .../BufferDataOutputStream.java}                   |   15 +-
 .../{ => serialization}/ByteBufferWriter.java      |    0
 .../geode/internal/{ => serialization}/DSCODE.java |    1 +
 .../DSFIDNotFoundException.java                    |    0
 .../internal/serialization/DSFIDSerializer.java    |  363 +++++++
 .../DataSerializableFixedID.java                   |    0
 .../{util => serialization}/DscodeHelper.java      |    2 +-
 .../ObjectSerializer.java}                         |   15 +-
 .../{ => serialization}/SerializationVersions.java |    2 +
 .../internal/{ => serialization}/Version.java      |    0
 .../VersionedDataInputStream.java                  |    2 +
 .../VersionedDataOutputStream.java                 |    2 +
 .../{ => serialization}/VersionedDataStream.java   |    2 +
 .../{ => serialization}/VersionedObjectInput.java  |    2 +
 .../{ => serialization}/VersionedObjectOutput.java |    2 +
 .../internal/HeapDataOutputStreamJUnitTest.java    |    4 +-
 .../geode/internal/HeapDataOutputStreamTest.java   |    4 +-
 .../internal/{ => serialization}/DSCODETest.java   |    1 +
 .../{ => serialization}/VersionJUnitTest.java      |    1 +
 21 files changed, 427 insertions(+), 1050 deletions(-)

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 1f0b447..2cb5ea1 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,454 +12,34 @@
  * 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 java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 
 import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
 
-import org.apache.geode.DataSerializer;
 import org.apache.geode.InternalGemFireError;
-import org.apache.geode.admin.internal.SystemMemberCacheEventProcessor;
-import org.apache.geode.admin.jmx.internal.StatAlertNotification;
 import org.apache.geode.annotations.Immutable;
-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.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;
+import org.apache.geode.internal.InternalDataSerializer;
 
 /**
- * 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
+ * Factory for instances of DataSerializableFixedID instances.  Constructors 
must be registered
+ * with this factory in order for it to deserialize anything.
  */
-public class DSFIDFactory implements DataSerializableFixedID {
-
-  private DSFIDFactory() {
-    // no instances allowed
-    throw new UnsupportedOperationException();
-  }
-
-  @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();
-  }
+public class DSFIDFactory {
 
   @Immutable
-  private static final Constructor<?>[] dsfidMap = new Constructor<?>[256];
+  private final Constructor<?>[] dsfidMap = new Constructor<?>[256];
 
   @Immutable("This maybe should be wrapped in an unmodifiableMap?")
-  private static final Int2ObjectOpenHashMap dsfidMap2 = new 
Int2ObjectOpenHashMap(800);
+  private final Int2ObjectOpenHashMap dsfidMap2 = new 
Int2ObjectOpenHashMap(800);
 
-  static {
-    registerDSFIDTypes();
-  }
 
   /** Register the constructor for a fixed ID class. */
-  public static void registerDSFID(int dsfid, Class dsfidClass) {
+  public void registerDSFID(int dsfid, Class dsfidClass) {
     try {
       Constructor<?> cons = dsfidClass.getConstructor((Class[]) null);
       cons.setAccessible(true);
@@ -477,610 +57,46 @@ public class DSFIDFactory implements 
DataSerializableFixedID {
     }
   }
 
-  public static void registerTypes() {
-    // nothing to do; static initializer will take care of the type 
registration
-  }
-
-  private static void registerDSFIDTypes() {
-    registerDSFID(FINAL_CHECK_PASSED_MESSAGE, FinalCheckPassedMessage.class);
-    registerDSFID(NETWORK_PARTITION_MESSAGE, NetworkPartitionMessage.class);
-    registerDSFID(REMOVE_MEMBER_REQUEST, RemoveMemberMessage.class);
-    registerDSFID(HEARTBEAT_REQUEST, HeartbeatRequestMessage.class);
-    registerDSFID(HEARTBEAT_RESPONSE, HeartbeatMessage.class);
-    registerDSFID(SUSPECT_MEMBERS_MESSAGE, SuspectMembersMessage.class);
-    registerDSFID(LEAVE_REQUEST_MESSAGE, LeaveRequestMessage.class);
-    registerDSFID(VIEW_ACK_MESSAGE, ViewAckMessage.class);
-    registerDSFID(INSTALL_VIEW_MESSAGE, InstallViewMessage.class);
-    registerDSFID(GMSMEMBER, GMSMember.class);
-    registerDSFID(NETVIEW, GMSMembershipView.class);
-    registerDSFID(GET_VIEW_REQ, GetViewRequest.class);
-    registerDSFID(GET_VIEW_RESP, GetViewResponse.class);
-    registerDSFID(FIND_COORDINATOR_REQ, FindCoordinatorRequest.class);
-    registerDSFID(FIND_COORDINATOR_RESP, FindCoordinatorResponse.class);
-    registerDSFID(JOIN_RESPONSE, JoinResponseMessage.class);
-    registerDSFID(JOIN_REQUEST, JoinRequestMessage.class);
-    registerDSFID(CLIENT_TOMBSTONE_MESSAGE, ClientTombstoneMessage.class);
-    registerDSFID(R_CLEAR_MSG, RemoteClearMessage.class);
-    registerDSFID(R_CLEAR_MSG_REPLY, RemoteClearReplyMessage.class);
-    registerDSFID(WAIT_FOR_VIEW_INSTALLATION, WaitForViewInstallation.class);
-    registerDSFID(DISPATCHED_AND_CURRENT_EVENTS, 
DispatchedAndCurrentEvents.class);
-    registerDSFID(DISTRIBUTED_MEMBER, InternalDistributedMember.class);
-    registerDSFID(UPDATE_MESSAGE, UpdateOperation.UpdateMessage.class);
-    registerDSFID(REPLY_MESSAGE, ReplyMessage.class);
-    registerDSFID(PR_DESTROY, DestroyMessage.class);
-    registerDSFID(CREATE_REGION_MESSAGE, 
CreateRegionProcessor.CreateRegionMessage.class);
-    registerDSFID(CREATE_REGION_REPLY_MESSAGE,
-        CreateRegionProcessor.CreateRegionReplyMessage.class);
-    registerDSFID(REGION_STATE_MESSAGE, 
InitialImageOperation.RegionStateMessage.class);
-    registerDSFID(QUERY_MESSAGE, 
SearchLoadAndWriteProcessor.QueryMessage.class);
-    registerDSFID(RESPONSE_MESSAGE, 
SearchLoadAndWriteProcessor.ResponseMessage.class);
-    registerDSFID(NET_SEARCH_REQUEST_MESSAGE,
-        SearchLoadAndWriteProcessor.NetSearchRequestMessage.class);
-    registerDSFID(NET_SEARCH_REPLY_MESSAGE,
-        SearchLoadAndWriteProcessor.NetSearchReplyMessage.class);
-    registerDSFID(NET_LOAD_REQUEST_MESSAGE,
-        SearchLoadAndWriteProcessor.NetLoadRequestMessage.class);
-    registerDSFID(NET_LOAD_REPLY_MESSAGE, 
SearchLoadAndWriteProcessor.NetLoadReplyMessage.class);
-    registerDSFID(NET_WRITE_REQUEST_MESSAGE,
-        SearchLoadAndWriteProcessor.NetWriteRequestMessage.class);
-    registerDSFID(NET_WRITE_REPLY_MESSAGE, 
SearchLoadAndWriteProcessor.NetWriteReplyMessage.class);
-    registerDSFID(DLOCK_REQUEST_MESSAGE, 
DLockRequestProcessor.DLockRequestMessage.class);
-    registerDSFID(DLOCK_RESPONSE_MESSAGE, 
DLockRequestProcessor.DLockResponseMessage.class);
-    registerDSFID(DLOCK_RELEASE_MESSAGE, 
DLockReleaseProcessor.DLockReleaseMessage.class);
-    registerDSFID(ADMIN_CACHE_EVENT_MESSAGE,
-        SystemMemberCacheEventProcessor.SystemMemberCacheMessage.class);
-    registerDSFID(CQ_ENTRY_EVENT, CqEntry.class);
-    registerDSFID(REQUEST_IMAGE_MESSAGE, 
InitialImageOperation.RequestImageMessage.class);
-    registerDSFID(IMAGE_REPLY_MESSAGE, 
InitialImageOperation.ImageReplyMessage.class);
-    registerDSFID(IMAGE_ENTRY, InitialImageOperation.Entry.class);
-    registerDSFID(CLOSE_CACHE_MESSAGE, CloseCacheMessage.class);
-    registerDSFID(NON_GRANTOR_DESTROYED_MESSAGE,
-        NonGrantorDestroyedProcessor.NonGrantorDestroyedMessage.class);
-    registerDSFID(DLOCK_RELEASE_REPLY, 
DLockReleaseProcessor.DLockReleaseReplyMessage.class);
-    registerDSFID(GRANTOR_REQUEST_MESSAGE, 
GrantorRequestProcessor.GrantorRequestMessage.class);
-    registerDSFID(GRANTOR_INFO_REPLY_MESSAGE,
-        GrantorRequestProcessor.GrantorInfoReplyMessage.class);
-    registerDSFID(ELDER_INIT_MESSAGE, 
ElderInitProcessor.ElderInitMessage.class);
-    registerDSFID(ELDER_INIT_REPLY_MESSAGE, 
ElderInitProcessor.ElderInitReplyMessage.class);
-    registerDSFID(DEPOSE_GRANTOR_MESSAGE, 
DeposeGrantorProcessor.DeposeGrantorMessage.class);
-    registerDSFID(STARTUP_MESSAGE, StartupMessage.class);
-    registerDSFID(STARTUP_RESPONSE_MESSAGE, StartupResponseMessage.class);
-    registerDSFID(STARTUP_RESPONSE_WITHVERSION_MESSAGE, 
StartupResponseWithVersionMessage.class);
-    registerDSFID(SHUTDOWN_MESSAGE, ShutdownMessage.class);
-    registerDSFID(DESTROY_REGION_MESSAGE, 
DestroyRegionOperation.DestroyRegionMessage.class);
-    registerDSFID(PR_PUTALL_MESSAGE, PutAllPRMessage.class);
-    registerDSFID(PR_REMOVE_ALL_MESSAGE, RemoveAllPRMessage.class);
-    registerDSFID(PR_REMOVE_ALL_REPLY_MESSAGE, 
RemoveAllPRMessage.RemoveAllReplyMessage.class);
-    registerDSFID(REMOTE_REMOVE_ALL_MESSAGE, RemoteRemoveAllMessage.class);
-    registerDSFID(REMOTE_REMOVE_ALL_REPLY_MESSAGE,
-        RemoteRemoveAllMessage.RemoveAllReplyMessage.class);
-    registerDSFID(DISTTX_ROLLBACK_MESSAGE, DistTXRollbackMessage.class);
-    registerDSFID(DISTTX_COMMIT_MESSAGE, DistTXCommitMessage.class);
-    registerDSFID(DISTTX_PRE_COMMIT_MESSAGE, DistTXPrecommitMessage.class);
-    registerDSFID(DISTTX_ROLLBACK_REPLY_MESSAGE,
-        DistTXRollbackMessage.DistTXRollbackReplyMessage.class);
-    registerDSFID(DISTTX_COMMIT_REPLY_MESSAGE, 
DistTXCommitMessage.DistTXCommitReplyMessage.class);
-    registerDSFID(DISTTX_PRE_COMMIT_REPLY_MESSAGE,
-        DistTXPrecommitMessage.DistTXPrecommitReplyMessage.class);
-    registerDSFID(PR_PUT_MESSAGE, PutMessage.class);
-    registerDSFID(INVALIDATE_MESSAGE, 
InvalidateOperation.InvalidateMessage.class);
-    registerDSFID(DESTROY_MESSAGE, DestroyOperation.DestroyMessage.class);
-    registerDSFID(DA_PROFILE, DistributionAdvisor.Profile.class);
-    registerDSFID(CACHE_PROFILE, CacheDistributionAdvisor.CacheProfile.class);
-    registerDSFID(HA_PROFILE, HARegion.HARegionAdvisor.HAProfile.class);
-    registerDSFID(ENTRY_EVENT, EntryEventImpl.class);
-    registerDSFID(UPDATE_ATTRIBUTES_MESSAGE,
-        UpdateAttributesProcessor.UpdateAttributesMessage.class);
-    registerDSFID(PROFILE_REPLY_MESSAGE, 
UpdateAttributesProcessor.ProfileReplyMessage.class);
-    registerDSFID(PROFILES_REPLY_MESSAGE, 
UpdateAttributesProcessor.ProfilesReplyMessage.class);
-    registerDSFID(REGION_EVENT, RegionEventImpl.class);
-    registerDSFID(TX_COMMIT_MESSAGE, TXCommitMessage.class);
-    registerDSFID(COMMIT_PROCESS_FOR_LOCKID_MESSAGE, 
CommitProcessForLockIdMessage.class);
-    registerDSFID(COMMIT_PROCESS_FOR_TXID_MESSAGE, 
CommitProcessForTXIdMessage.class);
-    registerDSFID(FILTER_PROFILE, FilterProfile.class);
-    registerDSFID(REMOTE_PUTALL_REPLY_MESSAGE, 
RemotePutAllMessage.PutAllReplyMessage.class);
-    registerDSFID(REMOTE_PUTALL_MESSAGE, RemotePutAllMessage.class);
-    registerDSFID(VERSION_TAG, VMVersionTag.class);
-    registerDSFID(ADD_CACHESERVER_PROFILE_UPDATE, 
AddCacheServerProfileMessage.class);
-    registerDSFID(REMOVE_CACHESERVER_PROFILE_UPDATE, 
RemoveCacheServerProfileMessage.class);
-    registerDSFID(SERVER_INTEREST_REGISTRATION_MESSAGE, 
ServerInterestRegistrationMessage.class);
-    registerDSFID(FILTER_PROFILE_UPDATE, FilterProfile.OperationMessage.class);
-    registerDSFID(PR_GET_MESSAGE, GetMessage.class);
-    registerDSFID(R_FETCH_ENTRY_MESSAGE, RemoteFetchEntryMessage.class);
-    registerDSFID(R_FETCH_ENTRY_REPLY_MESSAGE,
-        RemoteFetchEntryMessage.FetchEntryReplyMessage.class);
-    registerDSFID(R_CONTAINS_MESSAGE, RemoteContainsKeyValueMessage.class);
-    registerDSFID(R_CONTAINS_REPLY_MESSAGE,
-        
RemoteContainsKeyValueMessage.RemoteContainsKeyValueReplyMessage.class);
-    registerDSFID(R_DESTROY_MESSAGE, RemoteDestroyMessage.class);
-    registerDSFID(R_DESTROY_REPLY_MESSAGE, 
RemoteDestroyMessage.DestroyReplyMessage.class);
-    registerDSFID(R_INVALIDATE_MESSAGE, RemoteInvalidateMessage.class);
-    registerDSFID(R_INVALIDATE_REPLY_MESSAGE, 
RemoteInvalidateMessage.InvalidateReplyMessage.class);
-    registerDSFID(R_GET_MESSAGE, RemoteGetMessage.class);
-    registerDSFID(R_GET_REPLY_MESSAGE, RemoteGetMessage.GetReplyMessage.class);
-    registerDSFID(R_PUT_MESSAGE, RemotePutMessage.class);
-    registerDSFID(R_PUT_REPLY_MESSAGE, RemotePutMessage.PutReplyMessage.class);
-    registerDSFID(R_SIZE_MESSAGE, RemoteSizeMessage.class);
-    registerDSFID(R_SIZE_REPLY_MESSAGE, 
RemoteSizeMessage.SizeReplyMessage.class);
-    registerDSFID(PR_DESTROY_REPLY_MESSAGE, 
DestroyMessage.DestroyReplyMessage.class);
-    registerDSFID(CLI_FUNCTION_RESULT, CliFunctionResult.class);
-    registerDSFID(R_FETCH_KEYS_MESSAGE, RemoteFetchKeysMessage.class);
-    registerDSFID(R_FETCH_KEYS_REPLY, 
RemoteFetchKeysMessage.RemoteFetchKeysReplyMessage.class);
-    registerDSFID(R_REMOTE_COMMIT_REPLY_MESSAGE, 
TXRemoteCommitReplyMessage.class);
-    registerDSFID(TRANSACTION_LOCK_ID, TXLockIdImpl.class);
-    registerDSFID(PR_GET_REPLY_MESSAGE, GetReplyMessage.class);
-    registerDSFID(PR_NODE, Node.class);
-    registerDSFID(UPDATE_WITH_CONTEXT_MESSAGE, 
UpdateOperation.UpdateWithContextMessage.class);
-    registerDSFID(DESTROY_WITH_CONTEXT_MESSAGE, 
DestroyOperation.DestroyWithContextMessage.class);
-    registerDSFID(INVALIDATE_WITH_CONTEXT_MESSAGE,
-        InvalidateOperation.InvalidateWithContextMessage.class);
-    registerDSFID(REGION_VERSION_VECTOR, VMRegionVersionVector.class);
-    registerDSFID(CLIENT_PROXY_MEMBERSHIPID, ClientProxyMembershipID.class);
-    registerDSFID(EVENT_ID, EventID.class);
-    registerDSFID(CLIENT_UPDATE_MESSAGE, ClientUpdateMessageImpl.class);
-    registerDSFID(CLEAR_REGION_MESSAGE_WITH_CONTEXT, 
ClearRegionWithContextMessage.class);
-    registerDSFID(CLIENT_INSTANTIATOR_MESSAGE, 
ClientInstantiatorMessage.class);
-    registerDSFID(CLIENT_DATASERIALIZER_MESSAGE, 
ClientDataSerializerMessage.class);
-    registerDSFID(REGISTRATION_MESSAGE, 
InternalInstantiator.RegistrationMessage.class);
-    registerDSFID(REGISTRATION_CONTEXT_MESSAGE,
-        InternalInstantiator.RegistrationContextMessage.class);
-    registerDSFID(RESULTS_COLLECTION_WRAPPER, ResultsCollectionWrapper.class);
-    registerDSFID(RESULTS_SET, ResultsSet.class);
-    registerDSFID(SORTED_RESULT_SET, SortedResultSet.class);
-    registerDSFID(SORTED_STRUCT_SET, SortedStructSet.class);
-    registerDSFID(NWAY_MERGE_RESULTS, NWayMergeResults.class);
-    registerDSFID(CUMULATIVE_RESULTS, CumulativeNonDistinctResults.class);
-    registerDSFID(UNDEFINED, Undefined.class);
-    registerDSFID(STRUCT_IMPL, StructImpl.class);
-    registerDSFID(STRUCT_SET, StructSet.class);
-    registerDSFID(END_OF_BUCKET, PRQueryProcessor.EndOfBucket.class);
-    registerDSFID(STRUCT_BAG, StructBag.class);
-    registerDSFID(LINKED_RESULTSET, LinkedResultSet.class);
-    registerDSFID(LINKED_STRUCTSET, LinkedStructSet.class);
-    registerDSFID(PR_BUCKET_BACKUP_MESSAGE, BucketBackupMessage.class);
-    registerDSFID(PR_BUCKET_PROFILE_UPDATE_MESSAGE, 
BucketProfileUpdateMessage.class);
-    registerDSFID(PR_ALL_BUCKET_PROFILES_UPDATE_MESSAGE, 
AllBucketProfilesUpdateMessage.class);
-    registerDSFID(PR_BUCKET_SIZE_MESSAGE, BucketSizeMessage.class);
-    registerDSFID(PR_CONTAINS_KEY_VALUE_MESSAGE, 
ContainsKeyValueMessage.class);
-    registerDSFID(PR_DUMP_ALL_PR_CONFIG_MESSAGE, DumpAllPRConfigMessage.class);
-    registerDSFID(PR_DUMP_BUCKETS_MESSAGE, DumpBucketsMessage.class);
-    registerDSFID(PR_FETCH_ENTRIES_MESSAGE, FetchEntriesMessage.class);
-    registerDSFID(PR_FETCH_ENTRY_MESSAGE, FetchEntryMessage.class);
-    registerDSFID(PR_FETCH_KEYS_MESSAGE, FetchKeysMessage.class);
-    registerDSFID(PR_FLUSH_MESSAGE, FlushMessage.class);
-    registerDSFID(PR_IDENTITY_REQUEST_MESSAGE, IdentityRequestMessage.class);
-    registerDSFID(PR_IDENTITY_UPDATE_MESSAGE, IdentityUpdateMessage.class);
-    registerDSFID(PR_INDEX_CREATION_MSG, IndexCreationMsg.class);
-    registerDSFID(PR_MANAGE_BUCKET_MESSAGE, ManageBucketMessage.class);
-    registerDSFID(PR_PRIMARY_REQUEST_MESSAGE, PrimaryRequestMessage.class);
-    registerDSFID(PR_PRIMARY_REQUEST_REPLY_MESSAGE, 
PrimaryRequestReplyMessage.class);
-    registerDSFID(PR_SANITY_CHECK_MESSAGE, PRSanityCheckMessage.class);
-    registerDSFID(PR_PUTALL_REPLY_MESSAGE, PutAllReplyMessage.class);
-    registerDSFID(PR_PUT_REPLY_MESSAGE, PutReplyMessage.class);
-    registerDSFID(PR_QUERY_MESSAGE, QueryMessage.class);
-    registerDSFID(PR_REMOVE_INDEXES_MESSAGE, RemoveIndexesMessage.class);
-    registerDSFID(PR_REMOVE_INDEXES_REPLY_MESSAGE, 
RemoveIndexesReplyMessage.class);
-    registerDSFID(PR_SIZE_MESSAGE, SizeMessage.class);
-    registerDSFID(PR_SIZE_REPLY_MESSAGE, SizeReplyMessage.class);
-    registerDSFID(PR_BUCKET_SIZE_REPLY_MESSAGE, BucketSizeReplyMessage.class);
-    registerDSFID(PR_CONTAINS_KEY_VALUE_REPLY_MESSAGE, 
ContainsKeyValueReplyMessage.class);
-    registerDSFID(PR_FETCH_ENTRIES_REPLY_MESSAGE, 
FetchEntriesReplyMessage.class);
-    registerDSFID(PR_FETCH_ENTRY_REPLY_MESSAGE, FetchEntryReplyMessage.class);
-    registerDSFID(PR_IDENTITY_REPLY_MESSAGE, IdentityReplyMessage.class);
-    registerDSFID(PR_INDEX_CREATION_REPLY_MSG, IndexCreationReplyMsg.class);
-    registerDSFID(PR_MANAGE_BUCKET_REPLY_MESSAGE, 
ManageBucketReplyMessage.class);
-    registerDSFID(PR_FETCH_KEYS_REPLY_MESSAGE, FetchKeysReplyMessage.class);
-    registerDSFID(PR_DUMP_B2N_REGION_MSG, DumpB2NRegion.class);
-    registerDSFID(PR_DUMP_B2N_REPLY_MESSAGE, DumpB2NReplyMessage.class);
-    registerDSFID(DESTROY_PARTITIONED_REGION_MESSAGE, 
DestroyPartitionedRegionMessage.class);
-    registerDSFID(INVALIDATE_PARTITIONED_REGION_MESSAGE, 
InvalidatePartitionedRegionMessage.class);
-    registerDSFID(COMMIT_PROCESS_QUERY_MESSAGE, 
CommitProcessQueryMessage.class);
-    registerDSFID(COMMIT_PROCESS_QUERY_REPLY_MESSAGE, 
CommitProcessQueryReplyMessage.class);
-    registerDSFID(DESTROY_REGION_WITH_CONTEXT_MESSAGE,
-        DestroyRegionOperation.DestroyRegionWithContextMessage.class);
-    registerDSFID(PUT_ALL_MESSAGE, PutAllMessage.class);
-    registerDSFID(REMOVE_ALL_MESSAGE, RemoveAllMessage.class);
-    registerDSFID(CLEAR_REGION_MESSAGE, ClearRegionMessage.class);
-    registerDSFID(TOMBSTONE_MESSAGE, TombstoneMessage.class);
-    registerDSFID(INVALIDATE_REGION_MESSAGE, InvalidateRegionMessage.class);
-    registerDSFID(STATE_MARKER_MESSAGE, StateMarkerMessage.class);
-    registerDSFID(STATE_STABILIZATION_MESSAGE, 
StateStabilizationMessage.class);
-    registerDSFID(STATE_STABILIZED_MESSAGE, StateStabilizedMessage.class);
-    registerDSFID(CLIENT_MARKER_MESSAGE_IMPL, ClientMarkerMessageImpl.class);
-    registerDSFID(TX_LOCK_UPDATE_PARTICIPANTS_MESSAGE, 
TXLockUpdateParticipantsMessage.class);
-    registerDSFID(TX_ORIGINATOR_RECOVERY_MESSAGE, 
TXOriginatorRecoveryMessage.class);
-    registerDSFID(TX_ORIGINATOR_RECOVERY_REPLY_MESSAGE, 
TXOriginatorRecoveryReplyMessage.class);
-    registerDSFID(TX_REMOTE_COMMIT_MESSAGE, TXRemoteCommitMessage.class);
-    registerDSFID(TX_REMOTE_ROLLBACK_MESSAGE, TXRemoteRollbackMessage.class);
-    registerDSFID(JTA_BEFORE_COMPLETION_MESSAGE, 
JtaBeforeCompletionMessage.class);
-    registerDSFID(JTA_AFTER_COMPLETION_MESSAGE, 
JtaAfterCompletionMessage.class);
-    registerDSFID(QUEUE_REMOVAL_MESSAGE, QueueRemovalMessage.class);
-    registerDSFID(DLOCK_RECOVER_GRANTOR_MESSAGE, 
DLockRecoverGrantorMessage.class);
-    registerDSFID(DLOCK_RECOVER_GRANTOR_REPLY_MESSAGE, 
DLockRecoverGrantorReplyMessage.class);
-    registerDSFID(NON_GRANTOR_DESTROYED_REPLY_MESSAGE, 
NonGrantorDestroyedReplyMessage.class);
-    registerDSFID(IDS_REGISTRATION_MESSAGE, 
InternalDataSerializer.RegistrationMessage.class);
-    registerDSFID(PR_FETCH_PARTITION_DETAILS_MESSAGE, 
FetchPartitionDetailsMessage.class);
-    registerDSFID(PR_FETCH_PARTITION_DETAILS_REPLY, 
FetchPartitionDetailsReplyMessage.class);
-    registerDSFID(PR_DEPOSE_PRIMARY_BUCKET_MESSAGE, 
DeposePrimaryBucketMessage.class);
-    registerDSFID(PR_DEPOSE_PRIMARY_BUCKET_REPLY, 
DeposePrimaryBucketReplyMessage.class);
-    registerDSFID(PR_BECOME_PRIMARY_BUCKET_MESSAGE, 
BecomePrimaryBucketMessage.class);
-    registerDSFID(PR_BECOME_PRIMARY_BUCKET_REPLY, 
BecomePrimaryBucketReplyMessage.class);
-    registerDSFID(PR_REMOVE_BUCKET_MESSAGE, RemoveBucketMessage.class);
-    registerDSFID(EXPIRE_CLIENT_TRANSACTIONS, 
ExpireDisconnectedClientTransactionsMessage.class);
-    registerDSFID(PR_REMOVE_BUCKET_REPLY, RemoveBucketReplyMessage.class);
-    registerDSFID(PR_MOVE_BUCKET_MESSAGE, MoveBucketMessage.class);
-    registerDSFID(PR_MOVE_BUCKET_REPLY, MoveBucketReplyMessage.class);
-    registerDSFID(ADD_HEALTH_LISTENER_REQUEST, AddHealthListenerRequest.class);
-    registerDSFID(ADD_HEALTH_LISTENER_RESPONSE, 
AddHealthListenerResponse.class);
-    registerDSFID(ADD_STAT_LISTENER_REQUEST, AddStatListenerRequest.class);
-    registerDSFID(ADD_STAT_LISTENER_RESPONSE, AddStatListenerResponse.class);
-    registerDSFID(ADMIN_CONSOLE_DISCONNECT_MESSAGE, 
AdminConsoleDisconnectMessage.class);
-    registerDSFID(ADMIN_CONSOLE_MESSAGE, AdminConsoleMessage.class);
-    registerDSFID(MANAGER_STARTUP_MESSAGE, ManagerStartupMessage.class);
-    registerDSFID(JMX_MANAGER_LOCATOR_REQUEST, JmxManagerLocatorRequest.class);
-    registerDSFID(JMX_MANAGER_LOCATOR_RESPONSE, 
JmxManagerLocatorResponse.class);
-    registerDSFID(ADMIN_FAILURE_RESPONSE, AdminFailureResponse.class);
-    registerDSFID(ALERT_LEVEL_CHANGE_MESSAGE, AlertLevelChangeMessage.class);
-    registerDSFID(ALERT_LISTENER_MESSAGE, AlertListenerMessage.class);
-    registerDSFID(APP_CACHE_SNAPSHOT_MESSAGE, AppCacheSnapshotMessage.class);
-    registerDSFID(BRIDGE_SERVER_REQUEST, BridgeServerRequest.class);
-    registerDSFID(BRIDGE_SERVER_RESPONSE, BridgeServerResponse.class);
-    registerDSFID(CACHE_CONFIG_REQUEST, CacheConfigRequest.class);
-    registerDSFID(CACHE_CONFIG_RESPONSE, CacheConfigResponse.class);
-    registerDSFID(CACHE_INFO_REQUEST, CacheInfoRequest.class);
-    registerDSFID(CACHE_INFO_RESPONSE, CacheInfoResponse.class);
-    registerDSFID(CANCELLATION_MESSAGE, CancellationMessage.class);
-    registerDSFID(CANCEL_STAT_LISTENER_REQUEST, 
CancelStatListenerRequest.class);
-    registerDSFID(CANCEL_STAT_LISTENER_RESPONSE, 
CancelStatListenerResponse.class);
-    registerDSFID(DESTROY_ENTRY_MESSAGE, DestroyEntryMessage.class);
-    registerDSFID(ADMIN_DESTROY_REGION_MESSAGE, DestroyRegionMessage.class);
-    registerDSFID(FETCH_DIST_LOCK_INFO_REQUEST, 
FetchDistLockInfoRequest.class);
-    registerDSFID(FETCH_DIST_LOCK_INFO_RESPONSE, 
FetchDistLockInfoResponse.class);
-    registerDSFID(FETCH_HEALTH_DIAGNOSIS_REQUEST, 
FetchHealthDiagnosisRequest.class);
-    registerDSFID(FETCH_HEALTH_DIAGNOSIS_RESPONSE, 
FetchHealthDiagnosisResponse.class);
-    registerDSFID(FETCH_HOST_REQUEST, FetchHostRequest.class);
-    registerDSFID(FETCH_HOST_RESPONSE, FetchHostResponse.class);
-    registerDSFID(FETCH_RESOURCE_ATTRIBUTES_REQUEST, 
FetchResourceAttributesRequest.class);
-    registerDSFID(FETCH_RESOURCE_ATTRIBUTES_RESPONSE, 
FetchResourceAttributesResponse.class);
-    registerDSFID(FETCH_STATS_REQUEST, FetchStatsRequest.class);
-    registerDSFID(FETCH_STATS_RESPONSE, FetchStatsResponse.class);
-    registerDSFID(FETCH_SYS_CFG_REQUEST, FetchSysCfgRequest.class);
-    registerDSFID(FETCH_SYS_CFG_RESPONSE, FetchSysCfgResponse.class);
-    registerDSFID(FLUSH_APP_CACHE_SNAPSHOT_MESSAGE, 
FlushAppCacheSnapshotMessage.class);
-    registerDSFID(HEALTH_LISTENER_MESSAGE, HealthListenerMessage.class);
-    registerDSFID(OBJECT_DETAILS_REQUEST, ObjectDetailsRequest.class);
-    registerDSFID(OBJECT_DETAILS_RESPONSE, ObjectDetailsResponse.class);
-    registerDSFID(OBJECT_NAMES_REQUEST, ObjectNamesRequest.class);
-    registerDSFID(LICENSE_INFO_REQUEST, LicenseInfoRequest.class);
-    registerDSFID(LICENSE_INFO_RESPONSE, LicenseInfoResponse.class);
-    registerDSFID(OBJECT_NAMES_RESPONSE, ObjectNamesResponse.class);
-    registerDSFID(REGION_ATTRIBUTES_REQUEST, RegionAttributesRequest.class);
-    registerDSFID(REGION_ATTRIBUTES_RESPONSE, RegionAttributesResponse.class);
-    registerDSFID(REGION_REQUEST, RegionRequest.class);
-    registerDSFID(REGION_RESPONSE, RegionResponse.class);
-    registerDSFID(REGION_SIZE_REQUEST, RegionSizeRequest.class);
-    registerDSFID(REGION_SIZE_RESPONSE, RegionSizeResponse.class);
-    registerDSFID(REGION_STATISTICS_REQUEST, RegionStatisticsRequest.class);
-    registerDSFID(REGION_STATISTICS_RESPONSE, RegionStatisticsResponse.class);
-    registerDSFID(REMOVE_HEALTH_LISTENER_REQUEST, 
RemoveHealthListenerRequest.class);
-    registerDSFID(REMOVE_HEALTH_LISTENER_RESPONSE, 
RemoveHealthListenerResponse.class);
-    registerDSFID(RESET_HEALTH_STATUS_REQUEST, ResetHealthStatusRequest.class);
-    registerDSFID(RESET_HEALTH_STATUS_RESPONSE, 
ResetHealthStatusResponse.class);
-    registerDSFID(ROOT_REGION_REQUEST, RootRegionRequest.class);
-    registerDSFID(ROOT_REGION_RESPONSE, RootRegionResponse.class);
-    registerDSFID(SNAPSHOT_RESULT_MESSAGE, SnapshotResultMessage.class);
-    registerDSFID(STAT_LISTENER_MESSAGE, StatListenerMessage.class);
-    registerDSFID(STORE_SYS_CFG_REQUEST, StoreSysCfgRequest.class);
-    registerDSFID(STORE_SYS_CFG_RESPONSE, StoreSysCfgResponse.class);
-    registerDSFID(SUB_REGION_REQUEST, SubRegionRequest.class);
-    registerDSFID(SUB_REGION_RESPONSE, SubRegionResponse.class);
-    registerDSFID(TAIL_LOG_REQUEST, TailLogRequest.class);
-    registerDSFID(TAIL_LOG_RESPONSE, TailLogResponse.class);
-    registerDSFID(VERSION_INFO_REQUEST, VersionInfoRequest.class);
-    registerDSFID(VERSION_INFO_RESPONSE, VersionInfoResponse.class);
-    registerDSFID(HIGH_PRIORITY_ACKED_MESSAGE, HighPriorityAckedMessage.class);
-    registerDSFID(SERIAL_ACKED_MESSAGE, SerialAckedMessage.class);
-    registerDSFID(BUCKET_PROFILE, BucketAdvisor.BucketProfile.class);
-    registerDSFID(SERVER_BUCKET_PROFILE, 
BucketAdvisor.ServerBucketProfile.class);
-    registerDSFID(PARTITION_PROFILE, RegionAdvisor.PartitionProfile.class);
-    registerDSFID(GATEWAY_SENDER_PROFILE, 
GatewaySenderAdvisor.GatewaySenderProfile.class);
-    registerDSFID(ROLE_EVENT, RoleEventImpl.class);
-    registerDSFID(CLIENT_REGION_EVENT, ClientRegionEventImpl.class);
-    registerDSFID(PR_INVALIDATE_MESSAGE, InvalidateMessage.class);
-    registerDSFID(PR_INVALIDATE_REPLY_MESSAGE, 
InvalidateMessage.InvalidateReplyMessage.class);
-    registerDSFID(TX_LOCK_UPDATE_PARTICIPANTS_REPLY_MESSAGE,
-        TXLockUpdateParticipantsReplyMessage.class);
-    registerDSFID(STREAMING_REPLY_MESSAGE, StreamingReplyMessage.class);
-    registerDSFID(PARTITION_REGION_CONFIG, PartitionRegionConfig.class);
-    registerDSFID(PREFER_BYTES_CACHED_DESERIALIZABLE, 
PreferBytesCachedDeserializable.class);
-    registerDSFID(VM_CACHED_DESERIALIZABLE, VMCachedDeserializable.class);
-    registerDSFID(GATEWAY_SENDER_EVENT_IMPL, GatewaySenderEventImpl.class);
-    registerDSFID(SUSPEND_LOCKING_TOKEN, 
DLockService.SuspendLockingToken.class);
-    registerDSFID(OBJECT_TYPE_IMPL, ObjectTypeImpl.class);
-    registerDSFID(STRUCT_TYPE_IMPL, StructTypeImpl.class);
-    registerDSFID(COLLECTION_TYPE_IMPL, CollectionTypeImpl.class);
-    registerDSFID(TX_LOCK_BATCH, TXLockBatch.class);
-    registerDSFID(GATEWAY_SENDER_EVENT_CALLBACK_ARGUMENT, 
GatewaySenderEventCallbackArgument.class);
-    registerDSFID(MAP_TYPE_IMPL, MapTypeImpl.class);
-    registerDSFID(STORE_ALL_CACHED_DESERIALIZABLE, 
StoreAllCachedDeserializable.class);
-    registerDSFID(INTEREST_EVENT_MESSAGE, InterestEventMessage.class);
-    registerDSFID(INTEREST_EVENT_REPLY_MESSAGE, 
InterestEventReplyMessage.class);
-    registerDSFID(HA_EVENT_WRAPPER, HAEventWrapper.class);
-    registerDSFID(STAT_ALERTS_MGR_ASSIGN_MESSAGE, 
StatAlertsManagerAssignMessage.class);
-    registerDSFID(UPDATE_ALERTS_DEFN_MESSAGE, 
UpdateAlertDefinitionMessage.class);
-    registerDSFID(REFRESH_MEMBER_SNAP_REQUEST, 
RefreshMemberSnapshotRequest.class);
-    registerDSFID(REFRESH_MEMBER_SNAP_RESPONSE, 
RefreshMemberSnapshotResponse.class);
-    registerDSFID(REGION_SUB_SIZE_REQUEST, RegionSubRegionSizeRequest.class);
-    registerDSFID(REGION_SUB_SIZE_RESPONSE, 
RegionSubRegionsSizeResponse.class);
-    registerDSFID(CHANGE_REFRESH_INT_MESSAGE, 
ChangeRefreshIntervalMessage.class);
-    registerDSFID(ALERTS_NOTIF_MESSAGE, AlertsNotificationMessage.class);
-    registerDSFID(FIND_DURABLE_QUEUE, FindDurableQueueMessage.class);
-    registerDSFID(FIND_DURABLE_QUEUE_REPLY, FindDurableQueueReply.class);
-    registerDSFID(CACHE_SERVER_LOAD_MESSAGE, CacheServerLoadMessage.class);
-    registerDSFID(CACHE_SERVER_PROFILE, CacheServerProfile.class);
-    registerDSFID(CONTROLLER_PROFILE, ControllerProfile.class);
-    registerDSFID(DLOCK_QUERY_MESSAGE, 
DLockQueryProcessor.DLockQueryMessage.class);
-    registerDSFID(DLOCK_QUERY_REPLY, 
DLockQueryProcessor.DLockQueryReplyMessage.class);
-    registerDSFID(LOCATOR_LIST_REQUEST, LocatorListRequest.class);
-    registerDSFID(LOCATOR_LIST_RESPONSE, LocatorListResponse.class);
-    registerDSFID(CLIENT_CONNECTION_REQUEST, ClientConnectionRequest.class);
-    registerDSFID(CLIENT_CONNECTION_RESPONSE, ClientConnectionResponse.class);
-    registerDSFID(QUEUE_CONNECTION_REQUEST, QueueConnectionRequest.class);
-    registerDSFID(QUEUE_CONNECTION_RESPONSE, QueueConnectionResponse.class);
-    registerDSFID(CLIENT_REPLACEMENT_REQUEST, ClientReplacementRequest.class);
-    registerDSFID(OBJECT_PART_LIST, ObjectPartList.class);
-    registerDSFID(VERSIONED_OBJECT_LIST, VersionedObjectList.class);
-    registerDSFID(OBJECT_PART_LIST66, ObjectPartList651.class);
-    registerDSFID(PUTALL_VERSIONS_LIST, EntryVersionsList.class);
-    registerDSFID(INITIAL_IMAGE_VERSIONED_OBJECT_LIST, 
InitialImageVersionedEntryList.class);
-    registerDSFID(FIND_VERSION_TAG, FindVersionTagMessage.class);
-    registerDSFID(VERSION_TAG_REPLY, VersionTagReply.class);
-    registerDSFID(DURABLE_CLIENT_INFO_REQUEST, DurableClientInfoRequest.class);
-    registerDSFID(DURABLE_CLIENT_INFO_RESPONSE, 
DurableClientInfoResponse.class);
-    registerDSFID(CLIENT_INTEREST_MESSAGE, ClientInterestMessageImpl.class);
-    registerDSFID(LATEST_LAST_ACCESS_TIME_MESSAGE, 
LatestLastAccessTimeMessage.class);
-    registerDSFID(STAT_ALERT_DEFN_NUM_THRESHOLD, 
NumberThresholdDecoratorImpl.class);
-    registerDSFID(STAT_ALERT_DEFN_GAUGE_THRESHOLD, 
GaugeThresholdDecoratorImpl.class);
-    registerDSFID(CLIENT_HEALTH_STATS, ClientHealthStats.class);
-    registerDSFID(STAT_ALERT_NOTIFICATION, StatAlertNotification.class);
-    registerDSFID(FILTER_INFO_MESSAGE, 
InitialImageOperation.FilterInfoMessage.class);
-    registerDSFID(SIZED_BASED_LOAD_PROBE, SizedBasedLoadProbe.class);
-    registerDSFID(PR_MANAGE_BACKUP_BUCKET_MESSAGE, 
ManageBackupBucketMessage.class);
-    registerDSFID(PR_MANAGE_BACKUP_BUCKET_REPLY_MESSAGE, 
ManageBackupBucketReplyMessage.class);
-    registerDSFID(PR_CREATE_BUCKET_MESSAGE, CreateBucketMessage.class);
-    registerDSFID(PR_CREATE_BUCKET_REPLY_MESSAGE, 
CreateBucketReplyMessage.class);
-    registerDSFID(RESOURCE_MANAGER_PROFILE, ResourceManagerProfile.class);
-    registerDSFID(RESOURCE_PROFILE_MESSAGE, ResourceProfileMessage.class);
-    registerDSFID(JMX_MANAGER_PROFILE, JmxManagerProfile.class);
-    registerDSFID(JMX_MANAGER_PROFILE_MESSAGE, JmxManagerProfileMessage.class);
-    registerDSFID(CLIENT_DENYLIST_MESSAGE, ClientDenylistMessage.class);
-    registerDSFID(REMOVE_CLIENT_FROM_DENYLIST_MESSAGE, 
RemoveClientFromDenylistMessage.class);
-    registerDSFID(PR_FUNCTION_STREAMING_MESSAGE, 
PartitionedRegionFunctionStreamingMessage.class);
-    registerDSFID(MEMBER_FUNCTION_STREAMING_MESSAGE, 
MemberFunctionStreamingMessage.class);
-    registerDSFID(DR_FUNCTION_STREAMING_MESSAGE, 
DistributedRegionFunctionStreamingMessage.class);
-    registerDSFID(FUNCTION_STREAMING_REPLY_MESSAGE, 
FunctionStreamingReplyMessage.class);
-    registerDSFID(GET_ALL_SERVERS_REQUEST, GetAllServersRequest.class);
-    registerDSFID(GET_ALL_SERVRES_RESPONSE, GetAllServersResponse.class);
-    registerDSFID(PERSISTENT_MEMBERSHIP_VIEW_REQUEST, 
MembershipViewRequest.class);
-    registerDSFID(PERSISTENT_MEMBERSHIP_VIEW_REPLY, 
MembershipViewReplyMessage.class);
-    registerDSFID(PERSISTENT_STATE_QUERY_REQUEST, 
PersistentStateQueryMessage.class);
-    registerDSFID(PERSISTENT_STATE_QUERY_REPLY, 
PersistentStateQueryReplyMessage.class);
-    registerDSFID(PREPARE_NEW_PERSISTENT_MEMBER_REQUEST, 
PrepareNewPersistentMemberMessage.class);
-    registerDSFID(MISSING_PERSISTENT_IDS_REQUEST, 
MissingPersistentIDsRequest.class);
-    registerDSFID(MISSING_PERSISTENT_IDS_RESPONSE, 
MissingPersistentIDsResponse.class);
-    registerDSFID(REVOKE_PERSISTENT_ID_REQUEST, 
RevokePersistentIDRequest.class);
-    registerDSFID(REVOKE_PERSISTENT_ID_RESPONSE, 
RevokePersistentIDResponse.class);
-    registerDSFID(REMOVE_PERSISTENT_MEMBER_REQUEST, 
RemovePersistentMemberMessage.class);
-    registerDSFID(FUNCTION_STREAMING_ORDERED_REPLY_MESSAGE,
-        FunctionStreamingOrderedReplyMessage.class);
-    registerDSFID(REQUEST_SYNC_MESSAGE, 
InitialImageOperation.RequestSyncMessage.class);
-    registerDSFID(PERSISTENT_MEMBERSHIP_FLUSH_REQUEST, 
MembershipFlushRequest.class);
-    registerDSFID(SHUTDOWN_ALL_REQUEST, ShutdownAllRequest.class);
-    registerDSFID(SHUTDOWN_ALL_RESPONSE, ShutdownAllResponse.class);
-    registerDSFID(CLIENT_MEMBERSHIP_MESSAGE, ClientMembershipMessage.class);
-    registerDSFID(END_BUCKET_CREATION_MESSAGE, EndBucketCreationMessage.class);
-    registerDSFID(PREPARE_BACKUP_REQUEST, PrepareBackupRequest.class);
-    registerDSFID(BACKUP_RESPONSE, BackupResponse.class); // in older versions 
this was
-                                                          // 
FinishBackupResponse which is
-                                                          // compatible
-    registerDSFID(FINISH_BACKUP_REQUEST, FinishBackupRequest.class);
-    registerDSFID(FINISH_BACKUP_RESPONSE, BackupResponse.class); // for 
backwards compatibility map
-                                                                 // 
FINISH_BACKUP_RESPONSE to
-                                                                 // 
BackupResponse
-    registerDSFID(COMPACT_REQUEST, CompactRequest.class);
-    registerDSFID(COMPACT_RESPONSE, CompactResponse.class);
-    registerDSFID(FLOW_CONTROL_PERMIT_MESSAGE, FlowControlPermitMessage.class);
-    registerDSFID(REQUEST_FILTERINFO_MESSAGE, 
InitialImageOperation.RequestFilterInfoMessage.class);
-    registerDSFID(PARALLEL_QUEUE_REMOVAL_MESSAGE, 
ParallelQueueRemovalMessage.class);
-    registerDSFID(BATCH_DESTROY_MESSAGE, 
BatchDestroyOperation.DestroyMessage.class);
-    registerDSFID(FIND_REMOTE_TX_MESSAGE, FindRemoteTXMessage.class);
-    registerDSFID(FIND_REMOTE_TX_REPLY, FindRemoteTXMessageReply.class);
-    registerDSFID(SERIALIZED_OBJECT_PART_LIST, SerializedObjectPartList.class);
-    registerDSFID(FLUSH_TO_DISK_REQUEST, FlushToDiskRequest.class);
-    registerDSFID(FLUSH_TO_DISK_RESPONSE, FlushToDiskResponse.class);
-    registerDSFID(ENUM_ID, EnumId.class);
-    registerDSFID(ENUM_INFO, EnumInfo.class);
-    registerDSFID(CHECK_TYPE_REGISTRY_STATE, CheckTypeRegistryState.class);
-    registerDSFID(PREPARE_REVOKE_PERSISTENT_ID_REQUEST, 
PrepareRevokePersistentIDRequest.class);
-    registerDSFID(PERSISTENT_RVV, DiskRegionVersionVector.class);
-    registerDSFID(PERSISTENT_VERSION_TAG, DiskVersionTag.class);
-    registerDSFID(DISK_STORE_ID, DiskStoreID.class);
-    registerDSFID(CLIENT_PING_MESSAGE_IMPL, ClientPingMessageImpl.class);
-    registerDSFID(SNAPSHOT_PACKET, SnapshotPacket.class);
-    registerDSFID(SNAPSHOT_RECORD, SnapshotRecord.class);
-    registerDSFID(FLOW_CONTROL_ACK, FlowControlAckMessage.class);
-    registerDSFID(FLOW_CONTROL_ABORT, FlowControlAbortMessage.class);
-    registerDSFID(MGMT_COMPACT_REQUEST,
-        org.apache.geode.management.internal.messages.CompactRequest.class);
-    registerDSFID(MGMT_COMPACT_RESPONSE,
-        org.apache.geode.management.internal.messages.CompactResponse.class);
-    registerDSFID(MGMT_FEDERATION_COMPONENT,
-        org.apache.geode.management.internal.FederationComponent.class);
-    registerDSFID(LOCATOR_STATUS_REQUEST, LocatorStatusRequest.class);
-    registerDSFID(LOCATOR_STATUS_RESPONSE, LocatorStatusResponse.class);
-    registerDSFID(R_FETCH_VERSION_MESSAGE, RemoteFetchVersionMessage.class);
-    registerDSFID(R_FETCH_VERSION_REPLY, 
RemoteFetchVersionMessage.FetchVersionReplyMessage.class);
-    registerDSFID(RELEASE_CLEAR_LOCK_MESSAGE, ReleaseClearLockMessage.class);
-    registerDSFID(PR_TOMBSTONE_MESSAGE, PRTombstoneMessage.class);
-    registerDSFID(REQUEST_RVV_MESSAGE, 
InitialImageOperation.RequestRVVMessage.class);
-    registerDSFID(RVV_REPLY_MESSAGE, 
InitialImageOperation.RVVReplyMessage.class);
-    registerDSFID(SNAPPY_COMPRESSED_CACHED_DESERIALIZABLE,
-        SnappyCompressedCachedDeserializable.class);
-    registerDSFID(UPDATE_ENTRY_VERSION_MESSAGE, 
UpdateEntryVersionMessage.class);
-    registerDSFID(PR_UPDATE_ENTRY_VERSION_MESSAGE, 
PRUpdateEntryVersionMessage.class);
-    registerDSFID(PR_FETCH_BULK_ENTRIES_MESSAGE, 
FetchBulkEntriesMessage.class);
-    registerDSFID(PR_FETCH_BULK_ENTRIES_REPLY_MESSAGE, 
FetchBulkEntriesReplyMessage.class);
-    registerDSFID(PR_QUERY_TRACE_INFO, PRQueryTraceInfo.class);
-    registerDSFID(INDEX_CREATION_DATA, IndexCreationData.class);
-    registerDSFID(DIST_TX_OP, DistTxEntryEvent.class);
-    registerDSFID(DIST_TX_PRE_COMMIT_RESPONSE, DistTxPrecommitResponse.class);
-    registerDSFID(DIST_TX_THIN_ENTRY_STATE, 
TXEntryState.DistTxThinEntryState.class);
-    registerDSFID(SERVER_PING_MESSAGE, ServerPingMessage.class);
-    registerDSFID(PR_DESTROY_ON_DATA_STORE_MESSAGE, 
DestroyRegionOnDataStoreMessage.class);
-    registerDSFID(SHUTDOWN_ALL_GATEWAYHUBS_REQUEST, 
ShutdownAllGatewayHubsRequest.class);
-    registerDSFID(BUCKET_COUNT_LOAD_PROBE, BucketCountLoadProbe.class);
-    registerDSFID(GATEWAY_SENDER_QUEUE_ENTRY_SYNCHRONIZATION_MESSAGE,
-        
GatewaySenderQueueEntrySynchronizationOperation.GatewaySenderQueueEntrySynchronizationMessage.class);
-    registerDSFID(GATEWAY_SENDER_QUEUE_ENTRY_SYNCHRONIZATION_ENTRY,
-        
GatewaySenderQueueEntrySynchronizationOperation.GatewaySenderQueueEntrySynchronizationEntry.class);
-    registerDSFID(ABORT_BACKUP_REQUEST, AbortBackupRequest.class);
-  }
-
   /**
    * Creates a DataSerializableFixedID or StreamableFixedID instance by 
deserializing it from the
    * data input.
    */
-  public static Object create(int dsfid, DataInput in) throws IOException, 
ClassNotFoundException {
-    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:
-        final Constructor<?> cons;
-        if (dsfid >= Byte.MIN_VALUE && dsfid <= Byte.MAX_VALUE) {
-          cons = dsfidMap[dsfid + Byte.MAX_VALUE + 1];
+  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 {
-          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);
-            }
-          }
+          throw new IOException(ite.getMessage(), targetEx);
         }
-        throw new DSFIDNotFoundException("Unknown DataSerializableFixedID: " + 
dsfid, dsfid);
-
+      }
     }
+    throw new DSFIDNotFoundException("Unknown DataSerializableFixedID: " + 
dsfid, dsfid);
   }
 
 
-  ////////////////// 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;
-  }
-
-  private static DataSerializableFixedID readConfigurationResponse(DataInput 
in)
-      throws IOException, ClassNotFoundException {
-    DataSerializableFixedID serializable = new ConfigurationResponse();
-    serializable.fromData(in);
-    return serializable;
-  }
-
-  public static Constructor<?>[] getDsfidmap() {
+  public Constructor<?>[] getDsfidmap() {
     return dsfidMap;
   }
 
-  public static Int2ObjectOpenHashMap getDsfidmap2() {
+  public Int2ObjectOpenHashMap getDsfidmap2() {
     return dsfidMap2;
   }
 
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 8f021bf..09c117d 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,7 +12,7 @@
  * 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.DataOutput;
 import java.io.IOException;
@@ -29,6 +29,9 @@ 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;
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/BufferDataOutputStream.java
similarity index 62%
copy from 
geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java
copy to 
geode-core/src/main/java/org/apache/geode/internal/serialization/BufferDataOutputStream.java
index 5de7511..4bfef78 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/BufferDataOutputStream.java
@@ -12,18 +12,7 @@
  * 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.nio.ByteBuffer;
-
-/**
- * Used by a couple of our classes to say they can have a ByteBuffer written 
to them.
- */
-public interface ByteBufferWriter {
-  /**
-   * Writes bb.position()..bb.limit() bytes to this writer. Note that some 
implementations of this
-   * interface will keep a reference to bb so callers should expect to give up 
ownership of bb and
-   * should not modify it after calling this method.
-   */
-  void write(ByteBuffer bb);
+public class BufferDataOutputStream {
 }
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/ByteBufferWriter.java
similarity index 100%
copy from 
geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java
copy to 
geode-core/src/main/java/org/apache/geode/internal/serialization/ByteBufferWriter.java
diff --git a/geode-core/src/main/java/org/apache/geode/internal/DSCODE.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSCODE.java
similarity index 99%
rename from geode-core/src/main/java/org/apache/geode/internal/DSCODE.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/DSCODE.java
index e4762d3..3a534f5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/DSCODE.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSCODE.java
@@ -15,6 +15,7 @@
 package org.apache.geode.internal;
 
 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/DSFIDNotFoundException.java
 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDNotFoundException.java
similarity index 100%
rename from 
geode-core/src/main/java/org/apache/geode/internal/DSFIDNotFoundException.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDNotFoundException.java
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
new file mode 100644
index 0000000..afae242
--- /dev/null
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializer.java
@@ -0,0 +1,363 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.serialization;
+
+import static 
org.apache.geode.internal.serialization.DataSerializableFixedID.NO_FIXED_ID;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.EOFException;
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.net.SocketException;
+
+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;
+import org.apache.geode.SystemFailure;
+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.logging.LogService;
+import org.apache.geode.internal.logging.log4j.LogMarker;
+
+public class BasicDSFIDSerializer {
+  private static final Logger logger = LogService.getLogger();
+
+  @Immutable
+  private final Constructor<?>[] dsfidMap = new Constructor<?>[256];
+
+  @Immutable("This maybe should be wrapped in an unmodifiableMap?")
+  private final Int2ObjectOpenHashMap dsfidMap2 = new 
Int2ObjectOpenHashMap(800);
+
+
+  // Writes just the header of a DataSerializableFixedID to out.
+  public void writeDSFIDHeader(int dsfid, DataOutput out) throws IOException {
+    if (dsfid == DataSerializableFixedID.ILLEGAL) {
+      throw new IllegalStateException(
+          "attempted to serialize ILLEGAL dsfid");
+    }
+    if (dsfid <= Byte.MAX_VALUE && dsfid >= Byte.MIN_VALUE) {
+      out.writeByte(DSCODE.DS_FIXED_ID_BYTE.toByte());
+      out.writeByte(dsfid);
+    } else if (dsfid <= Short.MAX_VALUE && dsfid >= Short.MIN_VALUE) {
+      out.writeByte(DSCODE.DS_FIXED_ID_SHORT.toByte());
+      out.writeShort(dsfid);
+    } else {
+      out.writeByte(DSCODE.DS_FIXED_ID_INT.toByte());
+      out.writeInt(dsfid);
+    }
+  }
+
+
+  public void writeDSFID(DataSerializableFixedID o, DataOutput out) throws 
IOException {
+    int dsfid = o.getDSFID();
+    writeDSFID(o, dsfid, out);
+  }
+
+  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());
+    }
+    writeDSFIDHeader(dsfid, out);
+    try {
+      invokeToData(o, out);
+    } catch (IOException | CancelException | ToDataException | 
GemFireRethrowable io) {
+      // Note: this is not a user code toData but one from our
+      // internal code since only GemFire product code implements DSFID
+
+      // Serializing a PDX can result in a cache closed exception. Just rethrow
+
+      throw io;
+    } catch (VirtualMachineError err) {
+      SystemFailure.initiateFailure(err);
+      // If this ever returns, rethrow the error. We're poisoned
+      // now, so don't let this thread continue.
+      throw err;
+    } catch (Throwable t) {
+      // Whenever you catch Error or Throwable, you must also
+      // catch VirtualMachineError (see above). However, there is
+      // _still_ a possibility that you are dealing with a cascading
+      // error condition, so you also need to check to see if the JVM
+      // is still usable:
+      SystemFailure.checkFailure();
+      throw new ToDataException("toData failed on dsfid=" + dsfid + " msg:" + 
t.getMessage(), t);
+    }
+  }
+
+  /**
+   * For backward compatibility this method should be used to invoke toData on 
a DSFID.
+   * It will invoke the correct toData method based on the class's version
+   * information. This method does not write information about the class of 
the object. When
+   * deserializing use the method invokeFromData to read the contents of the 
object.
+   *
+   * @param ds the object to write
+   * @param out the output stream.
+   */
+  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());
+    }
+    try {
+      boolean invoked = false;
+      Version v = InternalDataSerializer.getVersionForDataStreamOrNull(out);
+
+      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();
+        }
+        // check if the version of the peer or diskstore is different and
+        // there has been a change in the message
+        if (versions != null) {
+          for (Version version : versions) {
+            // if peer version is less than the greatest upgraded version
+            if (v.compareTo(version) < 0) {
+              ds.getClass().getMethod("toDataPre_" + version.getMethodSuffix(),
+                  new Class[] {DataOutput.class}).invoke(ds, out);
+              invoked = true;
+              break;
+            }
+          }
+        }
+      }
+
+      if (!invoked) {
+        ((DataSerializableFixedID) 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
+      throw io;
+    } catch (CancelException | ToDataException | GemFireRethrowable ex) {
+      // Serializing a PDX can result in a cache closed exception. Just rethrow
+      throw ex;
+    } catch (VirtualMachineError err) {
+      SystemFailure.initiateFailure(err);
+      // If this ever returns, rethrow the error. We're poisoned
+      // now, so don't let this thread continue.
+      throw err;
+    } catch (Throwable t) {
+      // Whenever you catch Error or Throwable, you must also
+      // catch VirtualMachineError (see above). However, there is
+      // _still_ a possibility that you are dealing with a cascading
+      // error condition, so you also need to check to see if the JVM
+      // is still usable:
+      SystemFailure.checkFailure();
+      throw new ToDataException(
+          "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.
+   */
+  public Version getVersionForDataStreamOrNull(DataOutput out) {
+    // check if this is a versioned data output
+    if (out instanceof VersionedDataStream) {
+      return ((VersionedDataStream) out).getVersion();
+    } else {
+      // assume latest version
+      return null;
+    }
+  }
+
+
+  public Object readDSFID(final DataInput in, DSCODE dscode)
+      throws IOException, ClassNotFoundException {
+    if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
+      logger.trace(LogMarker.SERIALIZER_VERBOSE, "readDSFID: header={}", 
dscode);
+    }
+    switch (dscode) {
+      case DS_FIXED_ID_BYTE:
+        return create(in.readByte(), in);
+      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");
+      case DS_FIXED_ID_INT:
+        return create(in.readInt(), in);
+      default:
+        throw new IllegalStateException("unexpected byte: " + dscode + " while 
reading dsfid");
+    }
+  }
+
+  public Object readDSFID(final DataInput in) throws IOException, 
ClassNotFoundException {
+    checkIn(in);
+    return readDSFID(in, DscodeHelper.toDSCODE(in.readByte()));
+  }
+
+  public 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 int readDSFIDHeader(final DataInput in) throws IOException {
+    checkIn(in);
+    return readDSFIDHeader(in, DscodeHelper.toDSCODE(in.readByte()));
+  }
+
+  /**
+   * Checks to make sure a {@code DataInput} is not {@code null}.
+   *
+   * @throws NullPointerException If {@code in} is {@code null}
+   */
+  public static void checkIn(DataInput in) {
+    if (in == null) {
+      throw new NullPointerException("Null DataInput");
+    }
+  }
+
+  /**
+   * For backward compatibility this method should be used to invoke fromData 
on a DSFID or
+   * DataSerializable. It will invoke the correct fromData method based on the 
class's version
+   * information. This method does not read information about the class of the 
object. When
+   * serializing use the method invokeToData to write the contents of the 
object.
+   *
+   * @param ds the object to write
+   * @param in the input stream.
+   */
+  public void invokeFromData(Object ds, DataInput in)
+      throws IOException, ClassNotFoundException {
+    try {
+      boolean invoked = false;
+      Version v = InternalDataSerializer.getVersionForDataStreamOrNull(in);
+      if (Version.CURRENT != v && v != null) {
+        // get versions where DataOutput was upgraded
+        Version[] versions = null;
+        SerializationVersions vds = (SerializationVersions) ds;
+        versions = vds.getSerializationVersions();
+        // check if the version of the peer or diskstore is different and
+        // there has been a change in the message
+        if (versions != null) {
+          for (Version version : versions) {
+            // if peer version is less than the greatest upgraded version
+            if (v.compareTo(version) < 0) {
+              ds.getClass().getMethod("fromDataPre" + '_' + 
version.getMethodSuffix(),
+                  new Class[] {DataInput.class}).invoke(ds, in);
+              invoked = true;
+              break;
+            }
+          }
+        }
+      }
+      if (!invoked) {
+        ((DataSerializableFixedID) ds).fromData(in);
+
+        if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
+          logger.trace(LogMarker.SERIALIZER_VERBOSE, "Read 
DataSerializableFixedId {}",
+              ds);
+        }
+      }
+    } catch (EOFException | ClassNotFoundException | CacheClosedException | 
SocketException ex) {
+      // client went away - ignore
+      throw ex;
+    } catch (Exception ex) {
+      throw new SerializationException(
+          String.format("Could not create an instance of %s .",
+              ds.getClass().getName()),
+          ex);
+    }
+  }
+
+
+
+  /** 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);
+    }
+  }
+
+  /**
+   * Creates a DataSerializableFixedID or StreamableFixedID instance by 
deserializing it from the
+   * 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);
+        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);
+        }
+      }
+    }
+    throw new DSFIDNotFoundException("Unknown DataSerializableFixedID: " + 
dsfid, dsfid);
+  }
+
+
+  public Constructor<?>[] getDsfidmap() {
+    return dsfidMap;
+  }
+
+  public Int2ObjectOpenHashMap getDsfidmap2() {
+    return dsfidMap2;
+  }
+
+
+
+}
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/DataSerializableFixedID.java
 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/DataSerializableFixedID.java
similarity index 100%
rename from 
geode-core/src/main/java/org/apache/geode/internal/DataSerializableFixedID.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/DataSerializableFixedID.java
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/util/DscodeHelper.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/DscodeHelper.java
similarity index 96%
rename from 
geode-core/src/main/java/org/apache/geode/internal/util/DscodeHelper.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/DscodeHelper.java
index 4b48683..dd592e8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/util/DscodeHelper.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/DscodeHelper.java
@@ -18,7 +18,7 @@ import java.io.IOException;
 import java.util.Arrays;
 
 import org.apache.geode.annotations.Immutable;
-import org.apache.geode.internal.DSCODE;
+import org.apache.geode.internal.serialization.DSCODE;
 
 public class DscodeHelper {
 
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/ObjectSerializer.java
similarity index 62%
rename from 
geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/ObjectSerializer.java
index 5de7511..a2ed2b6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/ByteBufferWriter.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/ObjectSerializer.java
@@ -12,18 +12,7 @@
  * 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.nio.ByteBuffer;
-
-/**
- * Used by a couple of our classes to say they can have a ByteBuffer written 
to them.
- */
-public interface ByteBufferWriter {
-  /**
-   * Writes bb.position()..bb.limit() bytes to this writer. Note that some 
implementations of this
-   * interface will keep a reference to bb so callers should expect to give up 
ownership of bb and
-   * should not modify it after calling this method.
-   */
-  void write(ByteBuffer bb);
+public interface ObjectSerializer {
 }
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/SerializationVersions.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/SerializationVersions.java
similarity index 96%
rename from 
geode-core/src/main/java/org/apache/geode/internal/SerializationVersions.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/SerializationVersions.java
index 8bcdd9b..4a3f898 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/SerializationVersions.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/SerializationVersions.java
@@ -14,6 +14,8 @@
  */
 package org.apache.geode.internal;
 
+import org.apache.geode.internal.serialization.Version;
+
 /**
  * This interface is extended by DataSerializableFixedID and 
VersionedDataSerializable in order to
  * furnish version information to the serialization infrastructure for 
backward compatibility
diff --git a/geode-core/src/main/java/org/apache/geode/internal/Version.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/Version.java
similarity index 100%
rename from geode-core/src/main/java/org/apache/geode/internal/Version.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/Version.java
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataInputStream.java
 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataInputStream.java
similarity index 96%
rename from 
geode-core/src/main/java/org/apache/geode/internal/VersionedDataInputStream.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataInputStream.java
index 70b0bc5..a9a5c9d 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataInputStream.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataInputStream.java
@@ -18,6 +18,8 @@ package org.apache.geode.internal;
 import java.io.DataInputStream;
 import java.io.InputStream;
 
+import org.apache.geode.internal.serialization.Version;
+
 
 /**
  * An extension to {@link DataInputStream} that implements {@link 
VersionedDataStream} for a stream
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataOutputStream.java
 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataOutputStream.java
similarity index 96%
rename from 
geode-core/src/main/java/org/apache/geode/internal/VersionedDataOutputStream.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataOutputStream.java
index 91809df..1c1f185 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataOutputStream.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataOutputStream.java
@@ -18,6 +18,8 @@ package org.apache.geode.internal;
 import java.io.DataOutputStream;
 import java.io.OutputStream;
 
+import org.apache.geode.internal.serialization.Version;
+
 /**
  * An extension of {@link DataOutputStream} that implements {@link 
VersionedDataStream}.
  *
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataStream.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataStream.java
similarity index 93%
rename from 
geode-core/src/main/java/org/apache/geode/internal/VersionedDataStream.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataStream.java
index 12536c6..d68bc84 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedDataStream.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedDataStream.java
@@ -19,6 +19,8 @@ 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;
 
 /**
  * An extension to {@link DataOutput}, {@link DataInput} used internally in 
product to indicate that
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectInput.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectInput.java
similarity index 98%
rename from 
geode-core/src/main/java/org/apache/geode/internal/VersionedObjectInput.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectInput.java
index 3ab5255..46f7156 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectInput.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectInput.java
@@ -18,6 +18,8 @@ package org.apache.geode.internal;
 import java.io.IOException;
 import java.io.ObjectInput;
 
+import org.apache.geode.internal.serialization.Version;
+
 /**
  * An extension to {@link ObjectInput} that implements {@link 
VersionedDataStream} wrapping given
  * {@link ObjectInput} for a stream coming from a different product version.
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectOutput.java
similarity index 98%
rename from 
geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java
rename to 
geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectOutput.java
index afc9136..a1f8ce3 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/serialization/VersionedObjectOutput.java
@@ -18,6 +18,8 @@ package org.apache.geode.internal;
 import java.io.IOException;
 import java.io.ObjectOutput;
 
+import org.apache.geode.internal.serialization.Version;
+
 /**
  * An extension to {@link ObjectOutput} that implements {@link 
VersionedDataStream} wrapping given
  * {@link ObjectOutput} for a stream directed to a different product version.
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 b2c327b..74ce53a 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;
+package org.apache.geode.internal.serialization;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -28,6 +28,8 @@ 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.pdx.internal.TypeRegistry;
 import org.apache.geode.test.junit.categories.SerializationTest;
 
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 8ef60b1..86f5604 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,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 static 
org.apache.geode.internal.HeapDataOutputStream.SMALLEST_CHUNK_SIZE;
+import static 
org.apache.geode.internal.serialization.HeapDataOutputStream.SMALLEST_CHUNK_SIZE;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
diff --git a/geode-core/src/test/java/org/apache/geode/internal/DSCODETest.java 
b/geode-core/src/test/java/org/apache/geode/internal/serialization/DSCODETest.java
similarity index 97%
rename from geode-core/src/test/java/org/apache/geode/internal/DSCODETest.java
rename to 
geode-core/src/test/java/org/apache/geode/internal/serialization/DSCODETest.java
index 7240825..7100470 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/DSCODETest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/serialization/DSCODETest.java
@@ -26,6 +26,7 @@ import org.junit.Assert;
 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.test.junit.categories.SerializationTest;
 
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/VersionJUnitTest.java 
b/geode-core/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
similarity index 98%
rename from 
geode-core/src/test/java/org/apache/geode/internal/VersionJUnitTest.java
rename to 
geode-core/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
index 529f1bf..83494bd 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/VersionJUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
@@ -21,6 +21,7 @@ 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

Reply via email to