Github user sandhyasun commented on a diff in the pull request:
https://github.com/apache/trafodion/pull/1586#discussion_r193903128
--- Diff: core/sql/runtimestats/sscpipc.cpp ---
@@ -907,3 +910,53 @@ void
SscpNewIncomingConnectionStream::processSecInvReq()
request->decrRefCount();
}
+void SscpNewIncomingConnectionStream::processLobLockReq()
+{
+ IpcMessageObjVersion msgVer = getNextObjVersion();
+
+ ex_assert(msgVer <= currRtsStatsReqVersionNumber, "Up-rev message
received.");
+ NAHeap *statsHeap = NULL;
+ LobLockRequest *request = new(getHeap())
+ LobLockRequest(getHeap());
+
+ *this >> *request;
+ ex_assert( !moreObjects(), "unknown object follows LobLockRequest.");
+ SscpGlobals *sscpGlobals = getSscpGlobals();
+ StatsGlobals *statsGlobals = sscpGlobals->getStatsGlobals();
+ int error = statsGlobals->getStatsSemaphore(sscpGlobals->getSemId(),
+ sscpGlobals->myPin());
+ statsHeap = statsGlobals->getStatsHeap();
+ char *ll = new (statsHeap) char [LOB_LOCK_ID_SIZE];
+ memcpy(ll,request->getLobLockId(),LOB_LOCK_ID_SIZE+1);
+ SyncHashQueue *lobLockList = statsGlobals->getLobLocks();
+ if (ll[0] == '+') // If it's a positive value, we are supposed to insert
it.
--- End diff --
Made all the needed changes to support the synchronization
---