Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions core/testsupport/src/TestSupport.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,6 @@ static struct ForbidDiagnostics {
return;
}

// FIXME: RNTuple warns that it's in beta stage.
if (level == kWarning && strstr(msg, "Merging RNTuples is experimental") != nullptr) {
std::cerr << "Warning in " << location << " " << msg << std::endl;
return;
}

// FIXME: DOAS backend is experimental.
if (level == kWarning
&& strstr(msg, "The DAOS backend is experimental and still under development") != nullptr) {
Expand Down
2 changes: 0 additions & 2 deletions io/io/src/TFileMerger.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -613,8 +613,6 @@ Bool_t TFileMerger::MergeOne(TDirectory *target, TList *sourcelist, Int_t type,
} else if (!cl->IsTObject() && cl->GetMerge()) {
// merge objects that don't derive from TObject
if (cl->InheritsFrom(R__RNTuple_Class)) {
Warning("MergeRecursive", "Merging RNTuples is experimental");

// Collect all the data to be passed on to the merger
TList mergeData;
// First entry is the TKey of the ntuple
Expand Down
1 change: 0 additions & 1 deletion net/net/test/testParallelMergingFile.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@ TEST(TParallelMergingFile, UploadAndResetNonTObject)

ROOT::TestSupport::CheckDiagsRAII diags;
diags.optionalDiag(kWarning, "TParallelMergingFile::ResetObjects", "can not be ResetAfterMerge", false);
diags.requiredDiag(kWarning, "TFileMerger::MergeRecursive", "Merging RNTuples is experimental");

constexpr auto kNEntries = 10000;
constexpr auto kNUploads = 4;
Expand Down
1 change: 0 additions & 1 deletion roottest/root/ntuple/metrics/metrics_env_enabled.ref
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
Processing test_rntuple_metrics_env.C...
Metrics enabled: true
nPageCommitted: 1
Warning in <TFileMerger::MergeRecursive>: Merging RNTuples is experimental
7 changes: 5 additions & 2 deletions tree/ntuple/inc/ROOT/REntry.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,13 @@ class RNTupleAttrSetReader;

namespace Internal {
struct RNTupleAttrEntry;
class RNTupleMergeStrategySlow;
}
} // namespace Experimental

namespace Internal {
class RNTupleMergeStrategySlow;
}

// clang-format off
/**
\class ROOT::REntry
Expand All @@ -57,7 +60,7 @@ class REntry {
friend class RNTupleModel;
friend class RNTupleReader;
friend class Experimental::RNTupleAttrSetReader;
friend class Experimental::Internal::RNTupleMergeStrategySlow;
friend class Internal::RNTupleMergeStrategySlow;
friend struct Experimental::Internal::RNTupleAttrEntry;

private:
Expand Down
10 changes: 3 additions & 7 deletions tree/ntuple/inc/ROOT/RNTupleMerger.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,10 @@ class REntry;
class RNTuple;

namespace Internal {
class RPageSource;
} // namespace Internal

namespace Experimental::Internal {

class RPageSource;
class RNTupleMergeStrategySlow;
struct RNTupleSlowMergeData;
struct RDescriptorsComparison;

enum class ENTupleMergingMode {
/// The merger will discard all columns that aren't present in the prototype model (i.e. the model of the first
Expand Down Expand Up @@ -156,7 +152,7 @@ public:

// clang-format off
/**
* \class ROOT::Experimental::Internal::RNTupleMerger
* \class ROOT::Internal::RNTupleMerger
* \ingroup NTuple
* \brief Given a set of RPageSources merge them into an RPagePersistentSink, optionally changing their compression.
* This can also be used to change the compression of a single RNTuple by just passing a single source.
Expand Down Expand Up @@ -186,7 +182,7 @@ public:

}; // end of class RNTupleMerger

} // namespace Experimental::Internal
} // namespace Internal
} // namespace ROOT

#endif
15 changes: 6 additions & 9 deletions tree/ntuple/src/RNTupleMerger.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ using ROOT::Internal::RPageSource;
using ROOT::Internal::RPageSourceFile;
using ROOT::Internal::RPageStorage;

using namespace ROOT::Experimental::Internal;
using namespace ROOT::Internal;

static ROOT::RLogChannel &NTupleMergeLog()
{
Expand Down Expand Up @@ -404,10 +404,6 @@ struct RColumnInfoGroup {
std::vector<RColumnMergeInfo> fCommonColumns;
};

} // namespace

// These structs cannot be in the anon namespace becase they're used in RNTupleMerger's private interface.
namespace ROOT::Experimental::Internal {
template <typename T>
using FieldCollectionMap_t = std::unordered_map<const ROOT::RFieldDescriptor *, std::vector<T>>;

Expand All @@ -428,7 +424,8 @@ struct RDescriptorsComparison {
FieldCollectionMap_t<RColReprMapping> fColReprMappings;
FieldCollectionMap_t<RColReprExtension> fColReprExtensions;
};
} // namespace ROOT::Experimental::Internal

} // namespace

// Subprocedure of CompareDescriptorStructure, extracted for readability.
// Given two fields, attempts to match their column representations and schedules column extensions if necessary.
Expand Down Expand Up @@ -1652,7 +1649,7 @@ ROOT::RResult<void> RNTupleMergeStrategyDefault::MergeSource(RPageSource &source
// MergeStrategySlow
//
// =========================================================================================
namespace ROOT::Experimental::Internal {
namespace ROOT::Internal {
// Strategy used for L4 merging (https://github.com/root-project/root/blob/master/tree/ntuple/doc/Merging.md#glossary).
// This class must be in ROOT::Experimental::Internal because it befriends ROOT::REntry
class RNTupleMergeStrategySlow final : public RNTupleMergeStrategy {
Expand Down Expand Up @@ -1723,7 +1720,7 @@ class RNTupleMergeStrategySlow final : public RNTupleMergeStrategy {
}
}
};
} // namespace ROOT::Experimental::Internal
} // namespace ROOT::Internal

ROOT::RResult<void> RNTupleMergeStrategySlow::MergeSource(RPageSource &source, RDescriptorsComparison &descCmp)
{
Expand Down Expand Up @@ -1848,7 +1845,7 @@ RNTupleMerger::RNTupleMerger(std::unique_ptr<ROOT::Internal::RPagePersistentSink
}

RNTupleMerger::RNTupleMerger(std::unique_ptr<ROOT::Internal::RPagePersistentSink> destination)
: ROOT::Experimental::Internal::RNTupleMerger(std::move(destination), nullptr)
: ROOT::Internal::RNTupleMerger(std::move(destination), nullptr)
{
}

Expand Down
7 changes: 1 addition & 6 deletions tree/ntuple/test/ntuple_merger.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,6 @@ TEST(RNTupleMerger, MergeThroughTFileMergerIncremental)
TEST(RNTupleMerger, MergeThroughTFileMergerKey)
{
ROOT::TestSupport::CheckDiagsRAII diags;
diags.requiredDiag(kWarning, "TFileMerger", "Merging RNTuples is experimental");
diags.requiredDiag(kError, "ROOT.NTuple.Merge", "Output file already has key, but not of type RNTuple!");
diags.requiredDiag(kError, "TFileMerger", "Could NOT merge RNTuples!");
diags.requiredDiag(kError, "TFileMerger", "error during merge of your ROOT files");
Expand Down Expand Up @@ -796,7 +795,6 @@ TEST(RNTupleMerger, MergeThroughTFileMergerKey)
TEST(RNTupleMerger, MergeThroughTBufferMerger)
{
ROOT::TestSupport::CheckDiagsRAII diags;
diags.requiredDiag(kWarning, "TFileMerger", "Merging RNTuples is experimental");
diags.requiredDiag(kWarning, "TBufferMergerFile", "not attached to the directory", false);

FileRaii fileGuard("test_ntuple_merge_TBufferMerger.root");
Expand Down Expand Up @@ -2424,7 +2422,6 @@ TEST(RNTupleMerger, MergeAsymmetric1TFileMerger)
diags.requiredDiag(kError, "TFileMerger::Merge", "error during merge", false);
diags.requiredDiag(kError, "ROOT.NTuple.Merge", "missing the following field", false);
diags.requiredDiag(kError, "TFileMerger::MergeRecursive", "Could NOT merge RNTuples!", false);
diags.optionalDiag(kWarning, "TFileMerger::MergeRecursive", "Merging RNTuples is experimental", false);
auto res = fileMerger.Merge();
EXPECT_FALSE(res);
}
Expand All @@ -2440,7 +2437,6 @@ TEST(RNTupleMerger, MergeAsymmetric1TFileMerger)
diags.requiredDiag(kError, "TFileMerger::Merge", "error during merge", false);
diags.requiredDiag(kError, "ROOT.NTuple.Merge", "missing the following field", false);
diags.requiredDiag(kError, "TFileMerger::MergeRecursive", "Could NOT merge RNTuples!", false);
diags.optionalDiag(kWarning, "TFileMerger::MergeRecursive", "Merging RNTuples is experimental", false);
auto res = fileMerger.Merge();
EXPECT_FALSE(res);
}
Expand All @@ -2453,7 +2449,6 @@ TEST(RNTupleMerger, MergeAsymmetric1TFileMerger)
fileMerger.AddFile(nt2.get());
fileMerger.SetMergeOptions(TString("rntuple.MergingMode=Union"));
CheckDiagsRAII diags;
diags.optionalDiag(kWarning, "TFileMerger::MergeRecursive", "Merging RNTuples is experimental", false);
auto res = fileMerger.Merge();
EXPECT_TRUE(res);
}
Expand Down Expand Up @@ -4651,7 +4646,7 @@ TEST(RNTupleMerger, MergeNewerVersion)
auto destination = std::make_unique<RPageSinkFile>("ntuple", fileGuardOut.GetPath(), RNTupleWriteOptions());
RNTupleMerger merger{std::move(destination)};
RNTupleMergeOptions opts;
opts.fVersionBehavior = ROOT::Experimental::Internal::ENTupleMergeVersionBehavior::kAbortOnHigherVersion;
opts.fVersionBehavior = ROOT::Internal::ENTupleMergeVersionBehavior::kAbortOnHigherVersion;
auto res = merger.Merge(sourcePtrs, opts);
EXPECT_FALSE(bool(res));
EXPECT_THAT(res.GetError()->GetReport(), testing::HasSubstr("has a higher format version"));
Expand Down
6 changes: 3 additions & 3 deletions tree/ntuple/test/ntuple_test.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ using RNTupleWriter = ROOT::RNTupleWriter;
using RNTupleWriteOptions = ROOT::RNTupleWriteOptions;
using RNTupleWriteOptionsDaos = ROOT::Experimental::RNTupleWriteOptionsDaos;
using RNTupleMetrics = ROOT::Experimental::Detail::RNTupleMetrics;
using RNTupleMerger = ROOT::Experimental::Internal::RNTupleMerger;
using RNTupleMergeOptions = ROOT::Experimental::Internal::RNTupleMergeOptions;
using ENTupleMergingMode = ROOT::Experimental::Internal::ENTupleMergingMode;
using RNTupleMerger = ROOT::Internal::RNTupleMerger;
using RNTupleMergeOptions = ROOT::Internal::RNTupleMergeOptions;
using ENTupleMergingMode = ROOT::Internal::ENTupleMergingMode;
using RNTupleModel = ROOT::RNTupleModel;
using RNTupleInputSpec = ROOT::RNTupleInputSpec;
using RNTuplePlainCounter = ROOT::Experimental::Detail::RNTuplePlainCounter;
Expand Down
Loading