@@ -189,18 +189,28 @@ void DCSConfigDevice::updateRunInfo(gsl::span<const char> configBuff)
189189 LOGP (error, " {} has wrong format: {}, expected: {}, not writing RunInformation to CCDB" , RunInfoFileName, line, runInfoConf);
190190 return ;
191191 }
192+ const auto tagString = data[2 ];
193+ //
194+ // retrieve ETag from FEEConfig to set up Redirect
195+ const auto headers = mCCDBApi .retrieveHeaders (CDBTypeMap.at (CDBType::ConfigFEE), {}, std::stol (tagString));
196+
192197 std::map<std::string, std::string> md;
193198 md[o2::base::NameConf::CCDBRunTag.data ()] = data[0 ];
194- md[" Tag" ] = data[2 ];
195199 md[" RunType" ] = data[3 ];
196200 md[o2::ccdb::CcdbObjectInfo::AdjustableEOV] = " true" ;
197- char tempChar{static_cast <char >(std::stoi (md[" Tag" ]))};
201+ if (headers.find (" ETag" ) != headers.end ()) {
202+ auto etag = headers.at (" ETag" );
203+ etag.erase (std::remove (etag.begin (), etag.end (), ' "' ), etag.end ());
204+ md[" Redirect" ] = fmt::format (" /{}/{}/{}" , CDBTypeMap.at (CDBType::ConfigFEE), tagString, etag);
205+ } else {
206+ LOGP (error, " No ETag found for Tag {}, not setting Redirect in RunInfo" , tagString);
207+ }
198208
199209 const long startValRCT = std::stol (data[1 ]);
200210 const long endValRCT = startValRCT + 48l * 60l * 60l * 1000l ;
201211 if (!mDontWriteRunInfo ) {
202212 o2::ccdb::CcdbObjectInfo w (CDBTypeMap.at (CDBType::ConfigRunInfo), " " , " " , md, startValRCT, endValRCT);
203- mCCDBApi .storeAsBinaryFile (&tempChar, sizeof (tempChar) , " tmp.dat " , " char " , CDBTypeMap.at (CDBType::ConfigRunInfo), md, startValRCT, endValRCT);
213+ mCCDBApi .storeAsBinaryFile (nullptr , 0 , " ignored " , " " , CDBTypeMap.at (CDBType::ConfigRunInfo), md, startValRCT, endValRCT);
204214 if (!mCCDBApi .isSnapshotMode ()) {
205215 o2::ccdb::adjustOverriddenEOV (mCCDBApi , w);
206216 }
@@ -255,7 +265,7 @@ void DCSConfigDevice::fillFEEPad(std::string_view configFileName, gsl::span<cons
255265 nLines = cru_calib_helpers::fillCalPad<2 >(calPad, configBuff);
256266 mFEEPadDataReceived .set (3 );
257267 } else if (configFileName == " CMkValues" ) {
258- nLines = cru_calib_helpers::fillCalPad<6 >(calPad, configBuff);
268+ nLines = cru_calib_helpers::fillCalPad<0 >(calPad, configBuff);
259269 mFEEPadDataReceived .set (4 );
260270 }
261271
0 commit comments