@@ -70,25 +70,25 @@ UberJobMsg::UberJobMsg(unsigned int metaVersion, std::string const& replicationI
7070 }
7171}
7272
73- json UberJobMsg::serializeJson () const {
73+ json UberJobMsg::toJson () const {
7474 json ujmJson = {{" version" , _metaVersion},
7575 {" instance_id" , _replicationInstanceId},
7676 {" auth_key" , _replicationAuthKey},
7777 {" worker" , _workerId},
7878 {" queryid" , _qId},
7979 {" uberjobid" , _ujId},
80- {" czarinfo" , _czInfo->serializeJson ()},
80+ {" czarinfo" , _czInfo->toJson ()},
8181 {" rowlimit" , _rowLimit},
82- {" subqueries_map" , _jobSubQueryTempMap->serializeJson ()},
83- {" dbtables_map" , _jobDbTablesMap->serializeJson ()},
82+ {" subqueries_map" , _jobSubQueryTempMap->toJson ()},
83+ {" dbtables_map" , _jobDbTablesMap->toJson ()},
8484 {" maxtablesizemb" , _maxTableSizeMB},
85- {" scaninfo" , _scanInfo->serializeJson ()},
85+ {" scaninfo" , _scanInfo->toJson ()},
8686 {" scaninteractive" , _scanInteractive},
8787 {" jobs" , json::array ()}};
8888
8989 auto & jsJobs = ujmJson[" jobs" ];
9090 for (auto const & jbMsg : *_jobMsgVect) {
91- jsJobs.emplace_back (jbMsg->serializeJson ());
91+ jsJobs.emplace_back (jbMsg->toJson ());
9292 }
9393
9494 LOGS (_log, LOG_LVL_TRACE, cName (__func__) << " ujmJson=" << ujmJson);
@@ -138,7 +138,7 @@ UberJobMsg::Ptr UberJobMsg::createFromJson(nlohmann::json const& ujmJson) {
138138 ujmPtr->_jobSubQueryTempMap = JobSubQueryTempMap::createFromJson (jsSubQueriesMap);
139139
140140 auto jsDbTablesMap = http::RequestBodyJSON::required<json>(ujmJson, " dbtables_map" );
141- ujmPtr->_jobDbTablesMap = JobDbTablesMap ::createFromJson (jsDbTablesMap);
141+ ujmPtr->_jobDbTablesMap = JobDbTableMap ::createFromJson (jsDbTablesMap);
142142
143143 for (auto const & jsUjJob : jsUjJobs) {
144144 JobMsg::Ptr jobMsgPtr =
@@ -154,13 +154,13 @@ UberJobMsg::Ptr UberJobMsg::createFromJson(nlohmann::json const& ujmJson) {
154154
155155JobMsg::Ptr JobMsg::create (std::shared_ptr<qdisp::JobQuery> const & jobPtr,
156156 JobSubQueryTempMap::Ptr const & jobSubQueryTempMap,
157- JobDbTablesMap ::Ptr const & jobDbTablesMap) {
157+ JobDbTableMap ::Ptr const & jobDbTablesMap) {
158158 auto jMsg = Ptr (new JobMsg (jobPtr, jobSubQueryTempMap, jobDbTablesMap));
159159 return jMsg;
160160}
161161
162162JobMsg::JobMsg (std::shared_ptr<qdisp::JobQuery> const & jobPtr,
163- JobSubQueryTempMap::Ptr const & jobSubQueryTempMap, JobDbTablesMap ::Ptr const & jobDbTablesMap)
163+ JobSubQueryTempMap::Ptr const & jobSubQueryTempMap, JobDbTableMap ::Ptr const & jobDbTablesMap)
164164 : _jobSubQueryTempMap(jobSubQueryTempMap), _jobDbTablesMap(jobDbTablesMap) {
165165 auto const descr = jobPtr->getDescription ();
166166 if (descr == nullptr ) {
@@ -172,18 +172,11 @@ JobMsg::JobMsg(std::shared_ptr<qdisp::JobQuery> const& jobPtr,
172172 _chunkQuerySpecDb = chunkQuerySpec->db ;
173173 _chunkId = chunkQuerySpec->chunkId ;
174174
175- // Add scan tables (TODO:UJ Verify this is the same for all jobs.)
176- for (auto const & sTbl : chunkQuerySpec->scanInfo ->infoTables ) {
177- int index = jobDbTablesMap->findDbTable (make_pair (sTbl .db , sTbl .table ));
178- jobDbTablesMap->setScanRating (index, sTbl .scanRating , sTbl .lockInMemory );
179- _chunkScanTableIndexes.push_back (index);
180- }
181-
182175 // Add fragments
183176 _jobFragments = JobFragment::createVect (*chunkQuerySpec, jobSubQueryTempMap, jobDbTablesMap);
184177}
185178
186- nlohmann::json JobMsg::serializeJson () const {
179+ nlohmann::json JobMsg::toJson () const {
187180 auto jsJobMsg = nlohmann::json ({{" jobId" , _jobId},
188181 {" attemptCount" , _attemptCount},
189182 {" querySpecDb" , _chunkQuerySpecDb},
@@ -200,13 +193,13 @@ nlohmann::json JobMsg::serializeJson() const {
200193
201194 auto & jsqFrags = jsJobMsg[" queryFragments" ];
202195 for (auto & jFrag : *_jobFragments) {
203- jsqFrags.emplace_back (jFrag->serializeJson ());
196+ jsqFrags.emplace_back (jFrag->toJson ());
204197 }
205198
206199 return jsJobMsg;
207200}
208201
209- JobMsg::JobMsg (JobSubQueryTempMap::Ptr const & jobSubQueryTempMap, JobDbTablesMap ::Ptr const & jobDbTablesMap,
202+ JobMsg::JobMsg (JobSubQueryTempMap::Ptr const & jobSubQueryTempMap, JobDbTableMap ::Ptr const & jobDbTablesMap,
210203 JobId jobId, int attemptCount, std::string const & chunkQuerySpecDb, int chunkId)
211204 : _jobId(jobId),
212205 _attemptCount(attemptCount),
@@ -217,7 +210,7 @@ JobMsg::JobMsg(JobSubQueryTempMap::Ptr const& jobSubQueryTempMap, JobDbTablesMap
217210
218211JobMsg::Ptr JobMsg::createFromJson (nlohmann::json const & ujJson,
219212 JobSubQueryTempMap::Ptr const & jobSubQueryTempMap,
220- JobDbTablesMap ::Ptr const & jobDbTablesMap) {
213+ JobDbTableMap ::Ptr const & jobDbTablesMap) {
221214 JobId jobId = http::RequestBodyJSON::required<JobId>(ujJson, " jobId" );
222215 int attemptCount = http::RequestBodyJSON::required<int >(ujJson, " attemptCount" );
223216 string chunkQuerySpecDb = http::RequestBodyJSON::required<string>(ujJson, " querySpecDb" );
@@ -231,11 +224,10 @@ JobMsg::Ptr JobMsg::createFromJson(nlohmann::json const& ujJson,
231224 jMsgPtr->_chunkScanTableIndexes = jsChunkTblIndexes.get <std::vector<int >>();
232225 jMsgPtr->_jobFragments =
233226 JobFragment::createVectFromJson (jsQFrags, jMsgPtr->_jobSubQueryTempMap , jMsgPtr->_jobDbTablesMap );
234-
235227 return jMsgPtr;
236228}
237229
238- json JobSubQueryTempMap::serializeJson () const {
230+ json JobSubQueryTempMap::toJson () const {
239231 // std::map<int, std::string> _qTemplateMap;
240232 json jsSubQueryTemplateMap = {{" subquerytemplate_map" , json::array ()}};
241233 auto & jsSqtMap = jsSubQueryTemplateMap[" subquerytemplate_map" ];
@@ -280,7 +272,7 @@ int JobSubQueryTempMap::findSubQueryTemp(string const& qTemp) {
280272 return index;
281273}
282274
283- int JobDbTablesMap ::findDbTable (pair<string, string> const & dbTablePair) {
275+ int JobDbTableMap ::findDbTable (pair<string, string> const & dbTablePair) {
284276 // The expected number of templates is expected to be small, less than 4,
285277 // so this shouldn't be horribly expensive.
286278 for (auto const & [key, dbTbl] : _dbTableMap) {
@@ -295,89 +287,44 @@ int JobDbTablesMap::findDbTable(pair<string, string> const& dbTablePair) {
295287 return index;
296288}
297289
298- json JobDbTablesMap::serializeJson () const {
299- json jsDbTablesMap = {{" dbtable_map" , json::array ()}, {" scanrating_map" , json::array ()}};
300-
301- auto & jsDbTblMap = jsDbTablesMap[" dbtable_map" ];
290+ json JobDbTableMap::toJson () const {
291+ auto jsDbTblMap = json::array ();
302292 for (auto const & [key, valPair] : _dbTableMap) {
303293 json jsDbTbl = {{" index" , key}, {" db" , valPair.first }, {" table" , valPair.second }};
304294 jsDbTblMap.push_back (jsDbTbl);
305295 }
306296
307- auto & jsScanRatingMap = jsDbTablesMap[" scanrating_map" ];
308- for (auto const & [key, valPair] : _scanRatingMap) {
309- json jsScanR = {{" index" , key}, {" scanrating" , valPair.first }, {" lockinmem" , valPair.second }};
310- jsScanRatingMap.push_back (jsScanR);
311- }
312-
313- LOGS (_log, LOG_LVL_TRACE, cName (__func__) << " " << jsDbTablesMap);
314- return jsDbTablesMap;
297+ LOGS (_log, LOG_LVL_TRACE, cName (__func__) << " " << jsDbTblMap);
298+ return jsDbTblMap;
315299}
316300
317- JobDbTablesMap ::Ptr JobDbTablesMap ::createFromJson (nlohmann::json const & ujJson) {
301+ JobDbTableMap ::Ptr JobDbTableMap ::createFromJson (nlohmann::json const & ujJson) {
318302 Ptr dbTablesMapPtr = create ();
319303 auto & dbTblMap = dbTablesMapPtr->_dbTableMap ;
320- auto & scanRMap = dbTablesMapPtr->_scanRatingMap ;
321304
322- LOGS (_log, LOG_LVL_TRACE, " JobDbTablesMap ::createFromJson " << ujJson);
305+ LOGS (_log, LOG_LVL_TRACE, " JobDbTableMap ::createFromJson " << ujJson);
323306
324- json const & jsDbTbl = ujJson[" dbtable_map" ];
325- for (auto const & jsElem : jsDbTbl) {
307+ for (auto const & jsElem : ujJson) {
326308 int index = http::RequestBodyJSON::required<int >(jsElem, " index" );
327309 string db = http::RequestBodyJSON::required<string>(jsElem, " db" );
328310 string tbl = http::RequestBodyJSON::required<string>(jsElem, " table" );
329311 auto res = dbTblMap.insert (make_pair (index, make_pair (db, tbl)));
330312 if (!res.second ) {
331313 throw invalid_argument (dbTablesMapPtr->cName (__func__) + " index=" + to_string (index) + " =" + db +
332- +" ." + tbl + " index already found in " + to_string (jsDbTbl));
333- }
334- }
335-
336- json const & jsScanR = ujJson[" scanrating_map" ];
337- for (auto const & jsElem : jsScanR) {
338- int index = http::RequestBodyJSON::required<int >(jsElem, " index" );
339- int scanR = http::RequestBodyJSON::required<int >(jsElem, " scanrating" );
340- bool lockInMem = http::RequestBodyJSON::required<bool >(jsElem, " lockinmem" );
341- auto res = scanRMap.insert (make_pair (index, make_pair (scanR, lockInMem)));
342- if (!res.second ) {
343- throw invalid_argument (dbTablesMapPtr->cName (__func__) + " index=" + to_string (index) + " =" +
344- to_string (scanR) + +" , " + to_string (lockInMem) +
345- " index already found in " + to_string (jsDbTbl));
314+ +" ." + tbl + " index already found in " + to_string (ujJson));
346315 }
347316 }
348317
349318 return dbTablesMapPtr;
350319}
351320
352- void JobDbTablesMap::setScanRating (int index, int scanRating, bool lockInMemory) {
353- auto iter = _scanRatingMap.find (index);
354- if (iter == _scanRatingMap.end ()) {
355- _scanRatingMap[index] = make_pair (scanRating, lockInMemory);
356- } else {
357- auto & elem = *iter;
358- auto & pr = elem.second ;
359- auto & [sRating , lInMem] = pr;
360- if (sRating != scanRating || lInMem != lockInMemory) {
361- auto [dbName, tblName] = getDbTable (index);
362- LOGS (_log, LOG_LVL_ERROR,
363- cName (__func__) << " unexpected change in scanRating for " << dbName << " ." << tblName
364- << " from " << sRating << " to " << scanRating << " lockInMemory from "
365- << lInMem << " to " << lockInMemory);
366- if (scanRating > sRating ) {
367- sRating = scanRating;
368- lInMem = lockInMemory;
369- }
370- }
371- }
372- }
373-
374321JobFragment::JobFragment (JobSubQueryTempMap::Ptr const & jobSubQueryTempMap,
375- JobDbTablesMap ::Ptr const & jobDbTablesMap)
322+ JobDbTableMap ::Ptr const & jobDbTablesMap)
376323 : _jobSubQueryTempMap(jobSubQueryTempMap), _jobDbTablesMap(jobDbTablesMap) {}
377324
378325JobFragment::VectPtr JobFragment::createVect (qproc::ChunkQuerySpec const & chunkQuerySpec,
379326 JobSubQueryTempMap::Ptr const & jobSubQueryTempMap,
380- JobDbTablesMap ::Ptr const & jobDbTablesMap) {
327+ JobDbTableMap ::Ptr const & jobDbTablesMap) {
381328 VectPtr jFragments{new Vect ()};
382329 if (chunkQuerySpec.nextFragment .get ()) {
383330 qproc::ChunkQuerySpec const * sPtr = &chunkQuerySpec;
@@ -401,7 +348,7 @@ JobFragment::VectPtr JobFragment::createVect(qproc::ChunkQuerySpec const& chunkQ
401348void JobFragment::_addFragment (std::vector<Ptr>& jFragments, DbTableSet const & subChunkTables,
402349 std::vector<int > const & subchunkIds, std::vector<std::string> const & queries,
403350 JobSubQueryTempMap::Ptr const & subQueryTemplates,
404- JobDbTablesMap ::Ptr const & dbTablesMap) {
351+ JobDbTableMap ::Ptr const & dbTablesMap) {
405352 LOGS (_log, LOG_LVL_TRACE, " JobFragment::_addFragment start" );
406353 Ptr jFrag = Ptr (new JobFragment (subQueryTemplates, dbTablesMap));
407354
@@ -448,7 +395,7 @@ string JobFragment::dump() const {
448395 return os.str ();
449396}
450397
451- nlohmann::json JobFragment::serializeJson () const {
398+ nlohmann::json JobFragment::toJson () const {
452399 json jsFragment = {{" subquerytemplate_indexes" , _jobSubQueryTempIndexes},
453400 {" dbtables_indexes" , _jobDbTablesIndexes},
454401 {" subchunkids" , _subchunkIds}};
@@ -459,7 +406,7 @@ nlohmann::json JobFragment::serializeJson() const {
459406
460407JobFragment::VectPtr JobFragment::createVectFromJson (nlohmann::json const & jsFrags,
461408 JobSubQueryTempMap::Ptr const & jobSubQueryTempMap,
462- JobDbTablesMap ::Ptr const & dbTablesMap) {
409+ JobDbTableMap ::Ptr const & dbTablesMap) {
463410 LOGS (_log, LOG_LVL_TRACE, " JobFragment::createVectFromJson " << jsFrags);
464411
465412 JobFragment::VectPtr jobFragments{new JobFragment::Vect ()};
0 commit comments