Skip to content

Commit bc6c7d8

Browse files
committed
Merge branch 'hotfix/5.13.1'
2 parents a509831 + 3330451 commit bc6c7d8

25 files changed

+39
-39
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.13.0
1+
5.13.1

src/fdb5/api/helpers/Callback.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ namespace fdb5 {
2222

2323
class FDB;
2424

25-
using ArchiveCallback = std::function<void(const Key& key, const void* data, size_t length, std::future<std::shared_ptr<FieldLocation>>)>;
25+
using ArchiveCallback = std::function<void(const Key& key, const void* data, size_t length, std::future<std::shared_ptr<const FieldLocation>>)>;
2626
using FlushCallback = std::function<void()>;
2727
using ConstructorCallback = std::function<void(FDB&)>;
2828

29-
static const ArchiveCallback CALLBACK_NOOP = [](const Key& key, const void* data, size_t length, std::future<std::shared_ptr<FieldLocation>>) {};
29+
static const ArchiveCallback CALLBACK_NOOP = [](const Key& key, const void* data, size_t length, std::future<std::shared_ptr<const FieldLocation>>) {};
3030
static const FlushCallback CALLBACK_FLUSH_NOOP = []() {};
3131
static const ConstructorCallback CALLBACK_CONSTRUCTOR_NOOP = [](FDB&) {};
3232

src/fdb5/daos/DaosCatalogueWriter.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ const Index& DaosCatalogueWriter::currentIndex() {
226226
/// @todo: other writers may be simultaneously updating the axes KeyValues in DAOS. Should these
227227
/// new updates be retrieved and put into in-memory axes from time to time, e.g. every
228228
/// time a value is put in an axis KeyValue?
229-
void DaosCatalogueWriter::archive(const Key& key, std::shared_ptr<FieldLocation> fieldLocation) {
229+
void DaosCatalogueWriter::archive(const Key& key, std::shared_ptr<const FieldLocation> fieldLocation) {
230230

231231
if (current_.null()) {
232232
ASSERT(!currentIndexKey_.empty());

src/fdb5/daos/DaosCatalogueWriter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class DaosCatalogueWriter : public DaosCatalogue, public CatalogueWriter {
5656
void clean() override;
5757
void close() override;
5858

59-
void archive(const Key& key, std::shared_ptr<FieldLocation> fieldLocation) override;
59+
void archive(const Key& key, std::shared_ptr<const FieldLocation> fieldLocation) override;
6060

6161
virtual void print( std::ostream &out ) const override { NOTIMP; }
6262

src/fdb5/daos/DaosFieldLocation.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ DaosFieldLocation::DaosFieldLocation(const eckit::URI &uri, eckit::Offset offset
3333
DaosFieldLocation::DaosFieldLocation(eckit::Stream& s) :
3434
FieldLocation(s) {}
3535

36-
std::shared_ptr<FieldLocation> DaosFieldLocation::make_shared() const {
36+
std::shared_ptr<const FieldLocation> DaosFieldLocation::make_shared() const {
3737
return std::make_shared<DaosFieldLocation>(std::move(*this));
3838
}
3939

src/fdb5/daos/DaosFieldLocation.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class DaosFieldLocation : public FieldLocation {
3434

3535
eckit::DataHandle* dataHandle() const override;
3636

37-
virtual std::shared_ptr<FieldLocation> make_shared() const override;
37+
virtual std::shared_ptr<const FieldLocation> make_shared() const override;
3838

3939
virtual void visit(FieldLocationVisitor& visitor) const override;
4040

src/fdb5/daos/DaosLazyFieldLocation.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ DaosLazyFieldLocation::DaosLazyFieldLocation(const fdb5::DaosLazyFieldLocation&
2424
DaosLazyFieldLocation::DaosLazyFieldLocation(const fdb5::DaosKeyValueName& index, const std::string& key) :
2525
FieldLocation(), index_(index), key_(key) {}
2626

27-
std::shared_ptr<FieldLocation> DaosLazyFieldLocation::make_shared() const {
27+
std::shared_ptr<const FieldLocation> DaosLazyFieldLocation::make_shared() const {
2828
return std::make_shared<DaosLazyFieldLocation>(std::move(*this));
2929
}
3030

@@ -42,7 +42,7 @@ void DaosLazyFieldLocation::visit(FieldLocationVisitor& visitor) const {
4242
realise()->visit(visitor);
4343
}
4444

45-
std::shared_ptr<FieldLocation> DaosLazyFieldLocation::stableLocation() const {
45+
std::shared_ptr<const FieldLocation> DaosLazyFieldLocation::stableLocation() const {
4646
return realise()->make_shared();
4747
}
4848

src/fdb5/daos/DaosLazyFieldLocation.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ class DaosLazyFieldLocation : public FieldLocation {
3636

3737
eckit::DataHandle* dataHandle() const override;
3838

39-
virtual std::shared_ptr<FieldLocation> make_shared() const override;
39+
virtual std::shared_ptr<const FieldLocation> make_shared() const override;
4040

4141
virtual void visit(FieldLocationVisitor& visitor) const override;
4242

43-
virtual std::shared_ptr<FieldLocation> stableLocation() const override;
43+
virtual std::shared_ptr<const FieldLocation> stableLocation() const override;
4444

4545
private: // methods
4646

src/fdb5/database/Catalogue.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class CatalogueReader {
121121
class CatalogueWriter {
122122
public:
123123
virtual const Index& currentIndex() = 0;
124-
virtual void archive(const Key& key, std::shared_ptr<FieldLocation> fieldLocation) = 0;
124+
virtual void archive(const Key& key, std::shared_ptr<const FieldLocation> fieldLocation) = 0;
125125
virtual void overlayDB(const Catalogue& otherCatalogue, const std::set<std::string>& variableKeys, bool unmount) = 0;
126126
virtual void index(const Key& key, const eckit::URI& uri, eckit::Offset offset, eckit::Length length) = 0;
127127
virtual void reconsolidate() = 0;

src/fdb5/database/DB.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,10 @@ void DB::archive(const Key& key, const void* data, eckit::Length length, const K
110110

111111
const Index& idx = cat->currentIndex();
112112

113-
std::shared_ptr<FieldLocation> location(store().archive(idx.key(), data, length));
113+
std::shared_ptr<const FieldLocation> location(store().archive(idx.key(), data, length));
114114

115115
// In anticipaton of store().archive() working asynchronously in later FDB versions.
116-
std::promise<std::shared_ptr<FieldLocation>> promise;
116+
std::promise<std::shared_ptr<const FieldLocation>> promise;
117117
promise.set_value(location);
118118

119119
callback(field, data, length, promise.get_future());

src/fdb5/database/Field.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace fdb5 {
1616

1717
Field::Field() {}
1818

19-
Field::Field(std::shared_ptr<FieldLocation> location, time_t timestamp, const FieldDetails& details):
19+
Field::Field(std::shared_ptr<const FieldLocation> location, time_t timestamp, const FieldDetails& details):
2020
location_(std::move(location)),
2121
timestamp_(timestamp),
2222
details_(details) {

src/fdb5/database/Field.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class Field {
4343

4444
Field();
4545

46-
Field(std::shared_ptr<FieldLocation> location, time_t timestamp, const FieldDetails& details = FieldDetails());
46+
Field(std::shared_ptr<const FieldLocation> location, time_t timestamp, const FieldDetails& details = FieldDetails());
4747
Field(const FieldLocation&& location, time_t timestamp, const FieldDetails& details = FieldDetails());
4848

4949
eckit::DataHandle* dataHandle() const { return location_->dataHandle(); }
@@ -54,14 +54,14 @@ class Field {
5454

5555
/// stableLocation is an object with validity that extends longer than that of the
5656
/// owning DB. May need converting to a more static form --- or not.
57-
std::shared_ptr<FieldLocation> stableLocation() const {
57+
std::shared_ptr<const FieldLocation> stableLocation() const {
5858
return location_->stableLocation();
5959
}
6060
const FieldDetails& details() const { return details_; }
6161

6262
private: // members
6363

64-
std::shared_ptr<FieldLocation> location_;
64+
std::shared_ptr<const FieldLocation> location_;
6565

6666
time_t timestamp_;
6767

src/fdb5/database/FieldLocation.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ class FieldLocation : public eckit::OwnedLock, public eckit::Streamable {
5858
virtual eckit::DataHandle *dataHandle() const = 0;
5959

6060
/// Create a (shared) copy of the current object, for storage in a general container.
61-
virtual std::shared_ptr<FieldLocation> make_shared() const = 0;
61+
virtual std::shared_ptr<const FieldLocation> make_shared() const = 0;
6262

63-
virtual std::shared_ptr<FieldLocation> stableLocation() const { return make_shared(); }
63+
virtual std::shared_ptr<const FieldLocation> stableLocation() const { return make_shared(); }
6464

6565
virtual void visit(FieldLocationVisitor& visitor) const = 0;
6666

src/fdb5/pmem/PMemFieldLocation.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ PMemFieldLocation::PMemFieldLocation(const ::pmem::PersistentPtr<PDataNode>& dat
5050
dataPool_(pool) {}
5151

5252

53-
std::shared_ptr<FieldLocation> PMemFieldLocation::make_shared() const {
53+
std::shared_ptr<const FieldLocation> PMemFieldLocation::make_shared() const {
5454
return std::make_shared<PMemFieldLocation>(*this);
5555
}
5656

57-
std::shared_ptr<FieldLocation> PMemFieldLocation::stableLocation() const {
57+
std::shared_ptr<const FieldLocation> PMemFieldLocation::stableLocation() const {
5858
return std::make_shared<TocFieldLocation>(url(), node().offset(), node()->length());
5959
}
6060

src/fdb5/pmem/PMemFieldLocation.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ class PMemFieldLocation : public FieldLocation {
4747
virtual eckit::DataHandle *dataHandle() const;
4848
virtual eckit::DataHandle *dataHandle(const Key& remapKey) const;
4949

50-
virtual std::shared_ptr<FieldLocation> make_shared() const;
50+
virtual std::shared_ptr<const FieldLocation> make_shared() const;
5151

5252
// The PMemFieldLocation only has validity equal to that of the PMemDB.
5353
// This is a problem with any async API functions.
5454
// --> For visibility purposes return something more stable (currently a
5555
// TocFieldLocation....)
56-
virtual std::shared_ptr<FieldLocation> stableLocation() const;
56+
virtual std::shared_ptr<const FieldLocation> stableLocation() const;
5757

5858
virtual void visit(FieldLocationVisitor& visitor) const;
5959

src/fdb5/rados/RadosFieldLocation.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ RadosFieldLocation::RadosFieldLocation(eckit::Stream& s) :
4242
FieldLocation(s) {}
4343

4444

45-
std::shared_ptr<FieldLocation> RadosFieldLocation::make_shared() const {
45+
std::shared_ptr<const FieldLocation> RadosFieldLocation::make_shared() const {
4646
return std::make_shared<RadosFieldLocation>(std::move(*this));
4747
}
4848

src/fdb5/rados/RadosFieldLocation.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class RadosFieldLocation : public FieldLocation {
4545

4646
// eckit::URI uri() const override;
4747

48-
virtual std::shared_ptr<FieldLocation> make_shared() const override;
48+
virtual std::shared_ptr<const FieldLocation> make_shared() const override;
4949

5050
virtual void visit(FieldLocationVisitor& visitor) const override;
5151

src/fdb5/remote/RemoteFieldLocation.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,23 @@ RemoteFieldLocation::RemoteFieldLocation(RemoteFDB* remoteFDB, const FieldLocati
3737

3838
RemoteFieldLocation::RemoteFieldLocation(const eckit::URI& uri) :
3939
FieldLocation(eckit::URI("fdb://" + uri.hostport())),
40-
internal_(std::shared_ptr<FieldLocation>(FieldLocationFactory::instance().build(uri.scheme(), uri))) {}
40+
internal_(std::shared_ptr<const FieldLocation>(FieldLocationFactory::instance().build(uri.scheme(), uri))) {}
4141

4242
RemoteFieldLocation::RemoteFieldLocation(const eckit::URI& uri, const eckit::Offset& offset, const eckit::Length& length, const Key& remapKey) :
4343
FieldLocation(eckit::URI("fdb://" + uri.hostport())),
44-
internal_(std::shared_ptr<FieldLocation>(FieldLocationFactory::instance().build(uri.scheme(), uri, offset, length, remapKey))) {}
44+
internal_(std::shared_ptr<const FieldLocation>(FieldLocationFactory::instance().build(uri.scheme(), uri, offset, length, remapKey))) {}
4545

4646
RemoteFieldLocation::RemoteFieldLocation(eckit::Stream& s) :
4747
FieldLocation(s),
48-
internal_(std::shared_ptr<FieldLocation>(eckit::Reanimator<FieldLocation>::reanimate(s))) {}
48+
internal_(std::shared_ptr<const FieldLocation>(eckit::Reanimator<FieldLocation>::reanimate(s))) {}
4949

5050
RemoteFieldLocation::RemoteFieldLocation(const RemoteFieldLocation& rhs) :
5151
FieldLocation(rhs.uri_),
5252
remoteFDB_(rhs.remoteFDB_),
5353
internal_(rhs.internal_) {}
5454

5555

56-
std::shared_ptr<FieldLocation> RemoteFieldLocation::make_shared() const {
56+
std::shared_ptr<const FieldLocation> RemoteFieldLocation::make_shared() const {
5757
return std::make_shared<RemoteFieldLocation>(std::move(*this));
5858
}
5959

src/fdb5/remote/RemoteFieldLocation.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class RemoteFieldLocation : public FieldLocation {
4343

4444
virtual eckit::DataHandle *dataHandle() const override;
4545

46-
virtual std::shared_ptr<FieldLocation> make_shared() const override;
46+
virtual std::shared_ptr<const FieldLocation> make_shared() const override;
4747
virtual void visit(FieldLocationVisitor& visitor) const override;
4848

4949
public: // For Streamable

src/fdb5/toc/TocCatalogueWriter.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ bool TocCatalogueWriter::enabled(const ControlIdentifier& controlIdentifier) con
294294
return TocCatalogue::enabled(controlIdentifier);
295295
}
296296

297-
void TocCatalogueWriter::archive(const Key& key, std::shared_ptr<FieldLocation> fieldLocation) {
297+
void TocCatalogueWriter::archive(const Key& key, std::shared_ptr<const FieldLocation> fieldLocation) {
298298
dirty_ = true;
299299

300300
if (current_.null()) {

src/fdb5/toc/TocCatalogueWriter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class TocCatalogueWriter : public TocCatalogue, public CatalogueWriter {
7070
void clean() override;
7171
void close() override;
7272

73-
void archive(const Key& key, std::shared_ptr<FieldLocation> fieldLocation) override;
73+
void archive(const Key& key, std::shared_ptr<const FieldLocation> fieldLocation) override;
7474
void reconsolidateIndexesAndTocs();
7575

7676
virtual void print( std::ostream &out ) const override;

src/fdb5/toc/TocFieldLocation.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ TocFieldLocation::TocFieldLocation(const UriStore &store, const FieldRef &ref) :
4343
TocFieldLocation::TocFieldLocation(eckit::Stream& s) :
4444
FieldLocation(s) {}
4545

46-
std::shared_ptr<FieldLocation> TocFieldLocation::make_shared() const {
46+
std::shared_ptr<const FieldLocation> TocFieldLocation::make_shared() const {
4747
return std::make_shared<TocFieldLocation>(std::move(*this));
4848
}
4949

src/fdb5/toc/TocFieldLocation.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class TocFieldLocation : public FieldLocation {
3939

4040
eckit::DataHandle* dataHandle() const override;
4141

42-
virtual std::shared_ptr<FieldLocation> make_shared() const override;
42+
virtual std::shared_ptr<const FieldLocation> make_shared() const override;
4343

4444
virtual void visit(FieldLocationVisitor& visitor) const override;
4545

tests/fdb/api/test_auxiliary.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ eckit::PathName writeAuxiliaryData(const eckit::PathName datapath, const std::st
2424
std::set<eckit::PathName> setup(FDB& fdb) {
2525
// Setup: Write data, generating auxiliary files using the archive callback
2626
std::set<eckit::PathName> auxPaths;
27-
fdb.registerArchiveCallback([&auxPaths] (const Key& key, const void* data, size_t length, std::future<std::shared_ptr<FieldLocation>> future) {
28-
std::shared_ptr<FieldLocation> location = future.get();
27+
fdb.registerArchiveCallback([&auxPaths] (const Key& key, const void* data, size_t length, std::future<std::shared_ptr<const FieldLocation>> future) {
28+
std::shared_ptr<const FieldLocation> location = future.get();
2929
for (const auto& ext : extensions) {
3030
auxPaths.insert(writeAuxiliaryData(location->uri().path(), ext));
3131
}

tests/fdb/api/test_callback.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ CASE("Archive and flush callback") {
2626
std::vector<Key> keys;
2727
bool flushCalled = false;
2828

29-
fdb.registerArchiveCallback([&map] (const Key& key, const void* data, size_t length, std::future<std::shared_ptr<FieldLocation>> future) {
30-
std::shared_ptr<FieldLocation> location = future.get();
29+
fdb.registerArchiveCallback([&map] (const Key& key, const void* data, size_t length, std::future<std::shared_ptr<const FieldLocation>> future) {
30+
std::shared_ptr<const FieldLocation> location = future.get();
3131
map[key] = location->fullUri();
3232
});
3333

0 commit comments

Comments
 (0)