Skip to content

Commit 79cd860

Browse files
committed
DOC/MGM/CONSOLE: Update documentation on the Converter functionality,
remove unused CLI options like convert rule, update the statistics counters to reflect the new values being collected and update the convert CLI help message.
1 parent 2861fdc commit 79cd860

File tree

9 files changed

+139
-266
lines changed

9 files changed

+139
-266
lines changed

console/commands/com_proto_convert.cc

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -135,21 +135,6 @@ ConvertHelper::ParseCommand(const char* arg)
135135

136136
file ->set_allocated_conversion(conversion);
137137
// Placeholder for options
138-
} else if (token == "rule") {
139-
if (!tokenizer.NextToken(token)) {
140-
return false;
141-
}
142-
143-
eos::console::ConvertProto_RuleProto* rule = convert->mutable_rule();
144-
rule->set_allocated_identifier(ParseIdentifier(token));
145-
eos::console::ConvertProto_ConversionProto*
146-
conversion = ParseConversion(tokenizer);
147-
148-
if (conversion == nullptr) {
149-
return false;
150-
}
151-
152-
rule->set_allocated_conversion(conversion);
153138
} else if (token == "list") {
154139
convert->mutable_list();
155140
} else if (token == "clear") {
@@ -319,11 +304,6 @@ void com_convert_help()
319304
<< " convert file <identifier> <conversion> \n"
320305
<< " schedule a file conversion \n"
321306
<< " <identifier> = fid|fxid|path \n"
322-
<< " <conversion> = <layout:replica> [space] [placement] [checksum]\n"
323-
<< std::endl
324-
<< " convert rule <identifier> <conversion> \n"
325-
<< " apply a conversion rule on the given directory \n"
326-
<< " <identifier> = cid|cxid|path \n"
327307
<< " <conversion> = <layout:replica> [space] [placement] [checksum]\n";
328308
std::cerr << oss.str() << std::endl;
329309
}

doc/diopside/manual/microservices.rst

Lines changed: 129 additions & 130 deletions
Large diffs are not rendered by default.

mgm/FsView.cc

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -860,7 +860,7 @@ LongLongAggregator::aggregateNodes(
860860
//----------------------------------------------------------------------------
861861
FsSpace::FsSpace(const char* name)
862862
: BaseView(common::SharedHashLocator::makeForSpace(name)),
863-
mFsBalancer(nullptr), mConverter(nullptr), mGroupBalancer(nullptr),
863+
mFsBalancer(nullptr), mGroupBalancer(nullptr),
864864
mGeoBalancer(nullptr), mGroupDrainer(nullptr)
865865
{
866866
mName = name;
@@ -1012,12 +1012,12 @@ FsSpace::FsSpace(const char* name)
10121012

10131013
// Disable lru by default
10141014
if (GetConfigMember("lru").empty()) {
1015-
SetConfigMember("converter", "off");
1015+
SetConfigMember("lru", "off");
10161016
}
10171017

10181018
// Set one week lru interval by default
10191019
if (GetConfigMember("lru.interval") == "604800") {
1020-
SetConfigMember("converter.ntx", "2");
1020+
SetConfigMember("lru.interval", "604800");
10211021
}
10221022

10231023
// Set the wfe off by default
@@ -1757,9 +1757,6 @@ FsView::GetSpaceFormat(std::string option)
17571757
format += "member=cfg.quota:width=6:format=s|";
17581758
format += "member=cfg.balancer:width=10:format=s:tag=balancing|";
17591759
format += "member=cfg.balancer.threshold:width=11:format=+l:tag=threshold|";
1760-
format += "member=cfg.converter:width=11:format=s:tag=converter|";
1761-
format += "member=cfg.converter.ntx:width=6:format=+l:tag=ntx|";
1762-
format += "member=cfg.stat.converter.active:width=8:format=+l:tag=active|";
17631760
format += "member=cfg.wfe:width=11:format=s:tag=wfe|";
17641761
format += "member=cfg.wfe.ntx:width=6:format=+l:tag=ntx|";
17651762
format += "member=cfg.stat.wfe.active:width=8:format=+l:tag=active|";

mgm/FsView.hh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -572,8 +572,6 @@ public:
572572
static std::string gConfigQueuePrefix; ///< Configuration queue prefix
573573
//! File system balancer
574574
std::unique_ptr<FsBalancer> mFsBalancer;
575-
//! Threaded object running layout conversion jobs
576-
Converter* mConverter;
577575
//! Threaded object running group balancing
578576
GroupBalancer* mGroupBalancer;
579577
//! Threaded object running geotag balancing

mgm/XrdMgmOfsConfigure.cc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,14 +1132,15 @@ XrdMgmOfs::Configure(XrdSysError& Eroute)
11321132
if (val != nullptr) {
11331133
JwtTokenPath = val;
11341134
}
1135+
11351136
Eroute.Say("=====> mgmofs.jwttokenpath : ", val);
11361137
}
11371138
}
11381139

