summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Perfilov <[email protected]>2024-12-11 23:05:31 +0300
committerGitHub <[email protected]>2024-12-11 20:05:31 +0000
commitb4498eb95e32cdc96487c6da4255b2be5a714c09 (patch)
tree6062686bfcdccb1abff81292bc6c1b7729b8edb1
parent974cc86941528b8e3bae8679ee88043cf00bc884 (diff)
Use QueryService by default (`--executer generic`) in `ydb workload kv` and `ydb workload stock` commands (#12532)
-rw-r--r--ydb/apps/ydb/CHANGELOG.md1
-rw-r--r--ydb/library/workload/kv/kv.cpp2
-rw-r--r--ydb/library/workload/kv/kv.h2
-rw-r--r--ydb/public/lib/ydb_cli/commands/ydb_workload.cpp8
4 files changed, 7 insertions, 6 deletions
diff --git a/ydb/apps/ydb/CHANGELOG.md b/ydb/apps/ydb/CHANGELOG.md
index 386d6022eab..046ea6c8e50 100644
--- a/ydb/apps/ydb/CHANGELOG.md
+++ b/ydb/apps/ydb/CHANGELOG.md
@@ -1,3 +1,4 @@
+* Use QueryService by default (`--executer generic`) in `ydb workload kv` and `ydb workload stock` commands
* Use parquet format instead of CSV to fill tables in `ydb workload` benchmarks
* Made `--consumer` flag in `ydb topic read` command optional. Now if this flag is not specified, reading is performed in no-consumer mode. In this mode partition IDs should be specified with `--partition-ids` option.
* Fixed a bug in `ydb import file csv` where multiple columns with escaped quotes in the same row were parsed incorrectly
diff --git a/ydb/library/workload/kv/kv.cpp b/ydb/library/workload/kv/kv.cpp
index ce5138cf993..58ba71fc38d 100644
--- a/ydb/library/workload/kv/kv.cpp
+++ b/ydb/library/workload/kv/kv.cpp
@@ -565,7 +565,7 @@ void TKvWorkloadParams::ConfigureOpts(NLastGetopt::TOpts& opts, const ECommandTy
.DefaultValue((ui64)KvWorkloadConstants::MIXED_CHANGE_PARTITIONS_SIZE).StoreResult(&MixedChangePartitionsSize);
opts.AddLongOption("do-select", "Do SELECT operations")
.DefaultValue((ui64)KvWorkloadConstants::MIXED_DO_SELECT).StoreResult(&MixedDoSelect);
- opts.AddLongOption("do-read-rows", "Do ReadRows operations")
+ opts.AddLongOption("do-read-rows", "Do ReadRows operations. Not available in QueryService (--executer generic)")
.DefaultValue((ui64)KvWorkloadConstants::MIXED_DO_READ_ROWS).StoreResult(&MixedDoReadRows);
}
break;
diff --git a/ydb/library/workload/kv/kv.h b/ydb/library/workload/kv/kv.h
index 3100fdab19b..f7859adf588 100644
--- a/ydb/library/workload/kv/kv.h
+++ b/ydb/library/workload/kv/kv.h
@@ -22,7 +22,7 @@ enum KvWorkloadConstants : ui64 {
PARTITIONS_BY_LOAD = true,
MIXED_CHANGE_PARTITIONS_SIZE = false,
- MIXED_DO_READ_ROWS = true,
+ MIXED_DO_READ_ROWS = false,
MIXED_DO_SELECT = true,
STALE_RO = false,
diff --git a/ydb/public/lib/ydb_cli/commands/ydb_workload.cpp b/ydb/public/lib/ydb_cli/commands/ydb_workload.cpp
index f82426b6524..aeaa1c0e559 100644
--- a/ydb/public/lib/ydb_cli/commands/ydb_workload.cpp
+++ b/ydb/public/lib/ydb_cli/commands/ydb_workload.cpp
@@ -106,7 +106,7 @@ void TWorkloadCommand::Config(TConfig& config) {
config.Opts->AddLongOption("window", "Window duration in seconds.")
.DefaultValue(1).StoreResult(&WindowSec);
config.Opts->AddLongOption("executer", "Query executer type (data or generic).")
- .DefaultValue("data").StoreResult(&QueryExecuterType);
+ .DefaultValue("generic").StoreResult(&QueryExecuterType);
}
void TWorkloadCommand::PrepareForRun(TConfig& config) {
@@ -136,7 +136,7 @@ void TWorkloadCommand::PrepareForRun(TConfig& config) {
.MaxActiveSessions(10+Threads));
QueryClient = std::make_unique<NQuery::TQueryClient>(*Driver, queryClientSettings);
} else {
- Y_FAIL_S("Unexpected executor Type: " + QueryExecuterType);
+ throw TMisuseException() << "Unexpected executor Type: " << QueryExecuterType;
}
}
@@ -187,9 +187,9 @@ void TWorkloadCommand::WorkerFn(int taskId, NYdbWorkload::IWorkloadQueryGenerato
}
++retryCount;
if (queryInfo.AlterTable) {
- Y_FAIL_S("Generic query doesn't support alter table.");
+ throw TMisuseException() << "Generic query doesn't support alter table. Use data query (--executer data)";
} else if (queryInfo.UseReadRows) {
- Y_FAIL_S("Generic query doesn't support readrows.");
+ throw TMisuseException() << "Generic query doesn't support readrows. Use data query (--executer data)";
} else {
auto result = session.ExecuteQuery(queryInfo.Query.c_str(),
NYdb::NQuery::TTxControl::BeginTx(NYdb::NQuery::TTxSettings::SerializableRW()).CommitTx(),