diff options
author | Tor Egge <Tor.Egge@online.no> | 2023-07-19 23:10:04 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2023-07-19 23:10:04 +0200 |
commit | c9d7005f98462a3d46cae4a410285620e6e26b31 (patch) | |
tree | c959a337584776a481bf990ea150ea51bf8f12be | |
parent | 9756634dce13409a3177488c4a8c8329dd3fa40d (diff) |
Use std::filesystem::rename instead of vespalib::rename.
3 files changed, 13 insertions, 9 deletions
diff --git a/document/src/tests/serialization/vespadocumentserializer_test.cpp b/document/src/tests/serialization/vespadocumentserializer_test.cpp index e91e38e0fe4..1839005d720 100644 --- a/document/src/tests/serialization/vespadocumentserializer_test.cpp +++ b/document/src/tests/serialization/vespadocumentserializer_test.cpp @@ -46,6 +46,7 @@ #include <vespa/vespalib/testkit/testapp.h> #include <vespa/document/base/exceptions.h> #include <vespa/vespalib/util/compressionconfig.h> +#include <filesystem> using vespalib::File; using vespalib::Slime; @@ -706,8 +707,8 @@ void checkDeserialization(const string &name, std::unique_ptr<Slime> slime) { PredicateFieldValue value(std::move(slime)); serializeToFile(value, data_dir + name + "__cpp.new"); - vespalib::rename(data_dir + name + "__cpp.new", - data_dir + name + "__cpp"); + std::filesystem::rename(std::filesystem::path(data_dir + name + "__cpp.new"), + std::filesystem::path(data_dir + name + "__cpp")); deserializeAndCheck(data_dir + name + "__cpp", value); deserializeAndCheck(data_dir + name + "__java", value); @@ -836,8 +837,8 @@ void checkDeserialization(const string &name, std::unique_ptr<vespalib::eval::Va value = std::move(tensor); } serializeToFile(value, data_dir + name + "__cpp.new"); - vespalib::rename(data_dir + name + "__cpp.new", - data_dir + name + "__cpp"); + std::filesystem::rename(std::filesystem::path(data_dir + name + "__cpp.new"), + std::filesystem::path(data_dir + name + "__cpp")); deserializeAndCheck(data_dir + name + "__cpp", value); deserializeAndCheck(data_dir + name + "__java", value); @@ -965,8 +966,8 @@ struct RefFixture { const string field_name = "ref_field"; serializeToFile(value, data_dir + file_base_name + "__cpp.new", fixed_repo.getDocumentTypeRepo(), ref_doc_type, field_name); - vespalib::rename(data_dir + file_base_name + "__cpp.new", - data_dir + file_base_name + "__cpp"); + std::filesystem::rename(std::filesystem::path(data_dir + file_base_name + "__cpp.new"), + std::filesystem::path(data_dir + file_base_name + "__cpp")); deserializeAndCheck(data_dir + file_base_name + "__cpp", value, fixed_repo, field_name); diff --git a/searchcore/src/vespa/searchcore/proton/server/proton_disk_layout.cpp b/searchcore/src/vespa/searchcore/proton/server/proton_disk_layout.cpp index 57a3d21652b..aecb1eec262 100644 --- a/searchcore/src/vespa/searchcore/proton/server/proton_disk_layout.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/proton_disk_layout.cpp @@ -83,7 +83,9 @@ ProtonDiskLayout::remove(const DocTypeName &docTypeName) vespalib::string name(docTypeName.toString()); vespalib::string normalDir(documentsDir + "/" + name); vespalib::string removedDir(documentsDir + "/" + getRemovedName(name)); - vespalib::rename(normalDir, removedDir, false, false); + if (std::filesystem::exists(std::filesystem::path(normalDir))) { + std::filesystem::rename(std::filesystem::path(normalDir), std::filesystem::path(removedDir)); + } vespalib::File::sync(documentsDir); TransLogClient tlc(_transport, _tlsSpec); if (!tlc.remove(name)) { diff --git a/vespalib/src/tests/net/tls/auto_reloading_tls_crypto_engine/auto_reloading_tls_crypto_engine_test.cpp b/vespalib/src/tests/net/tls/auto_reloading_tls_crypto_engine/auto_reloading_tls_crypto_engine_test.cpp index 6662b2a4e41..62614f5d811 100644 --- a/vespalib/src/tests/net/tls/auto_reloading_tls_crypto_engine/auto_reloading_tls_crypto_engine_test.cpp +++ b/vespalib/src/tests/net/tls/auto_reloading_tls_crypto_engine/auto_reloading_tls_crypto_engine_test.cpp @@ -9,6 +9,7 @@ #include <vespa/vespalib/testkit/test_kit.h> #include <vespa/vespalib/testkit/time_bomb.h> #include <openssl/ssl.h> +#include <filesystem> using namespace vespalib; using namespace vespalib::net::tls; @@ -118,7 +119,7 @@ TEST_FF("Config reloading transitively loads updated files", Fixture(50ms), Time ASSERT_EQUAL(cert1_pem, current_certs); write_file("test_cert.pem.tmp", cert2_pem); - rename("test_cert.pem.tmp", "test_cert.pem", false, false); // We expect this to be an atomic rename under the hood + std::filesystem::rename(std::filesystem::path("test_cert.pem.tmp"), std::filesystem::path("test_cert.pem")); // We expect this to be an atomic rename under the hood current_certs = f1.current_cert_chain(); while (current_certs != cert2_pem) { @@ -140,7 +141,7 @@ TEST_FF("Config reload failure increments failure statistic", Fixture(50ms), Tim auto before = ConfigStatistics::get().snapshot(); write_file("test_cert.pem.tmp", "Broken file oh no :("); - rename("test_cert.pem.tmp", "test_cert.pem", false, false); + std::filesystem::rename(std::filesystem::path("test_cert.pem.tmp"), std::filesystem::path("test_cert.pem")); while (ConfigStatistics::get().snapshot().subtract(before).failed_config_reloads == 0) { std::this_thread::sleep_for(10ms); |