При выполнении INSERT из медленного источника через pipe к clickhouse-client (к localhost):
<источник>
| clickhouse-client --receive_timeout=3600 --send_timeout=3600
--connect_timeout=900 --query="INSERT INTO ${insert_table} format TSV"
|| exit 1
Code: 210. DB::NetException: Connection reset by peer while writing to socket (
2017.07.10
16:45:26.034116 [ 13870 ] <Error> executeQuery: Code: 209,
e.displayText() = DB::Exception: Timeout exceeded while receiving data
from client, e.wha
0. clickhouse-server(StackTrace::
StackTrace()+0x16) [0x28c6df6]
1. clickhouse-server(DB::Exception::Exception(std::string const&, int)+0x1f) [0xffc24f]
2. clickhouse-server(DB::TCPHandler::readData(DB::Settings const&)+0x1da) [0x1013bea]
3. clickhouse-server(DB::TCPHandler::processInsertQuery(DB::Settings const&)+0x241) [0x1013e91]
4. clickhouse-server(DB::TCPHandler::runImpl()+0x67a) [0x101466a]
5. clickhouse-server(DB::TCPHandler::run()+0x1c) [0x10152fc]
6. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x30fdd9f]
7. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x10b) [0x311b92b]
8. clickhouse-server(Poco::PooledThread::run()+0x87) [0x331c507]
9. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x96) [0x32de156]
10. /lib/x86_64-linux-gnu/libpthread.so.0(+0x8064) [0x7ff1affa0064]
11. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7ff1af5c862d]
2017.07.10
16:45:46.984571 [ 13870 ] <Error> ServerErrorHandler: Code: 99,
e.displayText() = DB::Exception: Unknown packet from client, e.what() =
DB::Exceptio
n, Stack trace:
0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x28c6df6]
1. clickhouse-server(DB::Exception::Exception(std::string const&, int)+0x1f) [0xffc24f]
2. clickhouse-server(DB::TCPHandler::receivePacket()+0x1f3) [0x1013823]
3. clickhouse-server(DB::TCPHandler::runImpl()+0x531) [0x1014521]
4. clickhouse-server(DB::TCPHandler::run()+0x1c) [0x10152fc]
5. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x30fdd9f]
6. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x10b) [0x311b92b]
7. clickhouse-server(Poco::PooledThread::run()+0x87) [0x331c507]
8. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x96) [0x32de156]
9. /lib/x86_64-linux-gnu/libpthread.so.0(+0x8064) [0x7ff1affa0064]
10. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7ff1af5c862d]
Увеличение таймаутов, как указано в примере, не помогает.
Со стороны источника , это выглядит вот так:
17:52:05 $ <источник> | clickhouse-client --receive_timeout=3600
--send_timeout=3600 --connect_timeout=900 --query="INSERT INTO ${insert_table} format TSV"
Code: 210. DB::NetException: Connection reset by peer while writing to socket (
127.0.0.1:9000)
18:25:29 $ # - все заняло около получаса
# количество вставленных в таблицу записей:
select count() from rnd600.history_ref_2017_07_06
65011712
Всего источник отдает записей:
65967638
Если же предварительно сохранить записи в файл, а потом залить:
zcat test.from.python.2017-07-06_00_1_128.gz
| clickhouse-client --receive_timeout=3600 --send_timeout=3600
--connect_timeout=900 --query="INSERT INTO rnd600.history_ref_2017_07_06
format TSV"
- то все проходит успешно.
Что еще можно изменить в настройках? Хочется избежать промежуточного хранения данных в файлах.