есть ли шанс понять, откуда эта ошибка? Хотя бы к какому типу хоста, в каком процессе он не может приконнектиться?
2021.10.18 12:03:51.202288 [ 16074 ] {} <Error> ServerErrorHandler: Poco::Exception. Code: 1000, e.code() = 107, Net Exception: Socket is not connected, Stack trace (when copying this message, always include the lines below):
0. Poco::Net::SocketImpl::error(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0x1437086e in /usr/bin/clickhouse
1. Poco::Net::SocketImpl::peerAddress() @ 0x14372816 in /usr/bin/clickhouse
2. DB::HTTPServerRequest::HTTPServerRequest(std::__1::shared_ptr<DB::Context const>, DB::HTTPServerResponse&, Poco::Net::HTTPServerSession&) @ 0x117c252b in /usr/bin/clickhouse
3. DB::HTTPServerConnection::run() @ 0x117c138e in /usr/bin/clickhouse
4. Poco::Net::TCPServerConnection::start() @ 0x1437788f in /usr/bin/clickhouse
5. Poco::Net::TCPServerDispatcher::run() @ 0x1437931a in /usr/bin/clickhouse
6. Poco::PooledThread::run() @ 0x144ac199 in /usr/bin/clickhouse
7. Poco::ThreadImpl::runnableEntry(void*) @ 0x144a842a in /usr/bin/clickhouse
8. start_thread @ 0x76db in /lib/x86_64-linux-gnu/libpthread-2.27.so
9. __clone @ 0x12188f in /lib/x86_64-linux-gnu/libc-2.27.so
tcpdump -w http.cap -c 10000 port 8123 сделайте и посмотрите какие IP закрывают соединения...
а это закрытие именно входящего соединения к CH, не исходящего от него?
DB::HTTPServerRequest::HTTPServerRequest Poco::Net::TCPServerConnection::start вроде да
Хорошо бы было как-нибудь забодать эту ошибку, хотя бы для /health эндпоинта. Иначе если “проверялка” не закрывает соединение правильно (указывая в хттп Connection: close), то КХ начинает плеваться в логи и забивает полезную информацию.
health endpoint что это? есть же /ping делайте нормальную HTTP проверялку... у вас что вообще? docker -compose или k8s ?
Да, я про пинг. У нас внешняя проверялка, может работать с хттп или тцп. Для хттп оно закрывает соединение после получения ответа, но не указывает это в хэдере. Поменять это нельзя, не в моей "собственности".
надо искать что делал [ 16074 ] до этого
Вижу, что это была обработка входящего инсерта по http интерфейсу: 2021.10.18 20:57:11.812534 [ 3804 ] {} <Trace> HTTPHandler-factory: HTTP Request for HTTPHandler-factory. Method: POST, Address: 10.247.135.20:35226, User-Agent: AdServer, Length: 20, Content Type: text/plain; charset=UTF-8, Transfer Encoding: identity, X-Forwarded-For: (none) 2021.10.18 20:57:11.812677 [ 3804 ] {} <Trace> DynamicQueryHandler: Request URI: /?query=INSERT+INTO+Distributed.CLog+%28ts%2Curl_id%2Crequest_uri%2Credirect_url%2Cis_complete_redirect%2Ccountry%2Ccountry_region%2Cip%2Cuseragent%2Chttp_referer%29+FORMAT+TabSeparated 2021.10.18 20:57:11.813042 [ 3804 ] {b432649c-0feb-4d24-9e26-9fce7c78096b} <Debug> executeQuery: (from 10.247.135.20:35226) INSERT INTO Distributed.CLog (ts,url_id,request_uri,redirect_url,is_complete_redirect,country,country_region,ip,useragent,http_referer) FORMAT TabSeparated 2021.10.18 20:57:11.813245 [ 3804 ] {b432649c-0feb-4d24-9e26-9fce7c78096b} <Trace> ContextAccess (default): Access granted: INSERT(ts, url_id, request_uri, redirect_url, is_complete_redirect, country, country_region, ip, useragent, http_referer) ON Distributed.CLog 2021.10.18 20:57:11.814101 [ 3804 ] {b432649c-0feb-4d24-9e26-9fce7c78096b} <Trace> ParallelParsingInputFormat: Parallel parsing is used 2021.10.18 20:57:11.814825 [ 3804 ] {b432649c-0feb-4d24-9e26-9fce7c78096b} <Debug> DynamicQueryHandler: Done processing query 2021.10.18 20:57:11.814861 [ 3804 ] {b432649c-0feb-4d24-9e26-9fce7c78096b} <Debug> MemoryTracker: Peak memory usage (for query): 0.00 B. 2021.10.18 20:57:11.816040 [ 3804 ] {} <Error> ServerErrorHandler: Poco::Exception. Code: 1000, e.code() = 107, Net Exception: Socket is not connected, Stack trace (when copying this message, always include the lines below):
я думаю инсерт просто отвалился, потому что клиент упал или сеть
единственное странное, что я нашел - memory used - 0
Обсуждают сегодня