diff --git a/.gitlab/ci/build.gitlab-ci.yml b/.gitlab/ci/build.gitlab-ci.yml index f8958d59ab8a6c84e021c387dc05bfdde0127fbf..92a614067ed989013310e89330baafba29f41cd2 100644 --- a/.gitlab/ci/build.gitlab-ci.yml +++ b/.gitlab/ci/build.gitlab-ci.yml @@ -15,8 +15,8 @@ extends: - .cta_build script: - - yum install -y devtoolset-8 cmake3 make rpm-build git - - source /opt/rh/devtoolset-8/enable + - yum install -y devtoolset-11 cmake3 make rpm-build git + - source /opt/rh/devtoolset-11/enable - git submodule update --init --recursive - mkdir build_srpm - cd build_srpm @@ -29,10 +29,10 @@ extends: - .cta_build script: - - yum install -y devtoolset-8 cmake3 make rpm-build + - yum install -y devtoolset-11 cmake3 make rpm-build - yum -y install yum-plugin-priorities yum-plugin-versionlock - yum install -y git - - source /opt/rh/devtoolset-8/enable + - source /opt/rh/devtoolset-11/enable - git submodule update --init --recursive - cd xrootd-ssi-protobuf-interface && export XROOTD_SSI_PROTOBUF_INTERFACE_VERSION=$(git describe --tags --abbrev=0) && cd .. - cp -f continuousintegration/docker/ctafrontend/cc7/etc/yum/pluginconf.d/versionlock.list /etc/yum/pluginconf.d/ diff --git a/.gitlab/ci/tagged.gitlab-ci.yml b/.gitlab/ci/tagged.gitlab-ci.yml index 910e7640acf189bd5113494e1612726efbac214c..2ec8777327ba40b50cbb084946a35846ae6508f3 100644 --- a/.gitlab/ci/tagged.gitlab-ci.yml +++ b/.gitlab/ci/tagged.gitlab-ci.yml @@ -8,10 +8,10 @@ cta_tagged_rpm: - if [ -z "${CI_COMMIT_TAG}" ]; then echo "This is not a tagged commit, exiting"; exit 0; fi - echo "Building package for tag ${CI_COMMIT_TAG}. CTA_VERSION=${TAG_VERSION} - CTA_RELEASE=${TAG_RELEASE}" - cp -f continuousintegration/docker/ctafrontend/cc7/etc/yum.repos.d/*.repo /etc/yum.repos.d/ - - yum install -y devtoolset-8 cmake3 make rpm-build + - yum install -y devtoolset-11 cmake3 make rpm-build - yum -y install yum-plugin-priorities yum-plugin-versionlock - yum install -y git - - source /opt/rh/devtoolset-8/enable + - source /opt/rh/devtoolset-11/enable - git submodule update --init --recursive - cd xrootd-ssi-protobuf-interface && export XROOTD_SSI_PROTOBUF_INTERFACE_VERSION=$(git describe --tags --abbrev=0) && cd .. - cp -f continuousintegration/docker/ctafrontend/cc7/etc/yum/pluginconf.d/versionlock.list /etc/yum/pluginconf.d/ diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 509d2c9e5f4a65c107cc1c5dd394a50310fad999..2b1ace040e80770765ef956561bfe25e1ee721fd 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -2,6 +2,7 @@ ### Features - cta/CTA#78 - Remove gRPC and ability to change the storage class in EOS from the cta-change-storage-class C++ script +- cta/CTA#342 - Compile CTA using devtoolset-11 ### Bug Fixes - cta/CTA#259 - cta-rmcd should not exit if /dev/sg0 is missing diff --git a/catalogue/DropSchemaCmd.cpp b/catalogue/DropSchemaCmd.cpp index 891431ca362b3b699bdb50e77746e0634f99632c..2c240e7354bc176a2b1224a8c3985cb59e52f763 100644 --- a/catalogue/DropSchemaCmd.cpp +++ b/catalogue/DropSchemaCmd.cpp @@ -130,7 +130,7 @@ void DropSchemaCmd::dropDatabaseTables(rdbms::Conn &conn) { droppedAtLeastOneTable = false; auto tables = conn.getTableNames(); tables.remove("CTA_CATALOGUE"); // Remove CTA_CATALOGUE to drop it at the end - for (const auto table : tables) { + for (const auto& table : tables) { try { conn.executeNonQuery(std::string("DROP TABLE ") + table); m_out << "Dropped table " << table << std::endl; diff --git a/catalogue/TapeDrivesCatalogueState.hpp b/catalogue/TapeDrivesCatalogueState.hpp index e7605d48099934a7d81c251d036145db924cb5f7..ab4fe383db677d1ca96068b4a24f3b9ba72c6b3f 100644 --- a/catalogue/TapeDrivesCatalogueState.hpp +++ b/catalogue/TapeDrivesCatalogueState.hpp @@ -18,6 +18,7 @@ #pragma once #include <limits> +#include <optional> #include <string> #include "common/dataStructures/DriveStatus.hpp" diff --git a/catalogue/interfaces/TapeFileCatalogue.hpp b/catalogue/interfaces/TapeFileCatalogue.hpp index fbad28d44161cfe33c587751c4d064cd10be9e77..ee9f72d1d7ecd0953a575bf699f84eb065f25b8a 100644 --- a/catalogue/interfaces/TapeFileCatalogue.hpp +++ b/catalogue/interfaces/TapeFileCatalogue.hpp @@ -17,6 +17,7 @@ #pragma once +#include <optional> #include <set> #include <string> diff --git a/common/dataStructures/LifecycleTimings.cpp b/common/dataStructures/LifecycleTimings.cpp index e9036405e362c09f0283c870e908d44fa4211c57..a46d370957d5054d0187318712f22577c435c26a 100644 --- a/common/dataStructures/LifecycleTimings.cpp +++ b/common/dataStructures/LifecycleTimings.cpp @@ -22,10 +22,18 @@ namespace dataStructures{ LifecycleTimings::LifecycleTimings() : creation_time(0), first_selected_time(0), completed_time(0) {} -LifecycleTimings::LifecycleTimings(const LifecycleTimings& orig): creation_time(orig.creation_time), first_selected_time(orig.first_selected_time), completed_time(orig.completed_time) { +LifecycleTimings::LifecycleTimings(const LifecycleTimings& orig) + : creation_time(orig.creation_time), + first_selected_time(orig.first_selected_time), + completed_time(orig.completed_time) { } -LifecycleTimings::~LifecycleTimings() { +// Assignment operator +LifecycleTimings LifecycleTimings::operator=(const LifecycleTimings& orig) { + creation_time = orig.creation_time; + first_selected_time = orig.first_selected_time; + completed_time = orig.completed_time; + return *this; } time_t LifecycleTimings::getTimeForSelection(){ diff --git a/common/dataStructures/LifecycleTimings.hpp b/common/dataStructures/LifecycleTimings.hpp index a690266581e4dc2e693f12003d92c94d9b08d1a4..66849f1626fe67339cf466df51cd3665a227f17f 100644 --- a/common/dataStructures/LifecycleTimings.hpp +++ b/common/dataStructures/LifecycleTimings.hpp @@ -30,7 +30,8 @@ class LifecycleTimings { public: LifecycleTimings(); LifecycleTimings(const LifecycleTimings& orig); - virtual ~LifecycleTimings(); + LifecycleTimings operator=(const LifecycleTimings& orig); + virtual ~LifecycleTimings() = default; /** * Returns the elapsed time between the creation of the request * and the selection of the request for mounting diff --git a/common/dataStructures/MountPolicy.cpp b/common/dataStructures/MountPolicy.cpp index 1688dff40d7995f640e64107e7fcf101127366c7..0411e1b83c56eb486e07315683ff4e6281ea60e2 100644 --- a/common/dataStructures/MountPolicy.cpp +++ b/common/dataStructures/MountPolicy.cpp @@ -37,6 +37,18 @@ MountPolicy::MountPolicy(const std::string& name, const uint64_t archivePriority const uint64_t retrievePriority, const uint64_t retrieveMinRequestAge) : name(name), archivePriority(archivePriority), archiveMinRequestAge(archiveMinRequestAge), retrievePriority(retrievePriority), retrieveMinRequestAge(retrieveMinRequestAge) {} + +MountPolicy::MountPolicy(const MountPolicy& other) { + this->archiveMinRequestAge = other.archiveMinRequestAge; + this->archivePriority = other.archivePriority; + this->comment = other.comment; + this->creationLog = other.creationLog; + this->lastModificationLog = other.lastModificationLog; + this->name = other.name; + this->retrieveMinRequestAge = other.retrieveMinRequestAge; + this->retrievePriority = other.retrievePriority; +} + //------------------------------------------------------------------------------ // operator== //------------------------------------------------------------------------------ diff --git a/common/dataStructures/MountPolicy.hpp b/common/dataStructures/MountPolicy.hpp index ff78e7f95ed270ba8bd95395aa351482ebae03c5..f3a81264836477f9c5976af9e50559195c81aeed 100644 --- a/common/dataStructures/MountPolicy.hpp +++ b/common/dataStructures/MountPolicy.hpp @@ -35,6 +35,8 @@ namespace dataStructures { struct MountPolicy { MountPolicy(); + MountPolicy(const MountPolicy& other); + bool operator==(const MountPolicy &rhs) const; bool operator!=(const MountPolicy &rhs) const; diff --git a/common/dataStructures/RetrieveFileQueueCriteria.cpp b/common/dataStructures/RetrieveFileQueueCriteria.cpp index d55292bbf6498c65d69440f6954d12eb667e9109..fea8be87dba6f181db471cb90147d4a96fe17250 100644 --- a/common/dataStructures/RetrieveFileQueueCriteria.cpp +++ b/common/dataStructures/RetrieveFileQueueCriteria.cpp @@ -28,4 +28,10 @@ RetrieveFileQueueCriteria& RetrieveFileQueueCriteria::operator=(const RetrieveFi return *this; } +// Copy constructor +RetrieveFileQueueCriteria::RetrieveFileQueueCriteria(const RetrieveFileQueueCriteria& other){ + this->archiveFile = other.archiveFile; + this->mountPolicy = other.mountPolicy; +} + }}} \ No newline at end of file diff --git a/common/dataStructures/RetrieveFileQueueCriteria.hpp b/common/dataStructures/RetrieveFileQueueCriteria.hpp index 231e47110a469848be3cecccf7375302307d6769..b2f5cfdc725e0823095cb0ec4a080e51b469d166 100644 --- a/common/dataStructures/RetrieveFileQueueCriteria.hpp +++ b/common/dataStructures/RetrieveFileQueueCriteria.hpp @@ -41,6 +41,10 @@ struct RetrieveFileQueueCriteria { * The mount policy. */ MountPolicy mountPolicy; + + RetrieveFileQueueCriteria() = default; + + RetrieveFileQueueCriteria(const RetrieveFileQueueCriteria& other); RetrieveFileQueueCriteria &operator=(const RetrieveFileQueueCriteria& other); diff --git a/continuousintegration/buildtree_runner/eos/buildEosDependencies.sh b/continuousintegration/buildtree_runner/eos/buildEosDependencies.sh index ba93ae9a248f373c402ac9080e79f90fa2f5daaf..d8c903d064d20a7e7a175bb34bac496b3dfa7ed1 100755 --- a/continuousintegration/buildtree_runner/eos/buildEosDependencies.sh +++ b/continuousintegration/buildtree_runner/eos/buildEosDependencies.sh @@ -17,7 +17,7 @@ set -e -DEVTOOLSET_ENABLE_SCRIPT=/opt/rh/devtoolset-8/enable +DEVTOOLSET_ENABLE_SCRIPT=/opt/rh/devtoolset-11/enable EOS_BUILD_DIR=~/eos_build EOS_SRC_DIR=~/eos diff --git a/continuousintegration/buildtree_runner/vmBootstrap/InstallCTAEnvironment.md b/continuousintegration/buildtree_runner/vmBootstrap/InstallCTAEnvironment.md index 27f23ebb5262d0098ede7337958f76f4262191f0..48c27104f5cc0f4bfdfa95653a3d13ba71e44921 100644 --- a/continuousintegration/buildtree_runner/vmBootstrap/InstallCTAEnvironment.md +++ b/continuousintegration/buildtree_runner/vmBootstrap/InstallCTAEnvironment.md @@ -44,7 +44,7 @@ cat gitScripts/bash_profile.hook >> ~/.bash_profile source ~/.bash_profile cp tigConf/tigrc ~/.tigrc yum install -y centos-release-scl-rh -yum install -y git cmake rpm-build devtoolset-8 vim gdb cgdb strace ltrace screen tig lsscsi mt-st mtx sg3_utils jq psmisc yum-plugin-versionlock +yum install -y git cmake rpm-build devtoolset-11 vim gdb cgdb strace ltrace screen tig lsscsi mt-st mtx sg3_utils jq psmisc yum-plugin-versionlock ``` 4. Bootstrap CTA : ```bash @@ -63,7 +63,7 @@ Go to the CTA parent's folder and type ```bash mkdir CTA-build-srpm cd CTA-build-srpm -source /opt/rh/devtoolset-8/enable +source /opt/rh/devtoolset-11/enable cmake -DPackageOnly:Bool=true ../CTA make cta_srpm ``` @@ -99,7 +99,7 @@ sudo yum install -y mhvtl-utils kmod-mhvtl mhvtl-utils --enablerepo=castor 11. Build CTA Create a directory near the CTA one called CTA-build, go into it and type ```bash -source /opt/rh/devtoolset-8/enable +source /opt/rh/devtoolset-11/enable cmake ../CTA make -j 4 ``` diff --git a/continuousintegration/buildtree_runner/vmBootstrap/bootstrapCTA.sh b/continuousintegration/buildtree_runner/vmBootstrap/bootstrapCTA.sh index 65b726ae3078ceb2f04366e92f83393252f26f70..02f58278ef52b146b223793a3c3a7581bc20068d 100755 --- a/continuousintegration/buildtree_runner/vmBootstrap/bootstrapCTA.sh +++ b/continuousintegration/buildtree_runner/vmBootstrap/bootstrapCTA.sh @@ -23,8 +23,8 @@ if [[ $1 == "cern" ]]; then echo Going to install from internal CERN repositories fi -echo Enabling devtoolset-8 -source /opt/rh/devtoolset-8/enable +echo Enabling devtoolset-11 +source /opt/rh/devtoolset-11/enable echo Preparing CTA sources... cd ~/CTA diff --git a/continuousintegration/buildtree_runner/vmBootstrap/bootstrapSystem.sh b/continuousintegration/buildtree_runner/vmBootstrap/bootstrapSystem.sh index aea993b39517d4c029c745890779287e52ab598a..54d4b6ff35db04cee144465047f95279c7592336 100755 --- a/continuousintegration/buildtree_runner/vmBootstrap/bootstrapSystem.sh +++ b/continuousintegration/buildtree_runner/vmBootstrap/bootstrapSystem.sh @@ -44,7 +44,7 @@ sudo -u $CTAUSER cp tigConf/tigrc $CTAUSERHOME/.tigrc echo Installing minimal tools and tape tools sudo yum install -y centos-release-scl-rh -sudo yum install -y git cmake cmake3 rpm-build devtoolset-8 vim gdb cgdb strace ltrace screen tig lsscsi mt-st mtx sg3_utils jq psmisc yum-plugin-versionlock krb5-workstation wget yum-utils epel-release +sudo yum install -y git cmake cmake3 rpm-build devtoolset-11 vim gdb cgdb strace ltrace screen tig lsscsi mt-st mtx sg3_utils jq psmisc yum-plugin-versionlock krb5-workstation wget yum-utils epel-release echo "Getting CTA sources for $CTAUSER..." sudo -u $CTAUSER bash -c 'cd ~ ; git clone https://gitlab.cern.ch/cta/CTA.git' diff --git a/frontend-grpc/RequestMessage.hpp b/frontend-grpc/RequestMessage.hpp index 4c4fc2c1e93f5a325ca7ccace3559abd76283dc8..0e5fb7281bd0973f996d04aeae0f1b50618fdecb 100644 --- a/frontend-grpc/RequestMessage.hpp +++ b/frontend-grpc/RequestMessage.hpp @@ -20,6 +20,7 @@ #include "cta_grpc_frontend.grpc.pb.h" #include <map> +#include <optional> #include <string> namespace cta { diff --git a/frontend/common/Config.hpp b/frontend/common/Config.hpp index 16886dc3a5c18093cd7bb4d9f44e43a2f6bac31a..e59300fb19722e8af69bcb92ea976741932720ec 100644 --- a/frontend/common/Config.hpp +++ b/frontend/common/Config.hpp @@ -18,6 +18,7 @@ #pragma once #include <map> +#include <optional> #include <sstream> namespace cta { diff --git a/objectstore/ArchiveFileSerDeser.hpp b/objectstore/ArchiveFileSerDeser.hpp index 9d9421a4168823d220c53905f51a9b5095485db0..0afbbd18366ac836e1a7d2762b97ff34abd5f324 100644 --- a/objectstore/ArchiveFileSerDeser.hpp +++ b/objectstore/ArchiveFileSerDeser.hpp @@ -35,9 +35,7 @@ class ArchiveFileSerDeser: public cta::common::dataStructures::ArchiveFile { public: ArchiveFileSerDeser (): cta::common::dataStructures::ArchiveFile() {} ArchiveFileSerDeser (const cta::common::dataStructures::ArchiveFile & af): cta::common::dataStructures::ArchiveFile(af) {} - operator cta::common::dataStructures::ArchiveFile() { - return cta::common::dataStructures::ArchiveFile(*this); - } + void serialize (cta::objectstore::serializers::ArchiveFile & osaf) const { osaf.set_archivefileid(archiveFileID); osaf.set_creationtime(creationTime); diff --git a/objectstore/ArchiveRequest.cpp b/objectstore/ArchiveRequest.cpp index a24cebae7900af87761a0d36c266d39c70940a42..45ff825f2af454883ef85708040bfb8754a6f275 100644 --- a/objectstore/ArchiveRequest.cpp +++ b/objectstore/ArchiveRequest.cpp @@ -959,7 +959,7 @@ void ArchiveRequest::setRepackInfo(const RepackInfo& repackInfo){ repackInfoToWrite->set_repack_request_address(repackInfo.repackRequestAddress); repackInfoToWrite->set_file_buffer_url(repackInfo.fileBufferURL); repackInfoToWrite->set_fseq(repackInfo.fSeq); - for(const auto kv: repackInfo.jobsDestination){ + for(const auto& kv: repackInfo.jobsDestination){ auto jobDestination = repackInfoToWrite->mutable_jobs_destination()->Add(); jobDestination->set_copy_nb(kv.first); jobDestination->set_destination_vid(kv.second); diff --git a/objectstore/ArchiveRequest.hpp b/objectstore/ArchiveRequest.hpp index 761b722c67b5e09d73fdfee1deb2152176a4c9ac..0ad88e56d2990921019e01312e17f2d0b6d384e3 100644 --- a/objectstore/ArchiveRequest.hpp +++ b/objectstore/ArchiveRequest.hpp @@ -162,7 +162,6 @@ public: const std::optional<serializers::ArchiveJobStatus>& newStatus); struct RepackInfoSerDeser: public RepackInfo { - operator RepackInfo() { return RepackInfo(*this); } void serialize(cta::objectstore::serializers::ArchiveRequestRepackInfo & arri) { if (!isRepack) throw exception::Exception("In ArchiveRequest::RepackInfoSerDeser::serialize(): isRepack is false."); arri.set_repack_request_address(repackRequestAddress); diff --git a/objectstore/DiskFileInfoSerDeser.hpp b/objectstore/DiskFileInfoSerDeser.hpp index ced51b0261cbce90b73cd12b859cd598e104f8fe..04d2cd95b8b5aa00989d277c9f23f1d0fbcfd8d5 100644 --- a/objectstore/DiskFileInfoSerDeser.hpp +++ b/objectstore/DiskFileInfoSerDeser.hpp @@ -33,10 +33,6 @@ struct DiskFileInfoSerDeser: public cta::common::dataStructures::DiskFileInfo { DiskFileInfoSerDeser() : cta::common::dataStructures::DiskFileInfo() {} DiskFileInfoSerDeser(const cta::common::dataStructures::DiskFileInfo &dfi) : cta::common::dataStructures::DiskFileInfo(dfi) {} - operator cta::common::dataStructures::DiskFileInfo() { - return cta::common::dataStructures::DiskFileInfo(*this); - } - void serialize (cta::objectstore::serializers::DiskFileInfo & osdfi) const { osdfi.set_path(path); osdfi.set_owner_uid(owner_uid); diff --git a/objectstore/EntryLogSerDeser.hpp b/objectstore/EntryLogSerDeser.hpp index 1ab8b2e1af96a691f032b8c33016b0e07ea9bb3a..825cd9307ab5bfe265f0772813254e80057a0287 100644 --- a/objectstore/EntryLogSerDeser.hpp +++ b/objectstore/EntryLogSerDeser.hpp @@ -38,9 +38,7 @@ public: host=hn; time=t; } - operator cta::common::dataStructures::EntryLog() { - return cta::common::dataStructures::EntryLog(*this); - } + void serialize (cta::objectstore::serializers::EntryLog & log) const { log.set_username(username); log.set_host(host); diff --git a/objectstore/LifecycleTimingsSerDeser.hpp b/objectstore/LifecycleTimingsSerDeser.hpp index 7e3cc8cb8b5e4e1b0e5c68c1d0b96d792a72e392..a2710b5fdecf813ae47995324a890e41bb5e15f4 100644 --- a/objectstore/LifecycleTimingsSerDeser.hpp +++ b/objectstore/LifecycleTimingsSerDeser.hpp @@ -22,9 +22,11 @@ namespace objectstore{ public: LifecycleTimingsSerDeser() : cta::common::dataStructures::LifecycleTimings() {} LifecycleTimingsSerDeser(const cta::common::dataStructures::LifecycleTimings& lifecycleTimings) : cta::common::dataStructures::LifecycleTimings(lifecycleTimings) {} - operator cta::common::dataStructures::LifecycleTimings() { - return cta::common::dataStructures::LifecycleTimings(*this); - } + + // Assignment operator + LifecycleTimingsSerDeser operator=(const cta::common::dataStructures::LifecycleTimings& lifecycleTimings) { + return cta::common::dataStructures::LifecycleTimings(*this); + } void deserialize(const cta::objectstore::serializers::LifecycleTimings& ostoreLifecycleTimings){ completed_time = ostoreLifecycleTimings.completed_time(); diff --git a/objectstore/MountPolicySerDeser.hpp b/objectstore/MountPolicySerDeser.hpp index bc63249018553596a6248c74146ea9118aef1c87..45161f52b254f37bb303ecafd33ef48b7f6fb495 100644 --- a/objectstore/MountPolicySerDeser.hpp +++ b/objectstore/MountPolicySerDeser.hpp @@ -33,9 +33,7 @@ class MountPolicySerDeser: public cta::common::dataStructures::MountPolicy { public: MountPolicySerDeser (): cta::common::dataStructures::MountPolicy() {} MountPolicySerDeser (const cta::common::dataStructures::MountPolicy & mp): cta::common::dataStructures::MountPolicy(mp) {} - operator cta::common::dataStructures::MountPolicy() { - return cta::common::dataStructures::MountPolicy(*this); - } + void serialize (cta::objectstore::serializers::MountPolicy & osmp) const { osmp.set_name(name); osmp.set_archivepriority(archivePriority); diff --git a/objectstore/RetrieveRequest.hpp b/objectstore/RetrieveRequest.hpp index 914006646a225ff572a295f21eb792d8a7b9bd8b..7f328018918db31d67172d70a83ec5befe9c1d28 100644 --- a/objectstore/RetrieveRequest.hpp +++ b/objectstore/RetrieveRequest.hpp @@ -160,7 +160,6 @@ public: RepackInfo getRepackInfo(); struct RepackInfoSerDeser: public RepackInfo { - operator RepackInfo() { return RepackInfo(*this); } void serialize(cta::objectstore::serializers::RetrieveRequestRepackInfo & rrri) { if (!isRepack) throw exception::Exception("In RetrieveRequest::RepackInfoSerDeser::serialize(): isRepack is false."); for (auto &route: archiveRouteMap) { diff --git a/objectstore/RootEntry.cpp b/objectstore/RootEntry.cpp index cf18982171f8c3b1e60123f90eb3c67e881f9b86..a3c439f216dccf7bf5081b29ef7d565dd11acdc2 100644 --- a/objectstore/RootEntry.cpp +++ b/objectstore/RootEntry.cpp @@ -15,6 +15,8 @@ * submit itself to any jurisdiction. */ +#include <thread> + #include <cxxabi.h> #include <google/protobuf/util/json_util.h> diff --git a/objectstore/TapeFileSerDeser.hpp b/objectstore/TapeFileSerDeser.hpp index 6a189425b82f945bd26199289c9555b2c18387f8..2fdcb4d356a4e8b7b93defa238298afa153fab5a 100644 --- a/objectstore/TapeFileSerDeser.hpp +++ b/objectstore/TapeFileSerDeser.hpp @@ -33,9 +33,7 @@ class TapeFileSerDeser: public cta::common::dataStructures::TapeFile { public: TapeFileSerDeser (): cta::common::dataStructures::TapeFile() {} TapeFileSerDeser (const cta::common::dataStructures::TapeFile & tf): cta::common::dataStructures::TapeFile(tf) {} - operator cta::common::dataStructures::TapeFile() { - return cta::common::dataStructures::TapeFile(*this); - } + void serialize (cta::objectstore::serializers::TapeFile & ostf) const { ostf.set_vid(vid); ostf.set_fseq(fSeq); diff --git a/tests/helgrind.suppr b/tests/helgrind.suppr index 9c45ee92e658dc67c176a72d4c3e03dd8e8c6ea7..3d9e8f65eae48f7002fefe061f489c719d9250ac 100644 --- a/tests/helgrind.suppr +++ b/tests/helgrind.suppr @@ -901,3 +901,34 @@ fun:_ZN6castor4tape10tapeserver6daemon13DiskWriteTaskD0Ev ... } + +{ + <insert_a_suppression_name_here> + Helgrind:Race + fun:_ZNSsD1Ev + fun:_ZN6google8protobuf8internal14ArenaStringPtr14DestroyNoArenaEPKSs + fun:_ZN3cta11objectstore11serializers12ObjectHeader10SharedDtorEv + ... +} + +{ + <insert_a_suppression_name_here> + Helgrind:Misc + fun:do_futex_wait.constprop.1 + fun:__new_sem_wait_slow.constprop.0 + fun:sem_wait@@GLIBC_2.2.5 + fun:sem_wait_WRK + fun:sem_wait@* + fun:_ZN3cta9threading14PosixSemaphore7acquireEv + fun:_ZN3cta8OStoreDB16delayIfNecessaryERNS_3log10LogContextE + ... +} + +{ + <insert_a_suppression_name_here> + Helgrind:Race + fun:_ZN6google8protobuf8internal29InternalMetadataWithArenaBaseINS0_15UnknownFieldSetENS1_25InternalMetadataWithArenaEED1Ev + fun:_ZN6google8protobuf8internal25InternalMetadataWithArenaD1Ev + fun:_ZN3cta11objectstore11serializers8TapeFileD1Ev + ... +} \ No newline at end of file