diff options
author | hor911 <hor911@ydb.tech> | 2023-08-21 19:09:43 +0300 |
---|---|---|
committer | hor911 <hor911@ydb.tech> | 2023-08-21 19:47:49 +0300 |
commit | 26e847611b34400069cb677a667ecd66dad8c486 (patch) | |
tree | 1e39cf460f53bd6ac1e765eb8a084bbaf53f8c9f /library/cpp/netliba/socket/stdafx.cpp | |
parent | 10384cc60f47525cf70d947235e085d9c3382c5a (diff) | |
download | ydb-26e847611b34400069cb677a667ecd66dad8c486.tar.gz |
Pass S3 read ranges in explicit field, not TaskParams
Сейчас при чтении из S3 в момент компиляции происходит чтение бакета и разбиение его содержимого на так называемые ranges, которые в закодированном текстовом виде передаются в CA, а потом и в S3 Source через TaskParams. Так как TaskParams это KV, то можно передать не более одного range per task.
Выношу эту информацию в отдельное поле, ReadRanges, которое repeated, то есть в 1 таску можно передать несколько ranges не выполняя перекодирования.
Это все нужно чтобы при запуске графа, имея на руках N ranges, создавать для чтения не строго N тасок (как сейчас, то есть 1 task per range), а K <= N (то есть в таску может быть передано более 1 ranges). В конечном итоге (это будет другой PR) мы будем генерировать какое-то разумно большое количество ranges (положим 100), но для чтения будем создавать по 1-2 таске per node, дабы избежать излишнего потребления ресурсов кластера (1 таска отлично обрабатывает параллельные загрузки)
Diffstat (limited to 'library/cpp/netliba/socket/stdafx.cpp')
0 files changed, 0 insertions, 0 deletions