11391140
if (!strcmp("protowfusegrpctls", var)) {
11401141
if ((!(val = Config.GetWord())) ||
11411142
(strcmp("true", val) && strcmp("false", val) &&
1142-
strcmp("1", val) && strcmp("0", val))) {
1143+
strcmp("1", val) && strcmp("0", val))) {
11431144
Eroute.Emsg("Config", "argument for protowfusegrpctls is invalid. "
11441145
"Must be <true>, <false>, <1> or <0>!");
11451146
} else {
@@ -1231,6 +1232,7 @@ XrdMgmOfs::Configure(XrdSysError& Eroute)
12311232
} else {
12321233
Eroute.Say("=====> mgmofs.protowfusegrpc : false");
12331234
}
1235+
12341236
if (protowfusegrpctls) {
12351237
Eroute.Say("=====> mgmofs.protowfusegrpctls : true");
12361238
} else {
@@ -2389,8 +2391,9 @@ XrdMgmOfs::InitStats()
23892391
MgmStats.Add("CommitFailedNamespace", 0, 0, 0);
23902392
MgmStats.Add("CommitFailedParameters", 0, 0, 0);
23912393
MgmStats.Add("CommitFailedUnlinked", 0, 0, 0);
2392-
MgmStats.Add("ConversionDone", 0, 0, 0);
2393-
MgmStats.Add("ConversionFailed", 0, 0, 0);
2394+
MgmStats.Add("ConversionJobStared", 0, 0, 0);
2395+
MgmStats.Add("ConversionJobFailed", 0, 0, 0);
2396+
MgmStats.Add("ConversionJobSuccessful", 0, 0, 0);
23942397
MgmStats.Add("CopyStripe", 0, 0, 0);
23952398
MgmStats.Add("Devices::Extract", 0, 0, 0);
23962399
MgmStats.Add("Devices::Store", 0, 0, 0);

mgm/proc/admin/ConvertCmd.cc

Lines changed: 0 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,6 @@ ConvertCmd::ProcessRequest() noexcept
6868
ConfigSubcmd(convert.config(), reply, json);
6969
} else if (subcmd == eos::console::ConvertProto::kFile) {
7070
FileSubcmd(convert.file(), reply, json);
71-
} else if (subcmd == eos::console::ConvertProto::kRule) {
72-
RuleSubcmd(convert.rule(), reply, json);
7371
} else if (subcmd == eos::console::ConvertProto::kList) {
7472
ListSubcmd(convert.list(), reply, json);
7573
} else if (subcmd == eos::console::ConvertProto::kClear) {
@@ -302,97 +300,6 @@ void ConvertCmd::FileSubcmd(const eos::console::ConvertProto_FileProto& file,
302300
reply.set_std_out(out.str());
303301
}
304302

305-
//------------------------------------------------------------------------------
306-
// Execute rule subcommand
307-
//------------------------------------------------------------------------------
308-
void ConvertCmd::RuleSubcmd(const eos::console::ConvertProto_RuleProto& rule,
309-
eos::console::ReplyProto& reply,
310-
bool json)
311-
{
312-
using eos::common::LayoutId;
313-
auto conversion = rule.conversion();
314-
XrdOucErrInfo errInfo;
315-
std::ostringstream out;
316-
std::ostringstream err;
317-
std::string errmsg;
318-
std::string path;
319-
int retc = 0;
320-
auto enforce_dir = XrdSfsFileExistence::XrdSfsFileExistIsDirectory;
321-
path = PathFromIdentifierProto(rule.identifier(), errmsg);
322-
323-
if (!path.length()) {
324-
reply.set_std_err(errmsg);
325-
reply.set_retc(errno);
326-
return;
327-
}
328-
329-
if ((retc = CheckValidPath(path.c_str(), mVid, errmsg, enforce_dir))) {
330-
reply.set_std_err(errmsg);
331-
reply.set_retc(retc);
332-
return;
333-
}
334-
335-
if ((retc = CheckConversionProto(conversion, errmsg))) {
336-
reply.set_std_err(errmsg);
337-
reply.set_retc(retc);
338-
return;
339-
}
340-
341-
if (conversion.checksum().empty()) {
342-
err << "error: no conversion checksum provided";
343-
reply.set_std_err(err.str());
344-
reply.set_retc(EINVAL);
345-
return;
346-
}
347-
348-
// Handle space default scenario
349-
std::string space = conversion.space().empty() ?
350-
"default.0" : conversion.space();
351-
// Handle checksum
352-
LayoutId::eChecksum echecksum = static_cast<LayoutId::eChecksum>(
353-
LayoutId::GetChecksumFromString(conversion.checksum()));
354-
//------------------------------------------
355-
// This part acts as a placeholder
356-
//------------------------------------------
357-
// Build conversion rule
358-
std::string conversion_rule = BuildConversionId(conversion.layout(), echecksum,
359-
conversion.replica(), 0, space,
360-
conversion.placement());
361-
size_t pos = conversion_rule.find(":");
362-
363-
if (pos != std::string::npos) {
364-
conversion_rule.erase(0, pos + 1);
365-
}
366-
367-
// Set rule as extended attribute
368-
eos_info("msg=\"placing conversion rule\" path=%s conversion_rule=%s",
369-
path.c_str(), conversion_rule.c_str());
370-
371-
if (gOFS->_attr_set(path.c_str(), errInfo, mVid, 0, "sys.eos.convert.rule",
372-
conversion_rule.c_str())) {
373-
err << "error: could not set conversion rule '" << conversion_rule
374-
<< "' on path '" << path << "' -- emsg=" << errInfo.getErrText();
375-
reply.set_std_err(err.str());
376-
reply.set_retc(errInfo.getErrInfo());
377-
return;
378-
}
379-
380-
if (json) {
381-
Json::Value json;
382-
json["conversion_rule"] = conversion_rule;
383-
json["path"] = path;
384-
Json::StreamWriterBuilder builder;
385-
std::unique_ptr<Json::StreamWriter> jsonwriter(
386-
builder.newStreamWriter());
387-
jsonwriter->write(json, &out);
388-
} else {
389-
out << "Set conversion rule '" << conversion_rule
390-
<< "' on path '" << path << "'";
391-
}
392-
393-
reply.set_std_out(out.str());
394-
}
395-
396303
//------------------------------------------------------------------------------
397304
// List jobs subcommand
398305
//------------------------------------------------------------------------------

mgm/proc/admin/ConvertCmd.hh

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,16 +86,6 @@ private:
8686
void FileSubcmd(const eos::console::ConvertProto_FileProto& file,
8787
eos::console::ReplyProto& reply, bool json = false);
8888

89-
//----------------------------------------------------------------------------
90-
//! Execute rule subcommand
91-
//!
92-
//! @param rule rule subcommand proto object
93-
//! @param reply reply proto object
94-
//! @param json flag to print output in JSON format
95-
//----------------------------------------------------------------------------
96-
void RuleSubcmd(const eos::console::ConvertProto_RuleProto& rule,
97-
eos::console::ReplyProto& reply, bool json = false);
98-
9989
//----------------------------------------------------------------------------
10090
//! List jobs subcommand
10191
//!

proto/eos-protobuf-spec

Submodule eos-protobuf-spec updated from 37e777e to 94c599e

test/eos-altxs-test

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ function disable_altxs_sync() {
127127
for fsid in $(eos -j fs ls | jq '.result[].id'); do
128128
eos fs config ${fsid} altxs_sync=0
129129
eos fs config ${fsid} altxs_sync_interval=0
130-
# Put back teh default value
131130
done
132131
}
133132

0 commit comments

Comments
 (0)