This is an automated email from the ASF dual-hosted git repository.

jbarrett pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git


The following commit(s) were added to refs/heads/develop by this push:
     new 95303fc  GEODE-3993: Remove poolName from  DataInput/Output (#261)
95303fc is described below

commit 95303fca05ec88a3d83f40dc21735d73f5e67717
Author: M. Oleske <mole...@users.noreply.github.com>
AuthorDate: Fri Apr 6 23:43:19 2018 -0700

    GEODE-3993: Remove poolName from  DataInput/Output (#261)
    
    * Remove default parameter from DataInput/DataOutput ctors
    * Removes default constructor from DataOutput.
    * Replace poolname with pool.
    * Replaced iPUF with ignorePdxUnreadFields.
---
 clicache/src/DataInput.cpp                         |  4 +-
 clicache/src/DataInput.hpp                         |  2 +-
 clicache/src/DataOutput.cpp                        |  4 +-
 clicache/src/DataOutput.hpp                        |  2 +-
 clicache/src/Serializable.cpp                      | 13 +++--
 clicache/src/Serializable.hpp                      |  4 +-
 clicache/src/impl/PdxHelper.cpp                    | 12 ++--
 clicache/src/impl/PdxTypeRegistry.cpp              |  8 +--
 clicache/src/impl/PdxTypeRegistry.hpp              |  4 +-
 cppcache/include/geode/CacheableBuiltins.hpp       | 15 +++--
 cppcache/include/geode/DataInput.hpp               | 46 ++++++----------
 cppcache/include/geode/DataOutput.hpp              | 37 +++++--------
 cppcache/include/geode/ExceptionTypes.hpp          |  6 +-
 cppcache/include/geode/PdxWrapper.hpp              |  1 -
 cppcache/include/geode/Serializer.hpp              | 10 ++--
 cppcache/integration-test/testSerialization.cpp    |  2 +-
 cppcache/src/Cache.cpp                             |  9 ++-
 cppcache/src/CacheImpl.cpp                         | 64 +++++++++++++++-------
 cppcache/src/CacheImpl.hpp                         | 21 ++++---
 cppcache/src/CacheableEnum.cpp                     |  2 +-
 cppcache/src/CacheableObjectArray.cpp              |  2 +-
 cppcache/src/CacheableObjectPartList.cpp           |  2 +-
 cppcache/src/ClientProxyMembershipID.cpp           |  4 +-
 cppcache/src/CqService.hpp                         |  7 ++-
 cppcache/src/DataInput.cpp                         |  9 +++
 cppcache/src/DataInputInternal.hpp                 | 17 ++----
 cppcache/src/DataOutput.cpp                        |  7 +--
 cppcache/src/DataOutputInternal.hpp                | 20 +++----
 cppcache/src/EventId.cpp                           |  4 +-
 cppcache/src/ExpMapEntry.hpp                       |  4 +-
 cppcache/src/FarSideEntryOp.cpp                    |  6 +-
 cppcache/src/LRUEntriesMap.hpp                     |  4 +-
 cppcache/src/LRUExpMapEntry.hpp                    |  6 +-
 cppcache/src/LRUMapEntry.hpp                       |  4 +-
 cppcache/src/MapEntry.hpp                          |  2 +-
 cppcache/src/PdxHelper.cpp                         | 22 +++-----
 cppcache/src/PdxType.cpp                           |  2 +-
 cppcache/src/PdxTypeRegistry.cpp                   | 11 ++--
 cppcache/src/PdxTypeRegistry.hpp                   |  5 +-
 cppcache/src/PoolManagerImpl.cpp                   |  2 +-
 cppcache/src/PreservedDataExpiryHandler.hpp        |  3 +-
 cppcache/src/Properties.cpp                        |  2 +-
 .../src/PutAllPartialResultServerException.hpp     |  3 +-
 cppcache/src/RegionAttributes.cpp                  |  2 +-
 cppcache/src/SerializationRegistry.cpp             | 34 +++++++-----
 cppcache/src/SerializationRegistry.hpp             |  8 ++-
 cppcache/src/Struct.cpp                            |  6 +-
 cppcache/src/TXCommitMessage.cpp                   |  4 +-
 cppcache/src/TcrMessage.cpp                        | 34 ++++++------
 cppcache/src/TcrMessage.hpp                        |  2 +-
 cppcache/src/ThinClientRegion.cpp                  | 58 ++++++++++----------
 cppcache/src/VersionedCacheableObjectPartList.cpp  |  4 +-
 cppcache/src/statistics/HostStatSampler.hpp        |  4 +-
 cppcache/src/statistics/StatArchiveWriter.hpp      |  6 +-
 cppcache/src/util/exception.hpp                    |  2 +-
 cppcache/test/DataInputTest.cpp                    | 17 +-----
 cppcache/test/TcrMessage_unittest.cpp              |  3 +-
 tests/cli/QueryHelper/CMakeLists.txt               |  1 +
 tests/cli/QueryHelper/QueryStringsM.cpp            |  8 +--
 59 files changed, 295 insertions(+), 312 deletions(-)

diff --git a/clicache/src/DataInput.cpp b/clicache/src/DataInput.cpp
index 0fedeec..58184cd 100644
--- a/clicache/src/DataInput.cpp
+++ b/clicache/src/DataInput.cpp
@@ -1164,11 +1164,11 @@ namespace Apache
         }
       }
 
-      String^ DataInput::GetPoolName()
+      native::Pool* DataInput::GetPool()
       {
         try
         {
-          return 
marshal_as<String^>(native::DataInputInternal::getPoolName(*m_nativeptr));
+          return native::DataInputInternal::getPool(*m_nativeptr);
         }
         finally {
           GC::KeepAlive(m_nativeptr);
diff --git a/clicache/src/DataInput.hpp b/clicache/src/DataInput.hpp
index 0d8eeb1..1b3d8df 100644
--- a/clicache/src/DataInput.hpp
+++ b/clicache/src/DataInput.hpp
@@ -308,7 +308,7 @@ namespace Apache
         /// </summary>
         String^ ReadASCIIHuge( );
 
-        String^ GetPoolName();
+        native::Pool* GetPool();
 
         Object^ ReadDotNetTypes(int8_t typeId);
 
diff --git a/clicache/src/DataOutput.cpp b/clicache/src/DataOutput.cpp
index 9724f61..d4041a5 100644
--- a/clicache/src/DataOutput.cpp
+++ b/clicache/src/DataOutput.cpp
@@ -936,11 +936,11 @@ namespace Apache
         WriteObject<double>(doubleArray);
       }
 
-      String^ DataOutput::GetPoolName()
+      native::Pool* DataOutput::GetPool()
       {
         try
         {
-          return 
marshal_as<String^>(native::DataOutputInternal::getPoolName(*m_nativeptr));
+          return native::DataOutputInternal::getPool(*m_nativeptr);
         }
         finally
         {
diff --git a/clicache/src/DataOutput.hpp b/clicache/src/DataOutput.hpp
index 895b51b..4c13ea7 100644
--- a/clicache/src/DataOutput.hpp
+++ b/clicache/src/DataOutput.hpp
@@ -403,7 +403,7 @@ namespace Apache
           return m_cursor;
         }
 
-        String^ GetPoolName();
+        native::Pool* GetPool();
 
         void WriteStringArray(array<String^>^ strArray);
 
diff --git a/clicache/src/Serializable.cpp b/clicache/src/Serializable.cpp
index 9a032ec..3305b1c 100644
--- a/clicache/src/Serializable.cpp
+++ b/clicache/src/Serializable.cpp
@@ -248,16 +248,19 @@ namespace Apache
         return 
(Apache::Geode::Client::Serializable^)CacheableStringArray::Create(value);
       }
 
-      System::Int32 Serializable::GetPDXIdForType(String^ poolName, 
IGeodeSerializable^ pdxType, Cache^ cache)
+      System::Int32 Serializable::GetPDXIdForType(native::Pool* pool, 
IGeodeSerializable^ pdxType, Cache^ cache)
       {
         std::shared_ptr<native::Cacheable> 
kPtr(SafeMSerializableConvertGeneric(pdxType));
-        return 
CacheRegionHelper::getCacheImpl(cache->GetNative().get())->getSerializationRegistry()->GetPDXIdForType(cache->GetNative()->getPoolManager().find(marshal_as<std::string>(poolName)),
 kPtr);
+        return CacheRegionHelper::getCacheImpl(cache->GetNative().get())
+            ->getSerializationRegistry()
+            ->GetPDXIdForType(pool, kPtr);
       }
 
-      IGeodeSerializable^ Serializable::GetPDXTypeById(String^ poolName, 
System::Int32 typeId, Cache^ cache)
+      IGeodeSerializable^ Serializable::GetPDXTypeById(native::Pool* pool, 
System::Int32 typeId, Cache^ cache)
       {        
-        std::shared_ptr<apache::geode::client::Serializable> sPtr = 
-            
CacheRegionHelper::getCacheImpl(cache->GetNative().get())->getSerializationRegistry()->GetPDXTypeById(cache->GetNative()->getPoolManager().find(marshal_as<std::string>(poolName)),
 typeId);
+        auto sPtr =  CacheRegionHelper::getCacheImpl(cache->GetNative().get())
+            ->getSerializationRegistry()
+            ->GetPDXTypeById(pool, typeId);
         return SafeUMSerializableConvertGeneric(sPtr);
       }
 
diff --git a/clicache/src/Serializable.hpp b/clicache/src/Serializable.hpp
index 39f808a..5d31596 100644
--- a/clicache/src/Serializable.hpp
+++ b/clicache/src/Serializable.hpp
@@ -249,8 +249,8 @@ namespace Apache
 
       internal:
         static std::shared_ptr<CacheableKey> 
wrapIGeodeSerializable(IGeodeSerializable^ managedObject);
-                               static System::Int32 GetPDXIdForType(String^ 
poolName, IGeodeSerializable^ pdxType, Cache^ cache);
-                               static IGeodeSerializable^ 
GetPDXTypeById(String^ poolName, System::Int32 typeId, Cache^ cache);
+                               static System::Int32 
GetPDXIdForType(native::Pool* pool, IGeodeSerializable^ pdxType, Cache^ cache);
+                               static IGeodeSerializable^ 
GetPDXTypeById(native::Pool* pool, System::Int32 typeId, Cache^ cache);
                                static void 
RegisterPDXManagedCacheableKey(Cache^ cache);
         
         static int GetEnumValue(Internal::EnumInfo^ ei, Cache^ cache);
diff --git a/clicache/src/impl/PdxHelper.cpp b/clicache/src/impl/PdxHelper.cpp
index 2da7a4b..7dee159 100644
--- a/clicache/src/impl/PdxHelper.cpp
+++ b/clicache/src/impl/PdxHelper.cpp
@@ -73,7 +73,7 @@ namespace Apache
               PdxType^ piPt = pdxII->getPdxType();
               if(piPt != nullptr && piPt->TypeId == 0)//from pdxInstance 
factory need to get typeid from server
               {
-                int typeId = 
dataOutput->Cache->GetPdxTypeRegistry()->GetPDXIdForType(piPt, 
dataOutput->GetPoolName());
+                int typeId = 
dataOutput->Cache->GetPdxTypeRegistry()->GetPDXIdForType(piPt, 
dataOutput->GetPool());
                 pdxII->setPdxId(typeId);
               }
               PdxLocalWriter^ plw = gcnew PdxLocalWriter(dataOutput, piPt);  
@@ -108,7 +108,7 @@ namespace Apache
 
                                                //get type id from server and 
then set it
             int nTypeId = 
dataOutput->Cache->GetPdxTypeRegistry()->GetPDXIdForType(pdxType, 
-                                                                               
                                                                                
                                                                                
dataOutput->GetPoolName(), nType, true);
+                                                                               
                                                                                
                                                                                
dataOutput->GetPool(), nType, true);
             nType->TypeId = nTypeId;
 
             ptc->EndObjectWriting();//now write typeid
