Skip to content

Commit 27be527

Browse files
authored
Merge cdc885b into e2ed478
2 parents e2ed478 + cdc885b commit 27be527

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

ydb/core/kqp/proxy_service/kqp_script_executions.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2109,8 +2109,8 @@ class TGetScriptExecutionResultQueryActor : public TQueryBase {
21092109
Finish(Ydb::StatusIds::INTERNAL_ERROR, "Result set row is empty");
21102110
return;
21112111
}
2112-
2113-
i64 rowSize = serializedRow->size();
2112+
2113+
i64 rowSize = serializedRow->size() + AdditionalRowSize;
21142114
if (SizeLimit && ResultSet.rows_size() && ResultSetSize + rowSize > SizeLimit) {
21152115
CancelFetchQuery();
21162116
return;
@@ -2121,11 +2121,17 @@ class TGetScriptExecutionResultQueryActor : public TQueryBase {
21212121
return;
21222122
}
21232123

2124-
ResultSetSize += rowSize;
21252124
if (!ResultSet.add_rows()->ParseFromString(*serializedRow)) {
21262125
Finish(Ydb::StatusIds::INTERNAL_ERROR, "Result set row is corrupted");
21272126
return;
21282127
}
2128+
2129+
// Initialize AdditionalRowSize
2130+
if (ResultSet.rows_size() == 1) {
2131+
AdditionalRowSize = static_cast<i64>(ResultSet.ByteSizeLong()) - ResultSetSize - rowSize;
2132+
rowSize += AdditionalRowSize;
2133+
}
2134+
ResultSetSize += rowSize;
21292135
}
21302136

21312137
if (TInstant::Now() + TDuration::Seconds(5) + GetAverageTime() >= Deadline) {
@@ -2161,6 +2167,7 @@ class TGetScriptExecutionResultQueryActor : public TQueryBase {
21612167
const TInstant Deadline;
21622168

21632169
i64 ResultSetSize = 0;
2170+
i64 AdditionalRowSize = 0;
21642171
Ydb::ResultSet ResultSet;
21652172
bool HasMoreResults = false;
21662173
};

ydb/core/kqp/ut/federated_query/s3/kqp_federated_query_ut.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1786,6 +1786,10 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) {
17861786
}
17871787

17881788
Y_UNIT_TEST(ExecuteScriptWithLargeFile) {
1789+
ExecuteSelectQuery("test_bucket_execute_script_with_large_file", 65_MB, 500000);
1790+
}
1791+
1792+
Y_UNIT_TEST(ExecuteScriptWithThinFile) {
17891793
ExecuteSelectQuery("test_bucket_execute_script_with_large_file", 5_MB, 500000);
17901794
}
17911795
}

0 commit comments

Comments
 (0)