Skip to content

Commit 7383608

Browse files
committed
Do not process datasets/replicas that are officially deleted from the .aca file.
1 parent 1f6446c commit 7383608

2 files changed

Lines changed: 39 additions & 3 deletions

File tree

source/adios2/engine/campaign/CampaignData.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,8 @@ size_t CampaignData::FindReplicaOnHost(const size_t datasetIdx,
813813
{
814814
auto repIdx = it.first;
815815
auto &rep = it.second;
816+
if (rep.deleted)
817+
continue;
816818
for (auto &localAlias : localHostAliases)
817819
if (hosts[rep.hostIdx].hostname == localAlias)
818820
{
@@ -838,6 +840,8 @@ std::vector<size_t> CampaignData::FindRemoteReplicas(const size_t datasetIdx,
838840
for (auto &it : datasets[datasetIdx].replicas)
839841
{
840842
auto &rep = it.second;
843+
if (rep.deleted)
844+
continue;
841845
if (lf_KnownHost(hosts[rep.hostIdx].hostname) && !directory[rep.dirIdx].archive)
842846
{
843847
auto repIdx = it.first;
@@ -848,6 +852,8 @@ std::vector<size_t> CampaignData::FindRemoteReplicas(const size_t datasetIdx,
848852
for (auto &it : datasets[datasetIdx].replicas)
849853
{
850854
auto &rep = it.second;
855+
if (rep.deleted)
856+
continue;
851857

852858
if (lf_KnownHost(hosts[rep.hostIdx].hostname) && directory[rep.dirIdx].archive &&
853859
directory[rep.dirIdx].archiveSystemName == "fs")
@@ -860,6 +866,8 @@ std::vector<size_t> CampaignData::FindRemoteReplicas(const size_t datasetIdx,
860866
for (auto &it : datasets[datasetIdx].replicas)
861867
{
862868
auto &rep = it.second;
869+
if (rep.deleted)
870+
continue;
863871
if (lf_KnownHost(hosts[rep.hostIdx].hostname) && directory[rep.dirIdx].archive &&
864872
hosts[rep.hostIdx].defaultProtocol == "s3")
865873
{
@@ -871,6 +879,8 @@ std::vector<size_t> CampaignData::FindRemoteReplicas(const size_t datasetIdx,
871879
for (auto &it : datasets[datasetIdx].replicas)
872880
{
873881
auto &rep = it.second;
882+
if (rep.deleted)
883+
continue;
874884
if (directory[rep.dirIdx].archive && hosts[rep.hostIdx].defaultProtocol == "https")
875885
{
876886
auto repIdx = it.first;
@@ -881,6 +891,8 @@ std::vector<size_t> CampaignData::FindRemoteReplicas(const size_t datasetIdx,
881891
for (auto &it : datasets[datasetIdx].replicas)
882892
{
883893
auto &rep = it.second;
894+
if (rep.deleted)
895+
continue;
884896
if (!lf_KnownHost(hosts[rep.hostIdx].hostname) && !directory[rep.dirIdx].archive)
885897
{
886898
auto repIdx = it.first;

source/adios2/engine/campaign/CampaignReader.cpp

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -739,9 +739,10 @@ void CampaignReader::InitTransports()
739739
CampaignDataset &ds = itDS.second;
740740
if (ds.tsid && (ds.format == FileFormat::HDF5 || ds.format == FileFormat::ADIOS))
741741
continue;
742-
std::cout << " " << ds.name << "\n";
742+
std::cout << " " << ds.name << (ds.deleted ? " -- deleted" : "") << "\n";
743743
std::cout << " uuid: " << ds.uuid << "\n";
744744
std::cout << " fmt : " << ds.format.ToString() << "\n";
745+
745746
for (auto &itRep : ds.replicas)
746747
{
747748
CampaignReplica &rep = itRep.second;
@@ -756,7 +757,7 @@ void CampaignReader::InitTransports()
756757
}
757758
std::cout << " " << m_CampaignData.hosts[rep.hostIdx].hostname << ":"
758759
<< m_CampaignData.directory[rep.dirIdx].path << "/" << tarpath << rep.name
759-
<< "\n";
760+
<< (rep.deleted ? " -- deleted" : "") << "\n";
760761
if (rep.hasKey)
761762
{
762763
std::cout << " key: " << rep.keyIdx << "\n";
@@ -817,6 +818,8 @@ void CampaignReader::InitTransports()
817818
continue;
818819

819820
auto &ds = m_CampaignData.datasets[ts.datasets.begin()->second];
821+
if (ds.deleted)
822+
continue;
820823
if (ds.format == FileFormat::IMAGE || ds.format == FileFormat::TEXT)
821824
continue;
822825

@@ -838,13 +841,22 @@ void CampaignReader::InitTransports()
838841
size_t tsorder = itDS.first;
839842
size_t dsIdx = itDS.second;
840843
CampaignDataset &ds = m_CampaignData.datasets[dsIdx];
841-
if (!Matches(ds.name))
844+
if (ds.deleted || !Matches(ds.name))
842845
continue;
843846
std::string localPath;
844847
size_t repIdx = m_CampaignData.FindReplicaOnHost(dsIdx, m_LocalhostAliases);
845848
if (!repIdx)
846849
{
847850
auto reps = m_CampaignData.FindRemoteReplicas(dsIdx, ADIOS::GetHostOptions());
851+
if (reps.empty())
852+
{
853+
if (m_Options.verbose > 0)
854+
{
855+
std::cout << " " << tsorder << ". " << ds.name
856+
<< " No replicas. Skipping \n";
857+
}
858+
continue;
859+
}
848860
size_t repIdx = reps.front();
849861
std::string localPath = SaveRemoteMD(dsIdx, repIdx, io, true);
850862
if (!localPath.empty())
@@ -894,6 +906,8 @@ void CampaignReader::InitTransports()
894906
{
895907
size_t dsIdx = it.first;
896908
CampaignDataset &ds = it.second;
909+
if (ds.deleted)
910+
continue;
897911
if (ds.tsid && (ds.format == FileFormat::HDF5 || ds.format == FileFormat::ADIOS))
898912
continue;
899913
if (ds.format == FileFormat::IMAGE)
@@ -908,6 +922,14 @@ void CampaignReader::InitTransports()
908922
if (!repIdx)
909923
{
910924
auto reps = m_CampaignData.FindRemoteReplicas(dsIdx, ADIOS::GetHostOptions());
925+
if (reps.empty())
926+
{
927+
if (m_Options.verbose > 0)
928+
{
929+
std::cout << " " << ds.name << " No replicas. Skipping \n";
930+
}
931+
continue;
932+
}
911933
size_t repIdx = reps.front();
912934
localPath = SaveRemoteMD(dsIdx, repIdx, io, false);
913935
if (!localPath.empty())
@@ -998,6 +1020,8 @@ void CampaignReader::InitTransports()
9981020
{
9991021
size_t dsIdx = it.first;
10001022
CampaignDataset &ds = it.second;
1023+
if (ds.deleted)
1024+
continue;
10011025
if (ds.format != FileFormat::IMAGE)
10021026
continue;
10031027
if (!Matches(ds.name))

0 commit comments

Comments
 (0)