|
15 | 15 |
|
16 | 16 | namespace NYdb::NTPCC { |
17 | 17 |
|
| 18 | +namespace { |
| 19 | + |
| 20 | +//----------------------------------------------------------------------------- |
| 21 | + |
| 22 | +void PrintErrorStatus(const TStatus& status, const TString& what) { |
| 23 | + TStringStream ss; |
| 24 | + ss << what << ": " << ToString(status.GetStatus()); |
| 25 | + const auto& issues = status.GetIssues(); |
| 26 | + if (issues) { |
| 27 | + ss << ", issues: "; |
| 28 | + issues.PrintTo(ss, true); |
| 29 | + } |
| 30 | + |
| 31 | + Cerr << ss.Str() << Endl; |
| 32 | +} |
| 33 | + |
| 34 | +} // anonymous |
| 35 | + |
| 36 | +//----------------------------------------------------------------------------- |
| 37 | + |
18 | 38 | std::string GetFormattedSize(size_t size) { |
19 | 39 | constexpr size_t TiB = 1024ULL * 1024 * 1024 * 1024; |
20 | 40 | constexpr size_t GiB = 1024ULL * 1024 * 1024; |
@@ -43,15 +63,7 @@ void ExitIfError(const TStatus& status, const TString& what) { |
43 | 63 | return; |
44 | 64 | } |
45 | 65 |
|
46 | | - TStringStream ss; |
47 | | - ss << what << ": " << ToString(status.GetStatus()); |
48 | | - const auto& issues = status.GetIssues(); |
49 | | - if (issues) { |
50 | | - ss << ", issues: "; |
51 | | - issues.PrintTo(ss, true); |
52 | | - } |
53 | | - |
54 | | - Cerr << ss.Str() << Endl; |
| 66 | + PrintErrorStatus(status, what); |
55 | 67 | std::exit(1); |
56 | 68 | } |
57 | 69 |
|
@@ -115,6 +127,14 @@ size_t NumberOfComputeCpus(TDriver& driver) { |
115 | 127 | }).GetValueSync(); |
116 | 128 |
|
117 | 129 | if (!result.IsSuccess()) { |
| 130 | + TString what = "failed to get number of compute cores"; |
| 131 | + if (result.GetStatus() == EStatus::UNAUTHORIZED) { |
| 132 | + // in this case no reason to continue |
| 133 | + ExitIfError(result, what); |
| 134 | + } else { |
| 135 | + // print error and try to continue workload execution |
| 136 | + PrintErrorStatus(result, what); |
| 137 | + } |
118 | 138 | return 0; |
119 | 139 | } |
120 | 140 |
|
|
0 commit comments