Skip to content
This repository has been archived by the owner on Jun 7, 2021. It is now read-only.

TRAFODION-2873. Cleanup of LobGlobals and LobLoad classes #1365

Merged
merged 2 commits into from Jan 4, 2018

Conversation

sandhyasun
Copy link
Contributor

This fix also avoids a core that was very occasionally caused during inserts into LOB tables. The fix involves cleaning up the LOBGlibals and eliminating unneeded datamemebers and keeping only the ExLobGlobals members. Also cleaned up all LobLoad related code since it is obsolete and worked only with DP2.

…erts into LOB tables. The fix involves cleaning up the LOBGlibals and eliminating unneeded datamemebers and keeping only the ExLobGlobals members. Also cleaned up all LobLoad related code since it is obsolete and worked only with DP2.

Conflicts:

	core/sql/executor/ExExeUtilLoad.cpp
@Traf-Jenkins
Copy link

Check Test Started: https://jenkins.esgyn.com/job/Check-PR-master/2302/

Copy link
Contributor

@DaveBirdsall DaveBirdsall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 Looks good. One minor suggestion.

@@ -574,8 +574,8 @@ ex_clause::ex_clause(clause_type type,
case ITM_LOBCONVERTHANDLE:
setClassID(LOB_CONVERTHANDLE);
break;
case ITM_LOBLOAD:
setClassID(LOB_LOAD);
/* case ITM_LOBLOAD:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe delete these lines (and the break after them) instead of commenting out?

@Traf-Jenkins
Copy link

@Traf-Jenkins
Copy link

Previous Test Aborted. New Check Test Started: https://jenkins.esgyn.com/job/Check-PR-master/2304/

@Traf-Jenkins
Copy link

@DaveBirdsall
Copy link
Contributor

Seabase suite build failed for unknown reasons... starting a retest

@DaveBirdsall
Copy link
Contributor

jenkins, retest

@Traf-Jenkins
Copy link

New Check Test Started: https://jenkins.esgyn.com/job/Check-PR-master/2305/

@Traf-Jenkins
Copy link

@asfgit asfgit merged commit 2e30aad into apache:master Jan 4, 2018
@selvaganesang
Copy link
Contributor

Is ExLobGlobals pertain to the Statement or ExGlobals or the ContextCli or the process?

@sandhyasun
Copy link
Contributor Author

The ExLobGlobals is created whenever a statement or internal API needs to access the LOB functions. It maintains the hdfs connection info, the various lob pointers it needs to access (based on name) .It is currently a member of ex_globals.It's initialized once per TCB.

@selvaganesang
Copy link
Contributor

selvaganesang commented Jan 5, 2018

If so, won't it be better to create it using heap_ associated with ex_globals. If there is a connection info that can be shared across context or ESP fragments, separate them out and store it in cli_globals, Pass that info to ExLobGlobals in ex_globals. It is strange to see the ExLobGlobals being constructed from system heap. And I couldn't find where is it being deleted? There is a possibility of memory leak.

@sandhyasun
Copy link
Contributor Author

The ExLobGlobals is deleted in ExpLOBinterfaceCleanup. Will look at getting rid of system new. There was some issue with using the Map template class with an internal heap. The lobPtrs are stored as a standard template class within the ExLobGlobals.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
5 participants