@@ -200,7 +200,7 @@ namespace Apache
             {
               if(pType == nullptr)
               {
-                pType = 
(PdxType^)(Serializable::GetPDXTypeById(dataInput->GetPoolName(), typeId, 
dataInput->Cache));
+                pType = 
(PdxType^)(Serializable::GetPDXTypeById(dataInput->GetPool(), typeId, 
dataInput->Cache));
                 pdxLocalType = 
dataInput->Cache->GetPdxTypeRegistry()->GetLocalPdxType(pType->PdxClassName);//this
 should be fine for IPdxTypeMappers
               }
               
@@ -245,7 +245,7 @@ namespace Apache
                   //need to know local type and then merge type
                   pdxLocalType->InitializeType(dataInput->Cache);
                   pdxLocalType->TypeId = 
dataInput->Cache->GetPdxTypeRegistry()->GetPDXIdForType(pdxObject->GetType(), 
-                                                                               
                                                                                
                                                                                
                                                  dataInput->GetPoolName(), 
+                                                                               
                                                                                
                                                                                
                                                  dataInput->GetPool(), 
                                                                                
                                                                                
                                                                                
                                                  pdxLocalType, true);
                   pdxLocalType->IsLocal = true;
                   
dataInput->Cache->GetPdxTypeRegistry()->AddLocalPdxType(pdxClassname, 
pdxLocalType);//added local type
@@ -323,7 +323,7 @@ namespace Apache
 
             if(pType == nullptr)
             {
-              PdxType^ pType = 
(PdxType^)(Serializable::GetPDXTypeById(dataInput->GetPoolName(), typeId, 
dataInput->Cache));
+              PdxType^ pType = 
(PdxType^)(Serializable::GetPDXTypeById(dataInput->GetPool(), typeId, 
dataInput->Cache));
               //this should be fine for IPdxTypeMapper
               
dataInput->Cache->GetPdxTypeRegistry()->AddLocalPdxType(pType->PdxClassName, 
pType);
               
dataInput->Cache->GetPdxTypeRegistry()->AddPdxType(pType->TypeId, pType); 
@@ -379,7 +379,7 @@ namespace Apache
           {//need to create new version            
             mergedVersion->InitializeType(dataInput->Cache);
             if(mergedVersion->TypeId == 0)
-              mergedVersion->TypeId = 
Serializable::GetPDXIdForType(dataInput->GetPoolName(), mergedVersion, 
dataInput->Cache);              
+              mergedVersion->TypeId = 
Serializable::GetPDXIdForType(dataInput->GetPool(), mergedVersion, 
dataInput->Cache);              
             
            // 
dataInput->Cache->GetPdxTypeRegistry()->AddPdxType(remoteType->TypeId, 
mergedVersion);
             
dataInput->Cache->GetPdxTypeRegistry()->AddPdxType(mergedVersion->TypeId, 
mergedVersion);  
diff --git a/clicache/src/impl/PdxTypeRegistry.cpp 
b/clicache/src/impl/PdxTypeRegistry.cpp
index 0763f3a..f5dc948 100644
--- a/clicache/src/impl/PdxTypeRegistry.cpp
+++ b/clicache/src/impl/PdxTypeRegistry.cpp
@@ -48,7 +48,7 @@ namespace Apache
                                        return preserveData->Count;
                                }
 
-        Int32 PdxTypeRegistry::GetPDXIdForType(Type^ pdxType, String^ 
poolname, PdxType^ nType, bool checkIfThere)
+        Int32 PdxTypeRegistry::GetPDXIdForType(Type^ pdxType, native::Pool* 
pool, PdxType^ nType, bool checkIfThere)
         {
           if(checkIfThere)
           {
@@ -70,7 +70,7 @@ namespace Apache
                   return lpdx->TypeId;
               } 
             }
-            return Serializable::GetPDXIdForType(poolname, nType, m_cache);    
        
+            return Serializable::GetPDXIdForType(pool, nType, m_cache);        
    
           }
           finally
           {
@@ -79,7 +79,7 @@ namespace Apache
             
         }
 
-        Int32 PdxTypeRegistry::GetPDXIdForType(PdxType^ pType, String^ 
poolname)
+        Int32 PdxTypeRegistry::GetPDXIdForType(PdxType^ pType, native::Pool* 
pool)
         {
           IDictionary<PdxType^, Int32>^ tmp = pdxTypeToTypeId;
           Int32 typeId = 0;
@@ -100,7 +100,7 @@ namespace Apache
                 return typeId;
 
             }
-            typeId = Serializable::GetPDXIdForType(poolname, pType, m_cache);  
          
+            typeId = Serializable::GetPDXIdForType(pool, pType, m_cache);      
      
             pType->TypeId = typeId;
 
             IDictionary<PdxType^, Int32>^ newDict = gcnew Dictionary<PdxType^, 
Int32>(pdxTypeToTypeId);
diff --git a/clicache/src/impl/PdxTypeRegistry.hpp 
b/clicache/src/impl/PdxTypeRegistry.hpp
index 7c3846c..4405c60 100644
--- a/clicache/src/impl/PdxTypeRegistry.hpp
+++ b/clicache/src/impl/PdxTypeRegistry.hpp
@@ -68,9 +68,9 @@ namespace Apache
 
            void clear();
 
-            Int32 GetPDXIdForType(Type^ type, String^ poolname, PdxType^ 
nType, bool checkIfThere);
+            Int32 GetPDXIdForType(Type^ type, native::Pool* pool, PdxType^ 
nType, bool checkIfThere);
 
-            Int32 GetPDXIdForType(PdxType^ type, String^ poolname);
+            Int32 GetPDXIdForType(PdxType^ type, native::Pool*);
 
             Int32 GetEnumValue(EnumInfo^ ei);
 
diff --git a/cppcache/include/geode/CacheableBuiltins.hpp 
b/cppcache/include/geode/CacheableBuiltins.hpp
index cfbf118..11beafe 100644
--- a/cppcache/include/geode/CacheableBuiltins.hpp
+++ b/cppcache/include/geode/CacheableBuiltins.hpp
@@ -140,7 +140,8 @@ inline void copyArray(std::shared_ptr<TObj>* dest,
 
 /** Template class for container Cacheable types. */
 template <typename TBase, int8_t TYPEID>
-class APACHE_GEODE_EXPORT CacheableContainerType : public Cacheable, public 
TBase {
+class APACHE_GEODE_EXPORT CacheableContainerType : public Cacheable,
+                                                   public TBase {
  protected:
   inline CacheableContainerType() : TBase() {}
 
@@ -193,10 +194,9 @@ class APACHE_GEODE_EXPORT CacheableContainerType : public 
Cacheable, public TBas
 #pragma warning(disable : 4231)
 #endif
 
-#define _GEODE_CACHEABLE_KEY_TYPE_DEF_(p, k)           \
-  extern const char tName_##k[];                       \
-  template class                                       \
-      CacheableKeyType<p, GeodeTypeIds::k, tName_##k>; \
+#define _GEODE_CACHEABLE_KEY_TYPE_DEF_(p, k)                      \
+  extern const char tName_##k[];                                  \
+  template class CacheableKeyType<p, GeodeTypeIds::k, tName_##k>; \
   typedef CacheableKeyType<p, GeodeTypeIds::k, tName_##k> _##k;
 
 // use a class instead of typedef for bug #283
@@ -230,9 +230,8 @@ class APACHE_GEODE_EXPORT CacheableContainerType : public 
Cacheable, public TBas
     return k::create(value);                                            \
   }
 
-#define _GEODE_CACHEABLE_CONTAINER_TYPE_DEF_(p, c) \
-  template class                                   \
-      CacheableContainerType<p, GeodeTypeIds::c>;  \
+#define _GEODE_CACHEABLE_CONTAINER_TYPE_DEF_(p, c)           \
+  template class CacheableContainerType<p, GeodeTypeIds::c>; \
   typedef CacheableContainerType<p, GeodeTypeIds::c> _##c;
 
 // use a class instead of typedef for bug #283
diff --git a/cppcache/include/geode/DataInput.hpp 
b/cppcache/include/geode/DataInput.hpp
index 76032cd..1b0f4ad 100644
--- a/cppcache/include/geode/DataInput.hpp
+++ b/cppcache/include/geode/DataInput.hpp
@@ -46,9 +46,9 @@ class CacheableString;
 class DataInput;
 class Serializable;
 class SerializationRegistry;
-class DataInputInternal;
 class CacheImpl;
 class DataInputInternal;
+class Pool;
 
 /**
  * Provide operations for reading primitive data values, byte arrays,
@@ -126,7 +126,7 @@ class APACHE_GEODE_EXPORT DataInput {
    * @param len output parameter to hold the length of array read from stream
    */
   inline void readBytes(uint8_t** bytes, int32_t* len) {
-    int32_t length = readArrayLen();
+    auto length = readArrayLength();
     *len = length;
     uint8_t* buffer = nullptr;
     if (length > 0) {
@@ -149,7 +149,7 @@ class APACHE_GEODE_EXPORT DataInput {
    * @param len output parameter to hold the length of array read from stream
    */
   inline void readBytes(int8_t** bytes, int32_t* len) {
-    int32_t length = readArrayLen();
+    auto length = readArrayLength();
     *len = length;
     int8_t* buffer = nullptr;
     if (length > 0) {
@@ -228,7 +228,7 @@ class APACHE_GEODE_EXPORT DataInput {
    * @param len output parameter to hold the 32-bit signed length
    *   read from stream
    */
-  inline int32_t readArrayLen() {
+  inline int32_t readArrayLength() {
     const uint8_t code = read();
     if (code == 0xFF) {
       return -1;
@@ -333,7 +333,6 @@ class APACHE_GEODE_EXPORT DataInput {
 
   inline bool readNativeBool() {
     read();  // ignore type id
-
     return readBoolean();
   }
 
@@ -398,7 +397,7 @@ class APACHE_GEODE_EXPORT DataInput {
   inline std::vector<std::string> readStringArray() {
     std::vector<std::string> value;
 
-    int32_t arrLen = readArrayLen();
+    auto arrLen = readArrayLength();
     if (arrLen > 0) {
       value.reserve(arrLen);
       for (int i = 0; i < arrLen; i++) {
@@ -412,7 +411,7 @@ class APACHE_GEODE_EXPORT DataInput {
   inline void readArrayOfByteArrays(int8_t*** arrayofBytearr,
                                     int32_t& arrayLength,
                                     int32_t** elementLength) {
-    int32_t arrLen = readArrayLen();
+    auto arrLen = readArrayLength();
     arrayLength = arrLen;
 
     if (arrLen == -1) {
@@ -431,9 +430,6 @@ class APACHE_GEODE_EXPORT DataInput {
     }
   }
 
-  /** destructor */
-  ~DataInput() {}
-
   /**
    * Get the pointer to current buffer position. This should be treated
    * as readonly and modification of contents using this internal pointer
@@ -487,14 +483,15 @@ class APACHE_GEODE_EXPORT DataInput {
 
   virtual const Cache* getCache();
 
+  ~DataInput() = default;
+  DataInput() = delete;
+  DataInput(const DataInput&) = delete;
+  DataInput& operator=(const DataInput&) = delete;
+
  protected:
   /** constructor given a pre-allocated byte array with size */
-  DataInput(const uint8_t* m_buffer, size_t len, const CacheImpl* cache)
-      : m_buf(m_buffer),
-        m_bufHead(m_buffer),
-        m_bufLength(len),
-        m_poolName(EMPTY_STRING),
-        m_cache(cache) {}
+  DataInput(const uint8_t* m_buffer, size_t len, const CacheImpl* cache,
+            Pool* pool);
 
   virtual const SerializationRegistry& getSerializationRegistry() const;
 
@@ -502,14 +499,14 @@ class APACHE_GEODE_EXPORT DataInput {
   const uint8_t* m_buf;
   const uint8_t* m_bufHead;
   size_t m_bufLength;
-  std::reference_wrapper<const std::string> m_poolName;
+  Pool* m_pool;
   const CacheImpl* m_cache;
 
   std::shared_ptr<Serializable> readObjectInternal(int8_t typeId = -1);
 
   template <typename mType>
   void readObject(mType** value, int32_t& length) {
-    int arrayLen = readArrayLen();
+    auto arrayLen = readArrayLength();
     length = arrayLen;
     mType* objArray;
     if (arrayLen > 0) {
@@ -526,7 +523,7 @@ class APACHE_GEODE_EXPORT DataInput {
 
   template <typename T>
   std::vector<T> readArray() {
-    int arrayLen = readArrayLen();
+    auto arrayLen = readArrayLength();
     std::vector<T> objArray;
     if (arrayLen >= 0) {
       objArray.reserve(arrayLen);
@@ -645,16 +642,7 @@ class APACHE_GEODE_EXPORT DataInput {
     value.assign(reinterpret_cast<const wchar_t*>(tmp.data()), tmp.length());
   }
 
-  const std::string& getPoolName() const { return m_poolName; }
-
-  void setPoolName(const std::string& poolName) {
-    m_poolName = std::ref(poolName);
-  }
-
-  // disable other constructors and assignment
-  DataInput() = delete;
-  DataInput(const DataInput&) = delete;
-  DataInput& operator=(const DataInput&) = delete;
+  Pool* getPool() const { return m_pool; }
 
   friend Cache;
   friend CacheImpl;
diff --git a/cppcache/include/geode/DataOutput.hpp 
b/cppcache/include/geode/DataOutput.hpp
index 78043ce..2f162e7 100644
--- a/cppcache/include/geode/DataOutput.hpp
+++ b/cppcache/include/geode/DataOutput.hpp
@@ -30,16 +30,14 @@
 #include "Serializable.hpp"
 #include "CacheableString.hpp"
 
-/**
- * @file
- */
-
 namespace apache {
 namespace geode {
 namespace client {
+
 class SerializationRegistry;
 class DataOutputInternal;
 class CacheImpl;
+class Pool;
 
 /**
  * Provide operations for writing primitive data values, byte arrays,
@@ -393,11 +391,6 @@ class APACHE_GEODE_EXPORT DataOutput {
   }
 
   uint8_t getValueAtPos(size_t offset) { return m_bytes[offset]; }
-  /** Destruct a DataOutput, including releasing the created buffer. */
-  ~DataOutput() {
-    reset();
-    DataOutput::checkinBuffer(m_bytes, m_size);
-  }
 
   /**
    * Get a pointer to the internal buffer of <code>DataOutput</code>.
@@ -499,13 +492,21 @@ class APACHE_GEODE_EXPORT DataOutput {
 
   virtual const Cache* getCache();
 
+  /** Destruct a DataOutput, including releasing the created buffer. */
+  ~DataOutput() {
+    reset();
+    DataOutput::checkinBuffer(m_bytes, m_size);
+  }
+
+  DataOutput() = delete;
+  DataOutput(const DataOutput&) = delete;
+  DataOutput& operator=(const DataOutput&) = delete;
+
  protected:
   /**
    * Construct a new DataOutput.
    */
-  DataOutput(const CacheImpl* cache);
-
-  DataOutput() : DataOutput(nullptr) {}
+  DataOutput(const CacheImpl* cache, Pool* pool);
 
   virtual const SerializationRegistry& getSerializationRegistry() const;
 
@@ -527,7 +528,7 @@ class APACHE_GEODE_EXPORT DataOutput {
   // flag to indicate we have a big buffer
   volatile bool m_haveBigBuffer;
   const CacheImpl* m_cache;
-  std::reference_wrapper<const std::string> m_poolName;
+  Pool* m_pool;
 
   inline void writeAscii(const std::string& value) {
     uint16_t len = static_cast<uint16_t>(
@@ -740,19 +741,11 @@ class APACHE_GEODE_EXPORT DataOutput {
     writeNoCheck(static_cast<uint8_t>(value));
   }
 
-  const std::string& getPoolName() const { return m_poolName; }
-
-  void setPoolName(const std::string& poolName) {
-    m_poolName = std::ref(poolName);
-  }
+  Pool* getPool() const { return m_pool; }
 
   static uint8_t* checkoutBuffer(size_t* size);
   static void checkinBuffer(uint8_t* buffer, size_t size);
 
-  // disable copy constructor and assignment
-  DataOutput(const DataOutput&);
-  DataOutput& operator=(const DataOutput&);
-
   friend Cache;
   friend CacheImpl;
   friend DataOutputInternal;
diff --git a/cppcache/include/geode/ExceptionTypes.hpp 
b/cppcache/include/geode/ExceptionTypes.hpp
index fc8c55a..6cff9ed 100644
--- a/cppcache/include/geode/ExceptionTypes.hpp
+++ b/cppcache/include/geode/ExceptionTypes.hpp
@@ -776,7 +776,8 @@ class APACHE_GEODE_EXPORT CommitConflictException : public 
Exception {
  * being modified by the transaction.
  * This can be thrown while doing transactional operations or during commit.
  **/
-class APACHE_GEODE_EXPORT TransactionDataNodeHasDepartedException : public 
Exception {
+class APACHE_GEODE_EXPORT TransactionDataNodeHasDepartedException
+    : public Exception {
  public:
   using Exception::Exception;
   virtual ~TransactionDataNodeHasDepartedException() noexcept {}
@@ -789,7 +790,8 @@ class APACHE_GEODE_EXPORT 
TransactionDataNodeHasDepartedException : public Excep
  *transaction.
  * This can be thrown while doing transactional operations or during commit.
  **/
-class APACHE_GEODE_EXPORT TransactionDataRebalancedException : public 
Exception {
+class APACHE_GEODE_EXPORT TransactionDataRebalancedException
+    : public Exception {
  public:
   using Exception::Exception;
   virtual ~TransactionDataRebalancedException() noexcept {}
diff --git a/cppcache/include/geode/PdxWrapper.hpp 
b/cppcache/include/geode/PdxWrapper.hpp
index 341fe75..ec76ec1 100644
--- a/cppcache/include/geode/PdxWrapper.hpp
+++ b/cppcache/include/geode/PdxWrapper.hpp
@@ -44,7 +44,6 @@ class PdxWriter;
  * a PdxSerializer registered that can handle the user domain class.
  */
 class APACHE_GEODE_EXPORT PdxWrapper : public PdxSerializable {
-
  public:
   /**
    * Constructor which takes the address of the user object to contain for PDX
diff --git a/cppcache/include/geode/Serializer.hpp 
b/cppcache/include/geode/Serializer.hpp
index dc8f560..a717072 100644
--- a/cppcache/include/geode/Serializer.hpp
+++ b/cppcache/include/geode/Serializer.hpp
@@ -233,7 +233,7 @@ template <typename TObj>
 inline std::vector<TObj> readArrayObject(
     apache::geode::client::DataInput& input) {
   std::vector<TObj> array;
-  int len = input.readArrayLen();
+  int len = input.readArrayLength();
   if (len >= 0) {
     array.resize(len);
     for (auto&& obj : array) {
@@ -246,7 +246,7 @@ inline std::vector<TObj> readArrayObject(
 template <typename TObj, typename TLen>
 inline void readObject(apache::geode::client::DataInput& input, TObj*& array,
                        TLen& len) {
-  len = input.readArrayLen();
+  len = input.readArrayLength();
   if (len > 0) {
     _GEODE_NEW(array, TObj[len]);
     TObj* startArray = array;
@@ -326,7 +326,7 @@ inline size_t objectSize(const 
std::vector<std::shared_ptr<Cacheable>>& value) {
 template <typename TObj, typename _tail>
 inline void readObject(apache::geode::client::DataInput& input,
                        std::vector<TObj, _tail>& value) {
-  int32_t len = input.readArrayLen();
+  int32_t len = input.readArrayLength();
   if (len >= 0) {
     TObj obj;
     for (int32_t index = 0; index < len; index++) {
@@ -366,7 +366,7 @@ template <typename TKey, typename TValue, typename Hash, 
typename KeyEqual,
 inline void readObject(
     apache::geode::client::DataInput& input,
     std::unordered_map<TKey, TValue, Hash, KeyEqual, Allocator>& value) {
-  int32_t len = input.readArrayLen();
+  int32_t len = input.readArrayLength();
   value.reserve(len);
   TKey key;
   TValue val;
@@ -401,7 +401,7 @@ template <typename TKey, typename Hash, typename KeyEqual, 
typename Allocator>
 inline void readObject(
     apache::geode::client::DataInput& input,
     std::unordered_set<TKey, Hash, KeyEqual, Allocator>& value) {
-  int32_t len = input.readArrayLen();
+  int32_t len = input.readArrayLength();
   if (len > 0) {
     TKey key;
     for (int32_t index = 0; index < len; index++) {
diff --git a/cppcache/integration-test/testSerialization.cpp 
b/cppcache/integration-test/testSerialization.cpp
index 4c6ccb1..2c06d2e 100644
--- a/cppcache/integration-test/testSerialization.cpp
+++ b/cppcache/integration-test/testSerialization.cpp
@@ -86,7 +86,7 @@ class OtherType : public Serializable {
   size_t objectSize() const override { return sizeof(CData); }
 
   void fromData(DataInput& input) override {
-    int32_t size = input.readArrayLen();
+    int32_t size = input.readArrayLength();
     input.readBytesOnly(reinterpret_cast<uint8_t*>(&m_struct), size);
     m_classIdToReturn = input.readInt32();
   }
diff --git a/cppcache/src/Cache.cpp b/cppcache/src/Cache.cpp
index 681645e..56e5baf 100644
--- a/cppcache/src/Cache.cpp
+++ b/cppcache/src/Cache.cpp
@@ -139,8 +139,8 @@ Cache::Cache(std::shared_ptr<Properties> dsProp, bool 
ignorePdxUnreadFields,
              const std::shared_ptr<AuthInitialize>& authInitialize) {
   auto distributedSystem = DistributedSystem::create(DEFAULT_DS_NAME, dsProp);
   m_cacheImpl = std::unique_ptr<CacheImpl>(
-      new CacheImpl(this, std::move(distributedSystem),
-                    ignorePdxUnreadFields, readPdxSerialized, authInitialize));
+      new CacheImpl(this, std::move(distributedSystem), ignorePdxUnreadFields,
+                    readPdxSerialized, authInitialize));
   m_cacheImpl->getDistributedSystem().connect(this);
   m_typeRegistry =
       std::unique_ptr<TypeRegistry>(new TypeRegistry(m_cacheImpl.get()));
@@ -239,12 +239,11 @@ PoolManager& Cache::getPoolManager() const {
 
 std::unique_ptr<DataInput> Cache::createDataInput(const uint8_t* m_buffer,
                                                   size_t len) const {
-  return std::unique_ptr<DataInput>(
-      new DataInput(m_buffer, len, m_cacheImpl.get()));
+  return m_cacheImpl->createDataInput(m_buffer, len);
 }
 
 std::unique_ptr<DataOutput> Cache::createDataOutput() const {
-  return std::unique_ptr<DataOutput>(new DataOutput(m_cacheImpl.get()));
+  return m_cacheImpl->createDataOutput();
 }
 
 }  // namespace client
diff --git a/cppcache/src/CacheImpl.cpp b/cppcache/src/CacheImpl.cpp
index 5ae9963..b475ba3 100644
--- a/cppcache/src/CacheImpl.cpp
+++ b/cppcache/src/CacheImpl.cpp
@@ -45,11 +45,10 @@
 
 using namespace apache::geode::client;
 
-CacheImpl::CacheImpl(Cache* c, DistributedSystem&& distributedSystem, bool 
iPUF,
-                     bool readPdxSerialized,
+CacheImpl::CacheImpl(Cache* c, DistributedSystem&& distributedSystem,
+                     bool ignorePdxUnreadFields, bool readPdxSerialized,
                      const std::shared_ptr<AuthInitialize>& authInitialize)
-    : m_defaultPool(nullptr),
-      m_ignorePdxUnreadFields(iPUF),
+    : m_ignorePdxUnreadFields(ignorePdxUnreadFields),
       m_readPdxSerialized(readPdxSerialized),
       m_expiryTaskManager(
           std::unique_ptr<ExpiryTaskManager>(new ExpiryTaskManager())),
@@ -96,7 +95,7 @@ void CacheImpl::initServices() {
   m_tcrConnectionManager = new TcrConnectionManager(this);
   if (!m_initDone && m_attributes != nullptr &&
       !m_attributes->getEndpoints().empty()) {
-    if (getCache()->getPoolManager().getAll().size() > 0 && getCacheMode()) {
+    if (getPoolManager().getAll().size() > 0 && getCacheMode()) {
       LOGWARN(
           "At least one pool has been created so ignoring cache level "
           "redundancy setting");
@@ -115,7 +114,7 @@ void CacheImpl::initServices() {
 void CacheImpl::netDown() {
   m_tcrConnectionManager->netDown();
 
-  for (const auto& itr : getCache()->getPoolManager().getAll()) {
+  for (const auto& itr : getPoolManager().getAll()) {
     auto currPool = itr.second;
     if (auto poolHADM =
             std::dynamic_pointer_cast<ThinClientPoolHADM>(currPool)) {
@@ -147,8 +146,7 @@ CacheImpl::RegionKind CacheImpl::getRegionKind(
       regionKind = THINCLIENT_REGION;
     }
   } else if (!regionAttributes.getPoolName().empty()) {
-    auto pPtr =
-        getCache()->getPoolManager().find(regionAttributes.getPoolName());
+    auto pPtr = getPoolManager().find(regionAttributes.getPoolName());
     if ((pPtr != nullptr && (pPtr->getSubscriptionRedundancy() > 0 ||
                              pPtr->getSubscriptionEnabled())) ||
         m_tcrConnectionManager->isDurable()) {
@@ -173,11 +171,11 @@ int CacheImpl::removeRegion(const char* name) {
 }
 
 std::shared_ptr<QueryService> CacheImpl::getQueryService(bool noInit) {
-  if (m_defaultPool != nullptr) {
-    if (m_defaultPool->isDestroyed()) {
+  if (auto&& defaultPool = getPoolManager().getDefaultPool()) {
+    if (defaultPool->isDestroyed()) {
       throw IllegalStateException("Pool has been destroyed.");
     }
-    return m_defaultPool->getQueryService();
+    return defaultPool->getQueryService();
   }
 
   if (m_remoteQueryServicePtr == nullptr) {
@@ -194,7 +192,7 @@ std::shared_ptr<QueryService> 
CacheImpl::getQueryService(const char* poolName) {
   if (poolName == nullptr || strlen(poolName) == 0) {
     throw IllegalArgumentException("PoolName is nullptr or not defined..");
   }
-  auto pool = getCache()->getPoolManager().find(poolName);
+  auto pool = getPoolManager().find(poolName);
 
   if (pool != nullptr) {
     if (pool->isDestroyed()) {
@@ -222,9 +220,9 @@ const std::string& CacheImpl::getName() const {
 
 bool CacheImpl::isClosed() const { return m_closed; }
 
-void CacheImpl::setAttributes(const std::shared_ptr<CacheAttributes>& attrs) {
-  if (m_attributes == nullptr && attrs != nullptr) {
-    m_attributes = attrs;
+void CacheImpl::setAttributes(const std::shared_ptr<CacheAttributes>& 
attributes) {
+  if (m_attributes == nullptr && attributes != nullptr) {
+    m_attributes = attributes;
   }
 }
 
@@ -427,7 +425,7 @@ void CacheImpl::createRegion(std::string name,
     if (!props.isGridClient()) {
       const auto& poolName = regionAttributes.getPoolName();
       if (!poolName.empty()) {
-        auto pool = getCache()->getPoolManager().find(poolName);
+        auto pool = getPoolManager().find(poolName);
         if (pool != nullptr && !pool->isDestroyed() &&
             pool->getPRSingleHopEnabled()) {
           ThinClientPoolDM* poolDM =
@@ -512,7 +510,7 @@ std::shared_ptr<RegionInternal> 
CacheImpl::createRegion_internal(
       m_attributes ? m_attributes->getEndpoints() : "";
 
   if (!poolName.empty()) {
-    auto pool = getCache()->getPoolManager().find(poolName);
+    auto pool = getPoolManager().find(poolName);
     if (pool != nullptr && !pool->isDestroyed()) {
       bool isMultiUserSecureMode = pool->getMultiuserAuthentication();
       if (isMultiUserSecureMode && (attrs.getCachingEnabled())) {
@@ -605,7 +603,7 @@ void CacheImpl::readyForEvents() {
     return;
   }
 
-  const auto& pools = getCache()->getPoolManager().getAll();
+  const auto& pools = getPoolManager().getAll();
   if (pools.empty()) throw IllegalStateException("No pools found.");
   for (const auto& itr : pools) {
     const auto& currPool = itr.second;
@@ -623,7 +621,7 @@ void CacheImpl::readyForEvents() {
 }
 
 bool CacheImpl::getEndpointStatus(const std::string& endpoint) {
-  const auto& pools = getCache()->getPoolManager().getAll();
+  const auto& pools = getPoolManager().getAll();
   std::string fullName = endpoint;
 
   if (pools.empty()) {
@@ -678,7 +676,7 @@ void CacheImpl::processMarker() {
 }
 
 int CacheImpl::getPoolSize(const char* poolName) {
-  if (const auto pool = getCache()->getPoolManager().find(poolName)) {
+  if (const auto pool = getPoolManager().find(poolName)) {
     if (const auto dm = std::dynamic_pointer_cast<ThinClientPoolDM>(pool)) {
       return dm->m_poolSize;
     }
@@ -744,4 +742,30 @@ CacheImpl::getMemberListForVersionStamp() {
   return *versionStampMemIdList;
 }
 
+std::unique_ptr<DataOutput> CacheImpl::createDataOutput() const {
+  return CacheImpl::createDataOutput(nullptr);
+}
+
+std::unique_ptr<DataOutput> CacheImpl::createDataOutput(Pool* pool) const {
+  if (!pool) {
+    pool = this->getPoolManager().getDefaultPool().get();
+  }
+
+  return std::unique_ptr<DataOutput>(new DataOutput(this, pool));
+}
+
+std::unique_ptr<DataInput> CacheImpl::createDataInput(const uint8_t* buffer,
+                                                      size_t len) const {
+  return CacheImpl::createDataInput(buffer, len, nullptr);
+}
+
+std::unique_ptr<DataInput> CacheImpl::createDataInput(const uint8_t* buffer,
+                                                      size_t len,
+                                                      Pool* pool) const {
+  if (!pool) {
+    pool = this->getPoolManager().getDefaultPool().get();
+  }
+  return std::unique_ptr<DataInput>(new DataInput(buffer, len, this, pool));
+}
+
 void CacheImpl::setCache(Cache* cache) { m_cache = cache; }
diff --git a/cppcache/src/CacheImpl.hpp b/cppcache/src/CacheImpl.hpp
index 6f424c0..7308a89 100644
--- a/cppcache/src/CacheImpl.hpp
+++ b/cppcache/src/CacheImpl.hpp
@@ -85,7 +85,8 @@ class SerializationRegistry;
  *
  */
 
-class APACHE_GEODE_EXPORT CacheImpl : private NonCopyable, private 
NonAssignable {
+class APACHE_GEODE_EXPORT CacheImpl : private NonCopyable,
+                                      private NonAssignable {
   /**
    * @brief public methods
    */
@@ -136,7 +137,7 @@ class APACHE_GEODE_EXPORT CacheImpl : private NonCopyable, 
private NonAssignable
   }
 
   /** Set the <code>CacheAttributes</code> for this cache. */
-  void setAttributes(const std::shared_ptr<CacheAttributes>& attrs);
+  void setAttributes(const std::shared_ptr<CacheAttributes>& attributes);
 
   /**
    * Returns the distributed system that this cache was
@@ -211,6 +212,7 @@ class APACHE_GEODE_EXPORT CacheImpl : private NonCopyable, 
private NonAssignable
   }
 
   Cache* getCache() const { return m_cache; }
+
   TcrConnectionManager& tcrConnectionManager() {
     return *m_tcrConnectionManager;
   }
@@ -271,20 +273,21 @@ class APACHE_GEODE_EXPORT CacheImpl : private 
NonCopyable, private NonAssignable
     return m_authInitialize;
   }
 
-  virtual std::unique_ptr<DataOutput> createDataOutput() const {
-    return std::unique_ptr<DataOutput>(new DataOutput(this));
-  }
+  virtual std::unique_ptr<DataOutput> createDataOutput() const;
+
+  virtual std::unique_ptr<DataOutput> createDataOutput(Pool* pool) const;
 
   virtual std::unique_ptr<DataInput> createDataInput(const uint8_t* buffer,
-                                                     size_t len) const {
-    return std::unique_ptr<DataInput>(new DataInput(buffer, len, this));
-  }
+                                                     size_t len) const;
+
+  virtual std::unique_ptr<DataInput> createDataInput(const uint8_t* buffer,
+                                                     size_t len,
+                                                     Pool* pool) const;
 
  private:
   std::atomic<bool> m_networkhop;
   std::atomic<int> m_blacklistBucketTimeout;
   std::atomic<int8_t> m_serverGroupFlag;
-  std::shared_ptr<Pool> m_defaultPool;
   bool m_ignorePdxUnreadFields;
   bool m_readPdxSerialized;
   std::unique_ptr<ExpiryTaskManager> m_expiryTaskManager;
diff --git a/cppcache/src/CacheableEnum.cpp b/cppcache/src/CacheableEnum.cpp
index abd2f88..44442f8 100644
--- a/cppcache/src/CacheableEnum.cpp
+++ b/cppcache/src/CacheableEnum.cpp
@@ -52,7 +52,7 @@ void CacheableEnum::toData(apache::geode::client::DataOutput& 
output) const {
 
 void CacheableEnum::fromData(apache::geode::client::DataInput& input) {
   auto dsId = input.read();
-  int32_t arrLen = input.readArrayLen();
+  int32_t arrLen = input.readArrayLength();
   int enumId = (dsId << 24) | (arrLen & 0xFFFFFF);
   auto enumVal = PdxHelper::getEnum(
       enumId,
diff --git a/cppcache/src/CacheableObjectArray.cpp 
b/cppcache/src/CacheableObjectArray.cpp
index cb99a70..64d1296 100644
--- a/cppcache/src/CacheableObjectArray.cpp
+++ b/cppcache/src/CacheableObjectArray.cpp
@@ -36,7 +36,7 @@ void CacheableObjectArray::toData(DataOutput& output) const {
 }
 
 void CacheableObjectArray::fromData(DataInput& input) {
-  int32_t len = input.readArrayLen();
+  int32_t len = input.readArrayLength();
   if (len >= 0) {
     input.read();        // ignore CLASS typeid
     input.readString();  // ignore class name
diff --git a/cppcache/src/CacheableObjectPartList.cpp 
b/cppcache/src/CacheableObjectPartList.cpp
index 87d9c37..b31144c 100644
--- a/cppcache/src/CacheableObjectPartList.cpp
+++ b/cppcache/src/CacheableObjectPartList.cpp
@@ -57,7 +57,7 @@ void CacheableObjectPartList::fromData(DataInput& input) {
       uint8_t byte = input.read();
 
       if (byte == 2 /* for exception*/) {
-        input.advanceCursor(input.readArrayLen());
+        input.advanceCursor(input.readArrayLength());
         // input.readObject(exMsgPtr, true);// Changed
         auto exMsg = input.readString();
         if (exMsg == "org.apache.geode.security.NotAuthorizedException") {
diff --git a/cppcache/src/ClientProxyMembershipID.cpp 
b/cppcache/src/ClientProxyMembershipID.cpp
index c52e69c..64e20e0 100644
--- a/cppcache/src/ClientProxyMembershipID.cpp
+++ b/cppcache/src/ClientProxyMembershipID.cpp
@@ -220,7 +220,7 @@ void ClientProxyMembershipID::fromData(DataInput& input) {
   std::shared_ptr<CacheableString> hostname, dsName, uniqueTag, 
durableClientId;
   int8_t splitbrain, vmKind;
 
-  len = input.readArrayLen();  // inetaddress len
+  len = input.readArrayLength();  // inetaddress len
   m_hostAddrLocalMem = true;
   /* adongre  - Coverity II
    * CID 29184: Out-of-bounds access (OVERRUN_DYNAMIC)
@@ -268,7 +268,7 @@ Serializable* 
ClientProxyMembershipID::readEssentialData(DataInput& input) {
   int32_t len, hostPort, vmViewId = 0;
   std::shared_ptr<CacheableString> hostname, dsName, uniqueTag, vmViewIdstr;
 
-  len = input.readArrayLen();  // inetaddress len
+  len = input.readArrayLength();  // inetaddress len
   m_hostAddrLocalMem = true;
   /* adongre - Coverity II
    * CID 29183: Out-of-bounds access (OVERRUN_DYNAMIC)
diff --git a/cppcache/src/CqService.hpp b/cppcache/src/CqService.hpp
index 97be244..28f70bf 100644
--- a/cppcache/src/CqService.hpp
+++ b/cppcache/src/CqService.hpp
@@ -58,9 +58,10 @@ namespace client {
  *
  */
 
-class APACHE_GEODE_EXPORT CqService : private NonCopyable,
-                                private NonAssignable,
-                                public std::enable_shared_from_this<CqService> 
{
+class APACHE_GEODE_EXPORT CqService
+    : private NonCopyable,
+      private NonAssignable,
+      public std::enable_shared_from_this<CqService> {
  private:
   ThinClientBaseDM* m_tccdm;
   statistics::StatisticsFactory* m_statisticsFactory;
diff --git a/cppcache/src/DataInput.cpp b/cppcache/src/DataInput.cpp
index 15046bc..6ff55d7 100644
--- a/cppcache/src/DataInput.cpp
+++ b/cppcache/src/DataInput.cpp
@@ -22,11 +22,20 @@
 #include "CacheImpl.hpp"
 #include "util/string.hpp"
 #include "util/JavaModifiedUtf8.hpp"
+#include <geode/PoolManager.hpp>
 
 namespace apache {
 namespace geode {
 namespace client {
 
+DataInput::DataInput(const uint8_t* m_buffer, size_t len,
+                     const CacheImpl* cache, Pool* pool)
+    : m_buf(m_buffer),
+      m_bufHead(m_buffer),
+      m_bufLength(len),
+      m_pool(pool),
+      m_cache(cache) {}
+
 std::shared_ptr<Serializable> DataInput::readObjectInternal(int8_t typeId) {
   return getSerializationRegistry().deserialize(*this, typeId);
 }
diff --git a/cppcache/src/DataInputInternal.hpp 
b/cppcache/src/DataInputInternal.hpp
index 10952c1..471b78e 100644
--- a/cppcache/src/DataInputInternal.hpp
+++ b/cppcache/src/DataInputInternal.hpp
@@ -29,22 +29,13 @@ namespace client {
 class DataInputInternal : public DataInput {
  public:
   DataInputInternal(const uint8_t* buffer, size_t len)
-      : DataInput(buffer, len, nullptr) {}
+      : DataInput(buffer, len, nullptr, nullptr) {}
 
   DataInputInternal(const uint8_t* buffer, size_t len, const CacheImpl* cache)
-      : DataInput(buffer, len, cache) {}
+      : DataInput(buffer, len, cache, nullptr) {}
 
-  virtual const Cache* getCache() override {
-    throw FatalInternalException("DataInputInternal does not have a Cache");
-  }
-
-  inline static const std::string& getPoolName(const DataInput& dataInput) {
-    return dataInput.getPoolName();
-  }
-
-  inline static void setPoolName(DataInput& dataInput,
-                                 const std::string& poolName) {
-    return dataInput.setPoolName(poolName);
+  inline static Pool* getPool(const DataInput& dataInput) {
+    return dataInput.getPool();
   }
 };
 
diff --git a/cppcache/src/DataOutput.cpp b/cppcache/src/DataOutput.cpp
index e31a924..98b9837 100644
--- a/cppcache/src/DataOutput.cpp
+++ b/cppcache/src/DataOutput.cpp
@@ -113,11 +113,8 @@ TSSDataOutput::~TSSDataOutput() {
 
 ACE_TSS<TSSDataOutput> TSSDataOutput::s_tssDataOutput;
 
-DataOutput::DataOutput(const CacheImpl* cache)
-    : m_size(0),
-      m_haveBigBuffer(false),
-      m_cache(cache),
-      m_poolName(EMPTY_STRING) {
+DataOutput::DataOutput(const CacheImpl* cache, Pool* pool)
+    : m_size(0), m_haveBigBuffer(false), m_cache(cache), m_pool(pool) {
   m_buf = m_bytes = DataOutput::checkoutBuffer(&m_size);
 }
 
diff --git a/cppcache/src/DataOutputInternal.hpp 
b/cppcache/src/DataOutputInternal.hpp
index 21c0bc4..3f6abbf 100644
--- a/cppcache/src/DataOutputInternal.hpp
+++ b/cppcache/src/DataOutputInternal.hpp
@@ -22,6 +22,9 @@
 
 #include <geode/DataOutput.hpp>
 
+#include "CacheImpl.hpp"          // TODO remove
+#include <geode/PoolManager.hpp>  // TODO remove
+
 namespace apache {
 namespace geode {
 namespace client {
@@ -30,21 +33,12 @@ class CacheImpl;
 
 class DataOutputInternal : public DataOutput {
  public:
-  DataOutputInternal() : DataOutput() {}
-
-  DataOutputInternal(CacheImpl* cache) : DataOutput(cache) {}
+  DataOutputInternal() : DataOutput(nullptr, nullptr) {}
 
-  virtual const Cache* getCache() override {
-    throw FatalInternalException("DataOutputInternal does not have a Cache");
-  }
-
-  inline static const std::string& getPoolName(const DataOutput& dataOutput) {
-    return dataOutput.getPoolName();
-  }
+  DataOutputInternal(CacheImpl* cache) : DataOutput(cache, nullptr) {}
 
-  inline static void setPoolName(DataOutput& dataOutput,
-                                 const std::string& poolName) {
-    return dataOutput.setPoolName(poolName);
+  inline static Pool* getPool(const DataOutput& dataOutput) {
+    return dataOutput.getPool();
   }
 };
 
diff --git a/cppcache/src/EventId.cpp b/cppcache/src/EventId.cpp
index 4bcac1d..8c808a4 100644
--- a/cppcache/src/EventId.cpp
+++ b/cppcache/src/EventId.cpp
@@ -73,9 +73,9 @@ void EventId::toData(DataOutput& output) const {
 
 void EventId::fromData(DataInput& input) {
   // TODO: statics being assigned; not thread-safe??
-  m_eidMemLen = input.readArrayLen();
+  m_eidMemLen = input.readArrayLength();
   input.readBytesOnly(reinterpret_cast<int8_t*>(m_eidMem), m_eidMemLen);
-  input.readArrayLen();  // ignore arrayLen
+  input.readArrayLength();  // ignore arrayLen
   m_eidThr = getEventIdData(input, input.read());
   m_eidSeq = getEventIdData(input, input.read());
   m_bucketId = input.readInt32();
diff --git a/cppcache/src/ExpMapEntry.hpp b/cppcache/src/ExpMapEntry.hpp
index 3480521..e6fcde0 100644
--- a/cppcache/src/ExpMapEntry.hpp
+++ b/cppcache/src/ExpMapEntry.hpp
@@ -32,7 +32,7 @@ namespace client {
  * This subclass adds expiration times.
  */
 class APACHE_GEODE_EXPORT ExpMapEntry : public MapEntryImpl,
-                                  public ExpEntryProperties {
+                                        public ExpEntryProperties {
  public:
   virtual ~ExpMapEntry() {}
 
@@ -60,7 +60,7 @@ class APACHE_GEODE_EXPORT ExpMapEntry : public MapEntryImpl,
 };
 
 class APACHE_GEODE_EXPORT VersionedExpMapEntry : public ExpMapEntry,
-                                           public VersionStamp {
+                                                 public VersionStamp {
  public:
   virtual ~VersionedExpMapEntry() {}
 
diff --git a/cppcache/src/FarSideEntryOp.cpp b/cppcache/src/FarSideEntryOp.cpp
index a7ccc5a..583e317 100644
--- a/cppcache/src/FarSideEntryOp.cpp
+++ b/cppcache/src/FarSideEntryOp.cpp
@@ -90,7 +90,7 @@ void FarSideEntryOp::fromData(DataInput& input, bool 
largeModCount,
         }
       } else {
         // uint8_t* buf = nullptr;
-        input.readArrayLen();  // ignore len
+        input.readArrayLength();  // ignore len
         input.readObject(m_value);
 
         // input.readBytes(&buf, &len);
@@ -129,10 +129,10 @@ void FarSideEntryOp::skipFilterRoutingInfo(DataInput& 
input) {
       // memId.fromData(input);
       memId.readEssentialData(input);
 
-      int32_t len = input.readArrayLen();
+      int32_t len = input.readArrayLength();
 
       if (input.readBoolean()) {
-        len = input.readArrayLen();
+        len = input.readArrayLength();
         for (int j = 0; j < len; j++) {
           input.readUnsignedVL();
           input.readUnsignedVL();
diff --git a/cppcache/src/LRUEntriesMap.hpp b/cppcache/src/LRUEntriesMap.hpp
index 1c83fc7..1ccb3f2 100644
--- a/cppcache/src/LRUEntriesMap.hpp
+++ b/cppcache/src/LRUEntriesMap.hpp
@@ -58,8 +58,8 @@ class EvictionController;
  * Fix : Make the class Non Assinable
  */
 class APACHE_GEODE_EXPORT LRUEntriesMap : public ConcurrentEntriesMap,
-                                    private NonCopyable,
-                                    private NonAssignable {
+                                          private NonCopyable,
+                                          private NonAssignable {
  protected:
   LRUAction* m_action;
   LRUList<MapEntryImpl, MapEntryT<LRUMapEntry, 0, 0> > m_lruList;
diff --git a/cppcache/src/LRUExpMapEntry.hpp b/cppcache/src/LRUExpMapEntry.hpp
index d0a5e53..a14c014 100644
--- a/cppcache/src/LRUExpMapEntry.hpp
+++ b/cppcache/src/LRUExpMapEntry.hpp
@@ -32,8 +32,8 @@ namespace client {
  * @brief Hold region mapped entry value and lru information.
  */
 class APACHE_GEODE_EXPORT LRUExpMapEntry : public MapEntryImpl,
-                                     public LRUEntryProperties,
-                                     public ExpEntryProperties {
+                                           public LRUEntryProperties,
+                                           public ExpEntryProperties {
  public:
   virtual ~LRUExpMapEntry() {}
 
@@ -64,7 +64,7 @@ class APACHE_GEODE_EXPORT LRUExpMapEntry : public 
MapEntryImpl,
 };
 
 class APACHE_GEODE_EXPORT VersionedLRUExpMapEntry : public LRUExpMapEntry,
-                                              public VersionStamp {
+                                                    public VersionStamp {
  public:
   virtual ~VersionedLRUExpMapEntry() {}
 
diff --git a/cppcache/src/LRUMapEntry.hpp b/cppcache/src/LRUMapEntry.hpp
index d92528c..7174070 100644
--- a/cppcache/src/LRUMapEntry.hpp
+++ b/cppcache/src/LRUMapEntry.hpp
@@ -60,7 +60,7 @@ namespace client {
  *
  */
 class APACHE_GEODE_EXPORT LRUMapEntry : public MapEntryImpl,
-                                  public LRUEntryProperties {
+                                        public LRUEntryProperties {
  public:
   virtual ~LRUMapEntry() {}
 
@@ -88,7 +88,7 @@ class APACHE_GEODE_EXPORT LRUMapEntry : public MapEntryImpl,
 };
 
 class APACHE_GEODE_EXPORT VersionedLRUMapEntry : public LRUMapEntry,
-                                           public VersionStamp {
+                                                 public VersionStamp {
  public:
   virtual ~VersionedLRUMapEntry() {}
 
diff --git a/cppcache/src/MapEntry.hpp b/cppcache/src/MapEntry.hpp
index efed813..c6a7d44 100644
--- a/cppcache/src/MapEntry.hpp
+++ b/cppcache/src/MapEntry.hpp
@@ -261,7 +261,7 @@ class MapEntryImpl : public MapEntry,
 };
 
 class APACHE_GEODE_EXPORT VersionedMapEntryImpl : public MapEntryImpl,
-                                            public VersionStamp {
+                                                  public VersionStamp {
  public:
   virtual ~VersionedMapEntryImpl() {}
 
diff --git a/cppcache/src/PdxHelper.cpp b/cppcache/src/PdxHelper.cpp
index 0470b9e..bb94636 100644
--- a/cppcache/src/PdxHelper.cpp
+++ b/cppcache/src/PdxHelper.cpp
@@ -65,7 +65,7 @@ void PdxHelper::serializePdx(
             0)  // from pdxInstance factory need to get typeid from server
     {
       int typeId = pdxTypeRegistry->getPDXIdForType(
-          piPt, DataOutputInternal::getPoolName(output).c_str());
+          piPt, DataOutputInternal::getPool(output));
       pdxII->setPdxId(typeId);
     }
     auto plw = PdxLocalWriter(output, piPt, pdxTypeRegistry);
@@ -92,8 +92,7 @@ void PdxHelper::serializePdx(
 
     nType->InitializeType();
     int32_t nTypeId = pdxTypeRegistry->getPDXIdForType(
-        className.c_str(), DataOutputInternal::getPoolName(output).c_str(),
-        nType, true);
+        className.c_str(), DataOutputInternal::getPool(output), nType, true);
     nType->setTypeId(nTypeId);
 
     ptc.endObjectWriting();
@@ -188,9 +187,7 @@ std::shared_ptr<PdxSerializable> 
PdxHelper::deserializePdx(DataInput& dataInput,
     if (pType == nullptr) {
       pType = std::static_pointer_cast<PdxType>(
           serializationRegistry->GetPDXTypeById(
-              cacheImpl->getCache()->getPoolManager().find(
-                  DataInputInternal::getPoolName(dataInput)),
-              typeId));
+              DataInputInternal::getPool(dataInput), typeId));
       pdxLocalType = 
pdxTypeRegistry->getLocalPdxType(pType->getPdxClassName());
     }
     /* adongre  - Coverity II
@@ -220,9 +217,8 @@ std::shared_ptr<PdxSerializable> 
PdxHelper::deserializePdx(DataInput& dataInput,
         // Need to know local type and then merge type
         pdxLocalType->InitializeType();
         pdxLocalType->setTypeId(pdxTypeRegistry->getPDXIdForType(
-            pdxObjectptr->getClassName(),
-            DataInputInternal::getPoolName(dataInput).c_str(), pdxLocalType,
-            true));
+            pdxObjectptr->getClassName(), 
DataInputInternal::getPool(dataInput),
+            pdxLocalType, true));
         pdxLocalType->setLocal(true);
         pdxTypeRegistry->addLocalPdxType(pdxRealObject->getClassName(),
                                          pdxLocalType);  // added local type
@@ -296,9 +292,7 @@ std::shared_ptr<PdxSerializable> PdxHelper::deserializePdx(
       // TODO shared_ptr why redef?
       auto pType = std::static_pointer_cast<PdxType>(
           serializationRegistry->GetPDXTypeById(
-              cacheImpl->getCache()->getPoolManager().find(
-                  DataInputInternal::getPoolName(dataInput)),
-              typeId));
+              DataInputInternal::getPool(dataInput), typeId));
       pdxTypeRegistry->addLocalPdxType(pType->getPdxClassName(), pType);
       pdxTypeRegistry->addPdxType(pType->getTypeId(), pType);
     }
@@ -335,9 +329,7 @@ void PdxHelper::createMergedType(std::shared_ptr<PdxType> 
localType,
     mergedVersion->InitializeType();
     if (mergedVersion->getTypeId() == 0) {
       mergedVersion->setTypeId(serializaionRegistry->GetPDXIdForType(
-          dataInput.getCache()->getPoolManager().find(
-              DataInputInternal::getPoolName(dataInput)),
-          mergedVersion));
+          DataInputInternal::getPool(dataInput), mergedVersion));
     }
 
     // PdxTypeRegistry::AddPdxType(remoteType->TypeId, mergedVersion);
diff --git a/cppcache/src/PdxType.cpp b/cppcache/src/PdxType.cpp
index 379d0e1..fe56b90 100644
--- a/cppcache/src/PdxType.cpp
+++ b/cppcache/src/PdxType.cpp
@@ -100,7 +100,7 @@ void PdxType::fromData(DataInput& input) {
 
   m_varLenFieldIdx = input.readInt32();
 
-  int len = input.readArrayLen();
+  int len = input.readArrayLength();
 
   bool foundVarLenType = false;
 
diff --git a/cppcache/src/PdxTypeRegistry.cpp b/cppcache/src/PdxTypeRegistry.cpp
index d390585..03a8081 100644
--- a/cppcache/src/PdxTypeRegistry.cpp
+++ b/cppcache/src/PdxTypeRegistry.cpp
@@ -41,8 +41,7 @@ size_t PdxTypeRegistry::testNumberOfPreservedData() const {
   return preserveData.size();
 }
 
-int32_t PdxTypeRegistry::getPDXIdForType(const std::string& type,
-                                         const std::string& poolname,
+int32_t PdxTypeRegistry::getPDXIdForType(const std::string& type, Pool* pool,
                                          std::shared_ptr<PdxType> nType,
                                          bool checkIfThere) {
   // WriteGuard guard(g_readerWriterLock);
@@ -56,8 +55,7 @@ int32_t PdxTypeRegistry::getPDXIdForType(const std::string& 
type,
     }
   }
 
-  int typeId = cache->getSerializationRegistry()
-                    ->GetPDXIdForType(cache->getPoolManager().find(poolname), 
nType);
+  int typeId = cache->getSerializationRegistry()->GetPDXIdForType(pool, nType);
   nType->setTypeId(typeId);
 
   PdxTypeRegistry::addPdxType(typeId, nType);
@@ -65,7 +63,7 @@ int32_t PdxTypeRegistry::getPDXIdForType(const std::string& 
type,
 }
 
 int32_t PdxTypeRegistry::getPDXIdForType(std::shared_ptr<PdxType> nType,
-                                         const std::string& poolname) {
+                                         Pool* pool) {
   int32_t typeId = 0;
   {
     ReadGuard read(g_readerWriterLock);
@@ -88,8 +86,7 @@ int32_t 
PdxTypeRegistry::getPDXIdForType(std::shared_ptr<PdxType> nType,
     }
   }
 
-  typeId = cache->getSerializationRegistry()
-                ->GetPDXIdForType(cache->getPoolManager().find(poolname), 
nType);
+  typeId = cache->getSerializationRegistry()->GetPDXIdForType(pool, nType);
   nType->setTypeId(typeId);
   pdxTypeToTypeIdMap.insert(std::make_pair(nType, typeId));
   addPdxType(typeId, nType);
diff --git a/cppcache/src/PdxTypeRegistry.hpp b/cppcache/src/PdxTypeRegistry.hpp
index c3504b1..f3bf4f6 100644
--- a/cppcache/src/PdxTypeRegistry.hpp
+++ b/cppcache/src/PdxTypeRegistry.hpp
@@ -119,7 +119,7 @@ class APACHE_GEODE_EXPORT PdxTypeRegistry
 
   void clear();
 
-  int32_t getPDXIdForType(const std::string& type, const std::string& poolname,
+  int32_t getPDXIdForType(const std::string& type, Pool* pool,
                           std::shared_ptr<PdxType> nType, bool checkIfThere);
 
   bool getPdxIgnoreUnreadFields() const { return pdxIgnoreUnreadFields; }
@@ -138,8 +138,7 @@ class APACHE_GEODE_EXPORT PdxTypeRegistry
 
   std::shared_ptr<EnumInfo> getEnum(int32_t enumVal);
 
-  int32_t getPDXIdForType(std::shared_ptr<PdxType> nType,
-                          const std::string& poolname);
+  int32_t getPDXIdForType(std::shared_ptr<PdxType> nType, Pool* pool);
 
   ACE_RW_Thread_Mutex& getPreservedDataLock() const {
     return g_preservedDataLock;
diff --git a/cppcache/src/PoolManagerImpl.cpp b/cppcache/src/PoolManagerImpl.cpp
index 6d4a6fe..9bdb42d 100644
--- a/cppcache/src/PoolManagerImpl.cpp
+++ b/cppcache/src/PoolManagerImpl.cpp
@@ -69,7 +69,7 @@ std::shared_ptr<Pool> PoolManagerImpl::find(const 
std::string& name) const {
 
 std::shared_ptr<Pool> PoolManagerImpl::find(
     std::shared_ptr<Region> region) const {
-  return find(region->getAttributes().getPoolName().c_str());
+  return find(region->getAttributes().getPoolName());
 }
 
 const HashMapOfPools& PoolManagerImpl::getAll() const {
diff --git a/cppcache/src/PreservedDataExpiryHandler.hpp 
b/cppcache/src/PreservedDataExpiryHandler.hpp
index d4653d9..e27c04e 100644
--- a/cppcache/src/PreservedDataExpiryHandler.hpp
+++ b/cppcache/src/PreservedDataExpiryHandler.hpp
@@ -38,7 +38,8 @@ namespace client {
  * when a preserved data expires.
  *
  */
-class APACHE_GEODE_EXPORT PreservedDataExpiryHandler : public 
ACE_Event_Handler {
+class APACHE_GEODE_EXPORT PreservedDataExpiryHandler
+    : public ACE_Event_Handler {
  public:
   /**
    * Constructor
diff --git a/cppcache/src/Properties.cpp b/cppcache/src/Properties.cpp
index 219bed4..2c62b40 100644
--- a/cppcache/src/Properties.cpp
+++ b/cppcache/src/Properties.cpp
@@ -209,7 +209,7 @@ void Properties::toData(DataOutput& output) const {
 }
 
 void Properties::fromData(DataInput& input) {
-  auto mapSize = input.readArrayLen();
+  auto mapSize = input.readArrayLength();
   m_map.reserve(mapSize);
 
   for (int i = 0; i < mapSize; i++) {
diff --git a/cppcache/src/PutAllPartialResultServerException.hpp 
b/cppcache/src/PutAllPartialResultServerException.hpp
index 3ea0c77..2d2397c 100644
--- a/cppcache/src/PutAllPartialResultServerException.hpp
+++ b/cppcache/src/PutAllPartialResultServerException.hpp
@@ -35,7 +35,8 @@ class PutAllPartialResultServerException;
  * @brief PutAllPartialResultServerException class is used to encapsulate
  *geode PutAllPartialResultServerException in case of PutAll execution.
  **/
-class APACHE_GEODE_EXPORT PutAllPartialResultServerException : public 
Serializable {
+class APACHE_GEODE_EXPORT PutAllPartialResultServerException
+    : public Serializable {
   /**
    * @brief public methods
    */
diff --git a/cppcache/src/RegionAttributes.cpp 
b/cppcache/src/RegionAttributes.cpp
index 2a4aca9..870fa7e 100644
--- a/cppcache/src/RegionAttributes.cpp
+++ b/cppcache/src/RegionAttributes.cpp
@@ -302,7 +302,7 @@ void writeString(DataOutput& out, const std::string& field) 
{
 
 void readString(DataInput& in, std::string& field) {
   // length including null terminator
-  auto len = in.readArrayLen();
+  auto len = in.readArrayLength();
   // currentBufferPosition is read-only and we are only reading, cast away 
const
   field = std::string(const_cast<char*>(reinterpret_cast<const char*>(
                           in.currentBufferPosition())),
diff --git a/cppcache/src/SerializationRegistry.cpp 
b/cppcache/src/SerializationRegistry.cpp
index e26170d..625b360 100644
--- a/cppcache/src/SerializationRegistry.cpp
+++ b/cppcache/src/SerializationRegistry.cpp
@@ -254,39 +254,43 @@ std::shared_ptr<PdxSerializable> 
SerializationRegistry::getPdxType(
   return pdxObj;
 }
 
-void SerializationRegistry::setPdxSerializer(std::shared_ptr<PdxSerializer> 
serializer) {
+void SerializationRegistry::setPdxSerializer(
+    std::shared_ptr<PdxSerializer> serializer) {
   this->pdxSerializer = serializer;
 }
+
 std::shared_ptr<PdxSerializer> SerializationRegistry::getPdxSerializer() {
   return pdxSerializer;
 }
 
-int32_t SerializationRegistry::GetPDXIdForType(std::shared_ptr<Pool> pool,
-                                               std::shared_ptr<Serializable> 
pdxType) const {
-  if (pool == nullptr) {
-    throw IllegalStateException("Pool not found, Pdx operation failed");
+int32_t SerializationRegistry::GetPDXIdForType(
+    Pool* pool, std::shared_ptr<Serializable> pdxType) const {
+  if (auto poolDM = dynamic_cast<ThinClientPoolDM*>(pool)) {
+    return poolDM->GetPDXIdForType(pdxType);
   }
 
-  return static_cast<ThinClientPoolDM*>(pool.get())->GetPDXIdForType(pdxType);
+  throw IllegalStateException("Pool not found, Pdx operation failed");
 }
- std::shared_ptr<Serializable> 
SerializationRegistry::GetPDXTypeById(std::shared_ptr<Pool> pool,
-                                                      int32_t typeId) const {
-   if (pool == nullptr) {
-     throw IllegalStateException("Pool not found, Pdx operation failed");
+
+std::shared_ptr<Serializable> SerializationRegistry::GetPDXTypeById(
+    Pool* pool, int32_t typeId) const {
+  if (auto poolDM = dynamic_cast<ThinClientPoolDM*>(pool)) {
+    return poolDM->GetPDXTypeById(typeId);
   }
 
-  return static_cast<ThinClientPoolDM*>(pool.get())->GetPDXTypeById(typeId);
+  throw IllegalStateException("Pool not found, Pdx operation failed");
 }
 
-int32_t SerializationRegistry::GetEnumValue(std::shared_ptr<Pool> pool,
-                                            std::shared_ptr<Serializable> 
enumInfo) const {
+int32_t SerializationRegistry::GetEnumValue(
+    std::shared_ptr<Pool> pool, std::shared_ptr<Serializable> enumInfo) const {
   if (pool == nullptr) {
     throw IllegalStateException("Pool not found, Pdx operation failed");
   }
 
   return static_cast<ThinClientPoolDM*>(pool.get())->GetEnumValue(enumInfo);
-} std::shared_ptr<Serializable> 
SerializationRegistry::GetEnum(std::shared_ptr<Pool> pool,
-                                               int32_t val) const {
+}
+std::shared_ptr<Serializable> SerializationRegistry::GetEnum(
+    std::shared_ptr<Pool> pool, int32_t val) const {
   if (pool == nullptr) {
     throw IllegalStateException("Pool not found, Pdx operation failed");
   }
diff --git a/cppcache/src/SerializationRegistry.hpp 
b/cppcache/src/SerializationRegistry.hpp
index bd9abc2..a92af6c 100644
--- a/cppcache/src/SerializationRegistry.hpp
+++ b/cppcache/src/SerializationRegistry.hpp
@@ -215,13 +215,15 @@ class APACHE_GEODE_EXPORT SerializationRegistry {
 
   void removeType2(int64_t compId);
 
-  int32_t GetPDXIdForType(std::shared_ptr<Pool> pool,
+  int32_t GetPDXIdForType(Pool* pool,
                           std::shared_ptr<Serializable> pdxType) const;
 
-  std::shared_ptr<Serializable> GetPDXTypeById(std::shared_ptr<Pool> pool,
+  std::shared_ptr<Serializable> GetPDXTypeById(Pool* pool,
                                                int32_t typeId) const;
 
-  int32_t GetEnumValue(std::shared_ptr<Pool> pool, 
std::shared_ptr<Serializable> enumInfo) const;
+  int32_t GetEnumValue(std::shared_ptr<Pool> pool,
+                       std::shared_ptr<Serializable> enumInfo) const;
+
   std::shared_ptr<Serializable> GetEnum(std::shared_ptr<Pool> pool,
                                         int32_t val) const;
 
diff --git a/cppcache/src/Struct.cpp b/cppcache/src/Struct.cpp
index cef7a3d..71e078b 100644
--- a/cppcache/src/Struct.cpp
+++ b/cppcache/src/Struct.cpp
@@ -65,19 +65,19 @@ void Struct::fromData(DataInput& input) {
   input.advanceCursor(2);  // ignore classType
   skipClassName(input);
 
-  int32_t numOfFields = input.readArrayLen();
+  int32_t numOfFields = input.readArrayLength();
 
   m_parent = nullptr;
   for (int32_t i = 0; i < numOfFields; i++) {
     m_fieldNames.emplace(input.readString(), i);
   }
-  int32_t lengthForTypes = input.readArrayLen();
+  int32_t lengthForTypes = input.readArrayLength();
   skipClassName(input);
   for (int i = 0; i < lengthForTypes; i++) {
     input.advanceCursor(2);  // ignore classType
     skipClassName(input);
   }
-  int32_t numOfSerializedValues = input.readArrayLen();
+  int32_t numOfSerializedValues = input.readArrayLength();
   skipClassName(input);
   for (int i = 0; i < numOfSerializedValues; i++) {
     std::shared_ptr<Serializable> val;
diff --git a/cppcache/src/TXCommitMessage.cpp b/cppcache/src/TXCommitMessage.cpp
index 87c8d0e..5f7906e 100644
--- a/cppcache/src/TXCommitMessage.cpp
+++ b/cppcache/src/TXCommitMessage.cpp
@@ -82,7 +82,7 @@ void TXCommitMessage::fromData(DataInput& input) {
     if (dfsid == GeodeTypeIdsImpl::ClientProxyMembershipId) {
       ClientProxyMembershipID memId1;
 
-      input.advanceCursor(input.readArrayLen());
+      input.advanceCursor(input.readArrayLength());
 
       input.readInt32();
     } else {
@@ -104,7 +104,7 @@ void TXCommitMessage::fromData(DataInput& input) {
         GF_CACHE_ILLEGAL_STATE_EXCEPTION);
   }
 
-  int32_t len = input.readArrayLen();
+  int32_t len = input.readArrayLength();
   for (int j = 0; j < len; j++) {
     std::shared_ptr<Cacheable> tmp;
     input.readObject(tmp);
diff --git a/cppcache/src/TcrMessage.cpp b/cppcache/src/TcrMessage.cpp
index 8b52b43..2bfbaaa 100644
--- a/cppcache/src/TcrMessage.cpp
+++ b/cppcache/src/TcrMessage.cpp
@@ -584,8 +584,6 @@ void TcrMessage::writeBytesOnly(const 
std::shared_ptr<Serializable>& se) {
 }
 
 void TcrMessage::writeHeader(uint32_t msgType, uint32_t numOfParts) {
-  DataOutputInternal::setPoolName(*m_request, getPoolName());
-
   int8_t earlyAck = 0x0;
   LOGDEBUG("TcrMessage::writeHeader m_isMetaRegion = %d", m_isMetaRegion);
   if (m_tcdm != nullptr) {
@@ -883,13 +881,11 @@ void TcrMessage::processChunk(const uint8_t* bytes, 
int32_t len,
   }
 }
 
-const std::string& TcrMessage::getPoolName() const {
+Pool* TcrMessage::getPool() const {
   if (m_region) {
-    if (const auto& p = m_region->getPool()) {
-      return p->getName();
-    }
+    return m_region->getPool().get();
   }
-  return EMPTY_STRING;
+  return nullptr;
 }
 
 void TcrMessage::chunkSecurityHeader(int skipPart, const uint8_t* bytes,
@@ -909,11 +905,10 @@ void TcrMessage::handleByteArrayResponse(
     const SerializationRegistry& serializationRegistry,
     MemberListForVersionStamp& memberListForVersionStamp) {
   auto input = m_tcdm->getConnectionManager().getCacheImpl()->createDataInput(
-      (uint8_t*)bytearray, len);
+      (uint8_t*)bytearray, len, getPool());
   // TODO:: this need to make sure that pool is there
   //  if(m_tcdm == nullptr)
   //  throw IllegalArgumentException("Pool is nullptr in TcrMessage");
-  DataInputInternal::setPoolName(*input, getPoolName());
   m_msgType = input->readInt32();
   int32_t msglen;
   msglen = input->readInt32();
@@ -1233,7 +1228,7 @@ void TcrMessage::handleByteArrayResponse(
         LOGDEBUG("Expected typeID %d, got %d", 
GeodeTypeIds::CacheableArrayList,
                  bits8);
 
-        bits32 = input->readArrayLen();  // array length
+        bits32 = input->readArrayLength();  // array length
         LOGDEBUG("Array length = %d ", bits32);
         if (bits32 > 0) {
           std::vector<std::shared_ptr<BucketServerLocation>>
@@ -1289,7 +1284,7 @@ void TcrMessage::handleByteArrayResponse(
         input->read();                // ignore isObj;
         input->read();  // ignore cacheable CacheableHashSet typeid
 
-        bits32 = input->readArrayLen();  // array length
+        bits32 = input->readArrayLength();  // array length
         if (bits32 > 0) {
           m_fpaSet =
               new std::vector<std::shared_ptr<FixedPartitionAttributesImpl>>();
@@ -2557,7 +2552,8 @@ void 
TcrMessage::createUserCredentialMessage(TcrConnection* conn) {
   m_isSecurityHeaderAdded = false;
   writeHeader(m_msgType, 1);
 
-  auto dOut = 
m_tcdm->getConnectionManager().getCacheImpl()->createDataOutput();
+  auto dOut = m_tcdm->getConnectionManager().getCacheImpl()->createDataOutput(
+      getPool());
 
   if (m_creds != nullptr) m_creds->toData(*dOut);
 
@@ -2586,7 +2582,8 @@ void TcrMessage::addSecurityPart(int64_t connectionId, 
int64_t unique_id,
   m_isSecurityHeaderAdded = true;
   LOGDEBUG("addSecurityPart( , ) ");
   auto dOutput =
-      m_tcdm->getConnectionManager().getCacheImpl()->createDataOutput();
+      m_tcdm->getConnectionManager().getCacheImpl()->createDataOutput(
+          getPool());
 
   dOutput->writeInt(connectionId);
   dOutput->writeInt(unique_id);
@@ -2617,7 +2614,8 @@ void TcrMessage::addSecurityPart(int64_t connectionId, 
TcrConnection* conn) {
   m_isSecurityHeaderAdded = true;
   LOGDEBUG("TcrMessage::addSecurityPart only connid");
   auto dOutput =
-      m_tcdm->getConnectionManager().getCacheImpl()->createDataOutput();
+      m_tcdm->getConnectionManager().getCacheImpl()->createDataOutput(
+          getPool());
 
   dOutput->writeInt(connectionId);
 
@@ -2786,8 +2784,8 @@ void TcrMessage::setData(const char* bytearray, int32_t 
len, uint16_t memId,
                          const SerializationRegistry& serializationRegistry,
                          MemberListForVersionStamp& memberListForVersionStamp) 
{
   if (m_request == nullptr) {
-    m_request =
-        m_tcdm->getConnectionManager().getCacheImpl()->createDataOutput();
+    m_request = 
m_tcdm->getConnectionManager().getCacheImpl()->createDataOutput(
+        getPool());
   }
   if (bytearray) {
     DeleteArray<const char> delByteArr(bytearray);
@@ -2928,7 +2926,7 @@ void TcrMessage::readHashMapForGCVersions(
     throw Exception(
         "Reading HashMap For GC versions. Expecting type id of hash map. ");
   }
-  int32_t len = input.readArrayLen();
+  int32_t len = input.readArrayLength();
 
   if (len > 0) {
     std::shared_ptr<CacheableKey> key;
@@ -2961,7 +2959,7 @@ void TcrMessage::readHashSetForGCVersions(
     throw Exception(
         "Reading HashSet For GC versions. Expecting type id of hash set. ");
   }
-  int32_t len = input.readArrayLen();
+  int32_t len = input.readArrayLength();
 
   if (len > 0) {
     std::shared_ptr<CacheableKey> key;
diff --git a/cppcache/src/TcrMessage.hpp b/cppcache/src/TcrMessage.hpp
index 26e0f38..ca50807 100644
--- a/cppcache/src/TcrMessage.hpp
+++ b/cppcache/src/TcrMessage.hpp
@@ -257,7 +257,7 @@ class APACHE_GEODE_EXPORT TcrMessage {
     }
   }
 
-  const std::string& getPoolName() const;
+  Pool* getPool() const;
 
   /**
    * Whether the request is meant to be
diff --git a/cppcache/src/ThinClientRegion.cpp 
b/cppcache/src/ThinClientRegion.cpp
index 438997f..4bdf4ab 100644
--- a/cppcache/src/ThinClientRegion.cpp
+++ b/cppcache/src/ThinClientRegion.cpp
@@ -3339,9 +3339,8 @@ void ChunkedInterestResponse::handleChunk(const uint8_t* 
chunk,
                                           int32_t chunkLen,
                                           uint8_t isLastChunkWithSecurity,
                                           const CacheImpl* cacheImpl) {
-  auto input = cacheImpl->createDataInput(chunk, chunkLen);
-
-  DataInputInternal::setPoolName(*input, m_replyMsg.getPoolName());
+  auto input =
+      cacheImpl->createDataInput(chunk, chunkLen, m_replyMsg.getPool());
 
   uint32_t partLen;
   if (TcrMessageHelper::readChunkPartHeader(
@@ -3371,9 +3370,8 @@ void ChunkedKeySetResponse::reset() {
 void ChunkedKeySetResponse::handleChunk(const uint8_t* chunk, int32_t chunkLen,
                                         uint8_t isLastChunkWithSecurity,
                                         const CacheImpl* cacheImpl) {
-  auto input = cacheImpl->createDataInput(chunk, chunkLen);
-
-  DataInputInternal::setPoolName(*input, m_replyMsg.getPoolName());
+  auto input =
+      cacheImpl->createDataInput(chunk, chunkLen, m_replyMsg.getPool());
 
   uint32_t partLen;
   if (TcrMessageHelper::readChunkPartHeader(
@@ -3406,7 +3404,7 @@ void ChunkedQueryResponse::readObjectPartList(DataInput& 
input,
 
   for (int32_t index = 0; index < len; ++index) {
     if (input.read() == 2 /* for exception*/) {
-      input.advanceCursor(input.readArrayLen());  // skipLen
+      input.advanceCursor(input.readArrayLength());  // skipLen
       auto exMsgPtr = input.readString();
       throw IllegalStateException(exMsgPtr);
     } else {
@@ -3447,8 +3445,8 @@ void ChunkedQueryResponse::handleChunk(const uint8_t* 
chunk, int32_t chunkLen,
                                        uint8_t isLastChunkWithSecurity,
                                        const CacheImpl* cacheImpl) {
   LOGDEBUG("ChunkedQueryResponse::handleChunk..");
-  auto input = cacheImpl->createDataInput(chunk, chunkLen);
-  DataInputInternal::setPoolName(*input, m_msg.getPoolName());
+  auto input = cacheImpl->createDataInput(chunk, chunkLen, m_msg.getPool());
+
   uint32_t partLen;
   TcrMessageHelper::ChunkObjectType objType;
   if ((objType = TcrMessageHelper::readChunkPartHeader(
@@ -3490,7 +3488,7 @@ void ChunkedQueryResponse::handleChunk(const uint8_t* 
chunk, int32_t chunkLen,
   const auto isStructTypeImpl = input->readString();
 
   if (isStructTypeImpl == "org.apache.geode.cache.query.Struct") {
-    int32_t numOfFldNames = input->readArrayLen();
+    int32_t numOfFldNames = input->readArrayLength();
     bool skip = false;
     if (m_structFieldNames.size() != 0) {
       skip = true;
@@ -3524,7 +3522,7 @@ void ChunkedQueryResponse::handleChunk(const uint8_t* 
chunk, int32_t chunkLen,
   auto arrayType = input->read();
 
   if (arrayType == GeodeTypeIds::CacheableObjectArray) {
-    int32_t arraySize = input->readArrayLen();
+    int32_t arraySize = input->readArrayLength();
     skipClass(*input);
     for (int32_t arrayItem = 0; arrayItem < arraySize; ++arrayItem) {
       std::shared_ptr<Serializable> value;
@@ -3533,7 +3531,7 @@ void ChunkedQueryResponse::handleChunk(const uint8_t* 
chunk, int32_t chunkLen,
         m_queryResults->push_back(value);
       } else {
         input->read();
-        int32_t arraySize2 = input->readArrayLen();
+        int32_t arraySize2 = input->readArrayLength();
         skipClass(*input);
         for (int32_t index = 0; index < arraySize2; ++index) {
           input->readObject(value);
@@ -3588,8 +3586,8 @@ void ChunkedFunctionExecutionResponse::handleChunk(
     const uint8_t* chunk, int32_t chunkLen, uint8_t isLastChunkWithSecurity,
     const CacheImpl* cacheImpl) {
   LOGDEBUG("ChunkedFunctionExecutionResponse::handleChunk");
-  auto input = cacheImpl->createDataInput(chunk, chunkLen);
-  DataInputInternal::setPoolName(*input, m_msg.getPoolName());
+  auto input = cacheImpl->createDataInput(chunk, chunkLen, m_msg.getPool());
+
   uint32_t partLen;
 
   int8_t arrayType;
@@ -3618,7 +3616,7 @@ void ChunkedFunctionExecutionResponse::handleChunk(
       input->getBytesRead() -
       1;  // from here need to look value part + memberid AND -1 for array type
   // iread adn gnore array length
-  input->readArrayLen();
+  input->readArrayLength();
 
   // read a byte to determine whether to read exception part for sendException
   // or read objects.
@@ -3664,7 +3662,7 @@ void ChunkedFunctionExecutionResponse::handleChunk(
       arrayType = input->read();
 
       // read and ignore its len which is 2
-      input->readArrayLen();
+      input->readArrayLength();
     }
   } else {
     // rewind cursor by 1 to what we had read a byte to determine whether to
@@ -3722,8 +3720,8 @@ void ChunkedGetAllResponse::reset() {
 void ChunkedGetAllResponse::handleChunk(const uint8_t* chunk, int32_t chunkLen,
                                         uint8_t isLastChunkWithSecurity,
                                         const CacheImpl* cacheImpl) {
-  auto input = cacheImpl->createDataInput(chunk, chunkLen);
-  DataInputInternal::setPoolName(*input, m_msg.getPoolName());
+  auto input = cacheImpl->createDataInput(chunk, chunkLen, m_msg.getPool());
+
   uint32_t partLen;
   if (TcrMessageHelper::readChunkPartHeader(
           m_msg, *input, GeodeTypeIdsImpl::FixedIDByte,
@@ -3776,8 +3774,8 @@ void ChunkedPutAllResponse::reset() {
 void ChunkedPutAllResponse::handleChunk(const uint8_t* chunk, int32_t chunkLen,
                                         uint8_t isLastChunkWithSecurity,
                                         const CacheImpl* cacheImpl) {
-  auto input = cacheImpl->createDataInput(chunk, chunkLen);
-  DataInputInternal::setPoolName(*input, m_msg.getPoolName());
+  auto input = cacheImpl->createDataInput(chunk, chunkLen, m_msg.getPool());
+
   uint32_t partLen;
   int8_t chunkType;
   if ((chunkType = (TcrMessageHelper::ChunkObjectType)
@@ -3810,10 +3808,10 @@ void ChunkedPutAllResponse::handleChunk(const uint8_t* 
chunk, int32_t chunkLen,
     const auto byte1 = input->read();
     m_msg.readSecureObjectPart(*input, false, true, isLastChunkWithSecurity);
 
-    auto pool = cacheImpl->getPoolManager().find(m_msg.getPoolName());
+    auto pool = m_msg.getPool();
     if (pool != nullptr && !pool->isDestroyed() &&
         pool->getPRSingleHopEnabled()) {
-      ThinClientPoolDM* poolDM = dynamic_cast<ThinClientPoolDM*>(pool.get());
+      auto poolDM = dynamic_cast<ThinClientPoolDM*>(pool);
       if ((poolDM != nullptr) &&
           (poolDM->getClientMetaDataService() != nullptr) && (byte0 != 0)) {
         LOGFINE("enqueued region " + m_region->getFullPath() +
@@ -3836,8 +3834,8 @@ void ChunkedRemoveAllResponse::handleChunk(const uint8_t* 
chunk,
                                            int32_t chunkLen,
                                            uint8_t isLastChunkWithSecurity,
                                            const CacheImpl* cacheImpl) {
-  auto input = cacheImpl->createDataInput(chunk, chunkLen);
-  DataInputInternal::setPoolName(*input, m_msg.getPoolName());
+  auto input = cacheImpl->createDataInput(chunk, chunkLen, m_msg.getPool());
+
   uint32_t partLen;
   int8_t chunkType;
   if ((chunkType = (TcrMessageHelper::ChunkObjectType)
@@ -3871,10 +3869,10 @@ void ChunkedRemoveAllResponse::handleChunk(const 
uint8_t* chunk,
     const auto byte1 = input->read();
     m_msg.readSecureObjectPart(*input, false, true, isLastChunkWithSecurity);
 
-    auto pool = cacheImpl->getPoolManager().find(m_msg.getPoolName());
+    auto pool = m_msg.getPool();
     if (pool != nullptr && !pool->isDestroyed() &&
         pool->getPRSingleHopEnabled()) {
-      ThinClientPoolDM* poolDM = dynamic_cast<ThinClientPoolDM*>(pool.get());
+      auto poolDM = dynamic_cast<ThinClientPoolDM*>(pool);
       if ((poolDM != nullptr) &&
           (poolDM->getClientMetaDataService() != nullptr) && (byte0 != 0)) {
         LOGFINE("enqueued region " + m_region->getFullPath() +
@@ -3894,10 +3892,10 @@ void ChunkedDurableCQListResponse::reset() {
 
 // handles the chunk response for GETDURABLECQS_MSG_TYPE
 void ChunkedDurableCQListResponse::handleChunk(const uint8_t* chunk,
-                                               int32_t chunkLen, uint8_t,
-                                               const CacheImpl* m_cacheImpl) {
-  auto input = m_cacheImpl->createDataInput(chunk, chunkLen);
-  DataInputInternal::setPoolName(*input, m_msg.getPoolName());
+                                               int32_t chunkLen,
+                                               uint8_t,
+                                               const CacheImpl* cacheImpl) {
+  auto input = cacheImpl->createDataInput(chunk, chunkLen, m_msg.getPool());
 
   // read and ignore part length
   input->readInt32();
diff --git a/cppcache/src/VersionedCacheableObjectPartList.cpp 
b/cppcache/src/VersionedCacheableObjectPartList.cpp
index 0350aed..7d10200 100644
--- a/cppcache/src/VersionedCacheableObjectPartList.cpp
+++ b/cppcache/src/VersionedCacheableObjectPartList.cpp
@@ -45,7 +45,7 @@ void VersionedCacheableObjectPartList::readObjectPart(
 
   if (isException) {  // Exception case
     // Skip the exception that is in java serialized format, we cant read it.
-    input.advanceCursor(input.readArrayLen());
+    input.advanceCursor(input.readArrayLength());
     const auto exMsg = input.readString();  ////4.1
 
     std::shared_ptr<Exception> ex;
@@ -59,7 +59,7 @@ void VersionedCacheableObjectPartList::readObjectPart(
     m_exceptions->emplace(keyPtr, ex);
   } else if (m_serializeValues) {
     // read length
-    int32_t skipLen = input.readArrayLen();
+    int32_t skipLen = input.readArrayLength();
     int8_t* bytes = nullptr;
     if (skipLen > 0) {
       // readObject
diff --git a/cppcache/src/statistics/HostStatSampler.hpp 
b/cppcache/src/statistics/HostStatSampler.hpp
index df1b6cb..a43f604 100644
--- a/cppcache/src/statistics/HostStatSampler.hpp
+++ b/cppcache/src/statistics/HostStatSampler.hpp
@@ -64,8 +64,8 @@ class StatisticsManager;
  * statistics. It only has the common functionalities which any sampler needs.
  */
 class APACHE_GEODE_EXPORT HostStatSampler : public ACE_Task_Base,
-                                      private NonCopyable,
-                                      private NonAssignable {
+                                            private NonCopyable,
+                                            private NonAssignable {
  public:
   /*
    * Constructor:
diff --git a/cppcache/src/statistics/StatArchiveWriter.hpp 
b/cppcache/src/statistics/StatArchiveWriter.hpp
index e061aea..b38e422 100644
--- a/cppcache/src/statistics/StatArchiveWriter.hpp
+++ b/cppcache/src/statistics/StatArchiveWriter.hpp
@@ -139,7 +139,8 @@ class APACHE_GEODE_EXPORT StatDataOutput {
   friend class StatArchiveWriter;
 };
 
-class APACHE_GEODE_EXPORT ResourceType : private NonCopyable, private 
NonAssignable {
+class APACHE_GEODE_EXPORT ResourceType : private NonCopyable,
+                                         private NonAssignable {
  public:
   ResourceType(int32_t id, const StatisticsType *type);
   int32_t getId() const;
@@ -166,7 +167,8 @@ class APACHE_GEODE_EXPORT ResourceType : private 
NonCopyable, private NonAssigna
  * FIX : Make the class NonCopyable
  */
 
-class APACHE_GEODE_EXPORT ResourceInst : private NonCopyable, private 
NonAssignable {
+class APACHE_GEODE_EXPORT ResourceInst : private NonCopyable,
+                                         private NonAssignable {
  public:
   ResourceInst(int32_t id, Statistics *, const ResourceType *,
                StatDataOutput *);
diff --git a/cppcache/src/util/exception.hpp b/cppcache/src/util/exception.hpp
index e697789..620f21c 100644
--- a/cppcache/src/util/exception.hpp
+++ b/cppcache/src/util/exception.hpp
@@ -30,7 +30,7 @@ namespace geode {
 namespace client {
 
 extern void APACHE_GEODE_EXPORT GfErrTypeThrowException(const char* str,
-                                                  GfErrType err);
+                                                        GfErrType err);
 
 #define GfErrTypeToException(str, err)   \
   {                                      \
diff --git a/cppcache/test/DataInputTest.cpp b/cppcache/test/DataInputTest.cpp
index 4a32f9b..95ded92 100644
--- a/cppcache/test/DataInputTest.cpp
+++ b/cppcache/test/DataInputTest.cpp
@@ -59,8 +59,6 @@ class TestDataInput {
     // NOP
   }
 
-  operator DataInput &() { return m_dataInput; }
-
   void read(uint8_t *value) { *value = m_dataInput.read(); }
 
   void read(int8_t *value) { *value = m_dataInput.read(); }
@@ -91,7 +89,7 @@ class TestDataInput {
 
   int64_t readInt64() { return m_dataInput.readInt64(); }
 
-  int32_t readArrayLen() { return m_dataInput.readArrayLen(); }
+  int32_t readArrayLen() { return m_dataInput.readArrayLength(); }
 
   int64_t readUnsignedVL() { return m_dataInput.readUnsignedVL(); }
 
@@ -716,19 +714,6 @@ TEST_F(DataInputTest, TestSetBuffer) {
       << "Correct bytes remaining after the setting";
 }
 
-TEST_F(DataInputTest, TestSetPoolName) {
-  std::string poolName = "Das Schwimmbad";
-
-  TestDataInput dataInput("123456789ABCDEF0");
-  EXPECT_TRUE(DataInputInternal::getPoolName(dataInput).empty())
-      << "Empty pool name before setting";
-  DataInputInternal::setPoolName(dataInput, poolName);
-  EXPECT_FALSE(DataInputInternal::getPoolName(dataInput).empty())
-      << " pool name after setting";
-  EXPECT_EQ(poolName, DataInputInternal::getPoolName(dataInput))
-      << "Correct pool name after setting";
-}
-
 TEST_F(DataInputTest, TestReadNullArray) {
   TestDataInput dataInput("FF12345678");
 
diff --git a/cppcache/test/TcrMessage_unittest.cpp 
b/cppcache/test/TcrMessage_unittest.cpp
index 952cc40..714e3e5 100644
--- a/cppcache/test/TcrMessage_unittest.cpp
+++ b/cppcache/test/TcrMessage_unittest.cpp
@@ -31,10 +31,11 @@ using namespace apache::geode::client;
 class DataOutputUnderTest : public DataOutput {
  public:
   using DataOutput::DataOutput;
+  DataOutputUnderTest() : DataOutput(nullptr, nullptr) {}
 
  protected:
   virtual const SerializationRegistry &getSerializationRegistry()
-      const override {
+  const override {
     return m_serializationRegistry;
   }
 
diff --git a/tests/cli/QueryHelper/CMakeLists.txt 
b/tests/cli/QueryHelper/CMakeLists.txt
index 7659007..fb1c871 100644
--- a/tests/cli/QueryHelper/CMakeLists.txt
+++ b/tests/cli/QueryHelper/CMakeLists.txt
@@ -49,6 +49,7 @@ target_link_libraries(QueryWrapper
   PRIVATE
     c++cli
     c++11
+       _WarningsAsError
 )
 
 # Makes project only reference, no .lib.
diff --git a/tests/cli/QueryHelper/QueryStringsM.cpp 
b/tests/cli/QueryHelper/QueryStringsM.cpp
index 37adb61..a3cdd81 100644
--- a/tests/cli/QueryHelper/QueryStringsM.cpp
+++ b/tests/cli/QueryHelper/QueryStringsM.cpp
@@ -212,8 +212,8 @@ namespace Apache
 
           StructSetRowCounts = gcnew array<Int32>( testData::SS_ARRAY_SIZE );
           for (Int32 index = 0; index < testData::SS_ARRAY_SIZE; ++index) {
-            StructSetRowCounts[ index ] =
-              testData::structsetRowCounts[ index ];
+            StructSetRowCounts[ index ] = static_cast<int32_t>(
+              testData::structsetRowCounts[ index ]);
           }
 
           StructSetPQRowCounts = gcnew array<Int32>( testData::SSP_ARRAY_SIZE 
);
@@ -260,8 +260,8 @@ namespace Apache
 
           RegionQueryRowCounts = gcnew array<Int32>( testData::RQ_ARRAY_SIZE );
           for (Int32 index = 0; index < testData::RQ_ARRAY_SIZE; ++index) {
-            RegionQueryRowCounts[ index ] =
-              testData::regionQueryRowCounts[ index ];
+            RegionQueryRowCounts[ index ] = static_cast<int32_t>(
+              testData::regionQueryRowCounts[ index ]);
           }
 
           CqResultSetQueries = gcnew array<QueryStrings^>(

-- 
To stop receiving notification emails like this one, please contact
jbarr...@apache.org.

Reply via email to