|
|
|
@ -527,6 +527,8 @@ bool MultiSlotDataFeed::CheckFile(const char* filename) {
|
|
|
|
|
VLOG(0) << "error: the number of ids is a negative number: " << num;
|
|
|
|
|
VLOG(0) << "please check line<" << instance_cout << "> in file<"
|
|
|
|
|
<< filename << ">";
|
|
|
|
|
VLOG(0) << "Error occured when parsing " << i
|
|
|
|
|
<< " th slot with total slots number: " << all_slots_.size();
|
|
|
|
|
return false;
|
|
|
|
|
} else if (num == 0) {
|
|
|
|
|
VLOG(0)
|
|
|
|
@ -536,42 +538,66 @@ bool MultiSlotDataFeed::CheckFile(const char* filename) {
|
|
|
|
|
"characters.";
|
|
|
|
|
VLOG(0) << "please check line<" << instance_cout << "> in file<"
|
|
|
|
|
<< filename << ">";
|
|
|
|
|
VLOG(0) << "Error occured when parsing " << i
|
|
|
|
|
<< " th slot with total slots number: " << all_slots_.size();
|
|
|
|
|
return false;
|
|
|
|
|
} else if (errno == ERANGE || num > INT_MAX) {
|
|
|
|
|
VLOG(0) << "error: the number of ids greater than INT_MAX";
|
|
|
|
|
VLOG(0) << "please check line<" << instance_cout << "> in file<"
|
|
|
|
|
<< filename << ">";
|
|
|
|
|
VLOG(0) << "Error occured when parsing " << i
|
|
|
|
|
<< " th slot with total slots number: " << all_slots_.size();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (all_slots_type_[i] == "float") {
|
|
|
|
|
for (int i = 0; i < num; ++i) {
|
|
|
|
|
for (int j = 0; j < num; ++j) {
|
|
|
|
|
strtof(endptr, &endptr);
|
|
|
|
|
if (errno == ERANGE) {
|
|
|
|
|
VLOG(0) << "error: the value is out of the range of "
|
|
|
|
|
"representable values for float";
|
|
|
|
|
VLOG(0) << "please check line<" << instance_cout << "> in file<"
|
|
|
|
|
<< filename << ">";
|
|
|
|
|
VLOG(0) << "Error occured when parsing " << i
|
|
|
|
|
<< " th slot with total slots number: "
|
|
|
|
|
<< all_slots_.size();
|
|
|
|
|
VLOG(0) << "and in this slot: " << j
|
|
|
|
|
<< " th id with total id number: " << num;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (i + 1 != num && endptr - str == len) {
|
|
|
|
|
if (j + 1 != num && endptr - str == len) {
|
|
|
|
|
VLOG(0) << "error: there is a wrong with the number of ids.";
|
|
|
|
|
VLOG(0) << "Error occured when parsing " << i
|
|
|
|
|
<< " th slot with total slots number: "
|
|
|
|
|
<< all_slots_.size();
|
|
|
|
|
VLOG(0) << "and in this slot: " << j
|
|
|
|
|
<< " th id with total id number: " << num;
|
|
|
|
|
VLOG(0) << "please check line<" << instance_cout << "> in file<"
|
|
|
|
|
<< filename << ">";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else if (all_slots_type_[i] == "uint64") {
|
|
|
|
|
for (int i = 0; i < num; ++i) {
|
|
|
|
|
for (int j = 0; j < num; ++j) {
|
|
|
|
|
strtoull(endptr, &endptr, 10);
|
|
|
|
|
if (errno == ERANGE) {
|
|
|
|
|
VLOG(0) << "error: the value is out of the range of "
|
|
|
|
|
"representable values for uint64_t";
|
|
|
|
|
VLOG(0) << "Error occured when parsing " << i
|
|
|
|
|
<< " th slot with total slots number: "
|
|
|
|
|
<< all_slots_.size();
|
|
|
|
|
VLOG(0) << "and in this slot: " << j
|
|
|
|
|
<< " th id with total id number: " << num;
|
|
|
|
|
VLOG(0) << "please check line<" << instance_cout << "> in file<"
|
|
|
|
|
<< filename << ">";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (i + 1 != num && endptr - str == len) {
|
|
|
|
|
if (j + 1 != num && endptr - str == len) {
|
|
|
|
|
VLOG(0) << "error: there is a wrong with the number of ids.";
|
|
|
|
|
VLOG(0) << "Error occured when parsing " << i
|
|
|
|
|
<< " th slot with total slots number: "
|
|
|
|
|
<< all_slots_.size();
|
|
|
|
|
VLOG(0) << "and in this slot: " << j
|
|
|
|
|
<< " th id with total id number: " << num;
|
|
|
|
|
VLOG(0) << "please check line<" << instance_cout << "> in file<"
|
|
|
|
|
<< filename << ">";
|
|
|
|
|
return false;
|
|
|
|
@ -632,8 +658,13 @@ bool MultiSlotDataFeed::ParseOneInstanceFromPipe(
|
|
|
|
|
"The number of ids can not be zero, you need padding "
|
|
|
|
|
"it in data generator; or if there is something wrong with "
|
|
|
|
|
"the data, please check if the data contains unresolvable "
|
|
|
|
|
"characters.\nplease check this error line: %s",
|
|
|
|
|
str));
|
|
|
|
|
"characters.\nplease check this error line: %s, \n Specifically, "
|
|
|
|
|
"something wrong happened(the length of this slot's feasign is 0)"
|
|
|
|
|
"when we parse the %d th slots."
|
|
|
|
|
"Maybe something wrong around this slot",
|
|
|
|
|
"\nWe detect the feasign number of this slot is %d, "
|
|
|
|
|
"which is illegal.",
|
|
|
|
|
str, i, num));
|
|
|
|
|
if (idx != -1) {
|
|
|
|
|
(*instance)[idx].Init(all_slots_type_[i]);
|
|
|
|
|
if ((*instance)[idx].GetType()[0] == 'f') { // float
|
|
|
|
@ -683,8 +714,13 @@ bool MultiSlotDataFeed::ParseOneInstance(std::vector<MultiSlotType>* instance) {
|
|
|
|
|
"The number of ids can not be zero, you need padding "
|
|
|
|
|
"it in data generator; or if there is something wrong with "
|
|
|
|
|
"the data, please check if the data contains unresolvable "
|
|
|
|
|
"characters.\nplease check this error line: %s.",
|
|
|
|
|
str));
|
|
|
|
|
"characters.\nplease check this error line: %s, \n Specifically, "
|
|
|
|
|
"something wrong happened(the length of this slot's feasign is 0)"
|
|
|
|
|
"when we parse the %d th slots."
|
|
|
|
|
"Maybe something wrong around this slot",
|
|
|
|
|
"\nWe detect the feasign number of this slot is %d, "
|
|
|
|
|
"which is illegal.",
|
|
|
|
|
str, i, num));
|
|
|
|
|
|
|
|
|
|
if (idx != -1) {
|
|
|
|
|
(*instance)[idx].Init(all_slots_type_[i]);
|
|
|
|
@ -916,8 +952,13 @@ bool MultiSlotInMemoryDataFeed::ParseOneInstanceFromPipe(Record* instance) {
|
|
|
|
|
"The number of ids can not be zero, you need padding "
|
|
|
|
|
"it in data generator; or if there is something wrong with "
|
|
|
|
|
"the data, please check if the data contains unresolvable "
|
|
|
|
|
"characters.\nplease check this error line: %s.",
|
|
|
|
|
str));
|
|
|
|
|
"characters.\nplease check this error line: %s, \n Specifically, "
|
|
|
|
|
"something wrong happened(the length of this slot's feasign is 0)"
|
|
|
|
|
"when we parse the %d th slots."
|
|
|
|
|
"Maybe something wrong around this slot",
|
|
|
|
|
"\nWe detect the feasign number of this slot is %d, "
|
|
|
|
|
"which is illegal.",
|
|
|
|
|
str, i, num));
|
|
|
|
|
if (idx != -1) {
|
|
|
|
|
if (all_slots_type_[i][0] == 'f') { // float
|
|
|
|
|
for (int j = 0; j < num; ++j) {
|
|
|
|
@ -982,8 +1023,13 @@ bool MultiSlotInMemoryDataFeed::ParseOneInstance(Record* instance) {
|
|
|
|
|
"The number of ids can not be zero, you need padding "
|
|
|
|
|
"it in data generator; or if there is something wrong with "
|
|
|
|
|
"the data, please check if the data contains unresolvable "
|
|
|
|
|
"characters.\nplease check this error line: %s.",
|
|
|
|
|
str));
|
|
|
|
|
"characters.\nplease check this error line: %s, \n Specifically, "
|
|
|
|
|
"something wrong happened(the length of this slot's feasign is 0)"
|
|
|
|
|
"when we parse the %d th slots."
|
|
|
|
|
"Maybe something wrong around this slot",
|
|
|
|
|
"\nWe detect the feasign number of this slot is %d, "
|
|
|
|
|
"which is illegal.",
|
|
|
|
|
str, i, num));
|
|
|
|
|
|
|
|
|
|
if (idx != -1) {
|
|
|
|
|
if (all_slots_type_[i][0] == 'f') { // float
|
|
|
|
|