Size: a a a

ClickHouse не тормозит

2020 May 21

A

Anttoon in ClickHouse не тормозит


0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x10542450 in /usr/bin/clickhouse
1. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x8f4272d in /usr/bin/clickhouse
2. PoolWithFailoverBase<DB::IConnectionPool>::getMany(unsigned long, unsigned long, unsigned long, std::__1::function<PoolWithFailoverBase<DB::IConnectionPool>::TryResult (DB::IConnectionPool&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)> const&, std::__1::function<unsigned long (unsigned long)> const&, bool) @ 0xdb4813e in /usr/bin/clickhouse
3. PoolWithFailoverBase<DB::IConnectionPool>::get(std::__1::function<PoolWithFailoverBase<DB::IConnectionPool>::TryResult (DB::IConnectionPool&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)> const&, std::__1::function<unsigned long (unsigned long)> const&) @ 0xdb48541 in /usr/bin/clickhouse
4. DB::ConnectionPoolWithFailover::get(DB::ConnectionTimeouts const&, DB::Settings const*, bool) @ 0xdb413e5 in /usr/bin/clickhouse
5. DB::ClusterCopier::getCreateTableForPullShard(DB::ConnectionTimeouts const&, DB::TaskShard&) @ 0x91097d8 in /usr/bin/clickhouse
6. DB::ClusterCopier::createShardInternalTables(DB::ConnectionTimeouts const&, DB::TaskShard&, bool) @ 0x910c7e8 in /usr/bin/clickhouse
7. DB::ClusterCopier::getShardPartitions(DB::ConnectionTimeouts const&, DB::TaskShard&) @ 0x9114cd2 in /usr/bin/clickhouse
8. DB::ClusterCopier::discoverShardPartitions(DB::ConnectionTimeouts const&, std::__1::shared_ptr<DB::TaskShard> const&) @ 0x91169e2 in /usr/bin/clickhouse
9. ThreadPoolImpl<ThreadFromGlobalPool>::worker(std::__1::__list_iterator<ThreadFromGlobalPool, void*>) @ 0x8f6792b in /usr/bin/clickhouse
10. ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&, void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()&&...)::'lambda'()::operator()() const @ 0x8f68608 in /usr/bin/clickhouse
11. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x8f667eb in /usr/bin/clickhouse
12. ? @ 0x8f64c33 in /usr/bin/clickhouse
13. start_thread @ 0x76db in /lib/x86_64-linux-gnu/libpthread-2.27.so
14. __clone @ 0x12188f in /lib/x86_64-linux-gnu/libc-2.27.so
(version 20.3.8.53 (official build))


config.xml
<yandex>
 <zookeeper>
   <node>
     <host>127.0.0.1</host>
     <port>2181</port>
   </node>
 </zookeeper>

 <logger>
   <level>trace</level>
   <log>log.log</log>
   <errorlog>log.err.log</errorlog>
   <size>never</size>
 </logger>

 <openSSL>
   <client>
     <loadDefaultCAFile>true</loadDefaultCAFile>
     <caConfig>/home/hadoop/clickhouse_migrate/CA.pem</caConfig>
     <cacheSessions>true</cacheSessions>
     <disableProtocols>sslv2,sslv3</disableProtocols>
     <preferServerCiphers>true</preferServerCiphers>
     <invalidCertificateHandler>
       <name>RejectCertificateHandler</name>
     </invalidCertificateHandler>
   </client>
 </openSSL>
</yandex>
источник

A

Anttoon in ClickHouse не тормозит
cp-task.xml
<yandex>
   <tcp_port_secure>9440</tcp_port_secure>
   <remote_servers>
       <source_cluster>
           <shard>
               <internal_replication>false</internal_replication>
                   <replica>
                       <host>127.0.0.1</host>
                       <port>8123</port>
                       <user>default</user>
                       <password>12345</password>
                       <secure>1</secure>
                   </replica>
           </shard>
       </source_cluster>

       <destination_cluster>
              <shard>
               <internal_replication>false</internal_replication>
                   <replica>
                       <host>ХОСТ_MANAGED_SERVICE_FOR_CLICKHOUSE.mdb.yandexcloud.net</host>
                       <port>9440</port>
                       <user>USER</user>
                       <password>PASSWORD</password>
                       <secure>1</secure>
                   </replica>
              </shard>
       </destination_cluster>
   </remote_servers>

   <max_workers>2</max_workers>

   <settings_pull>
       <readonly>1</readonly>
   </settings_pull>

   <settings_push>
       <readonly>0</readonly>
   </settings_push>

   <settings>
       <connect_timeout>3</connect_timeout>
       <insert_distributed_sync>1</insert_distributed_sync>
   </settings>

   <tables>
       <table_hits>
           <cluster_pull>source_cluster</cluster_pull>
           <database_pull>test_db</database_pull>
           <table_pull>test</table_pull>

           <cluster_push>destination_cluster</cluster_push>
           <database_push>mv_db</database_push>
           <table_push>test</table_push>

           <engine>
               ENGINE MergeTree() PARTITION BY toYYYYMM(event_date) ORDER BY (event_date, vendor_code, size_code) SETTINGS index_granularity=8192
           </engine>
           <sharding_key>jumpConsistentHash(intHash64(event_date), 2)</sharding_key>
       </table_hits>
   </tables>
</yandex>

пытаюсь скопировать таблицу с сервера clickhouse на сервер Managed Service for Clickhouse
версии  clickhouse одинаковые  - 20.3.8.53
оба сервера в одном облаке (в одной сети)
источник

A

Anttoon in ClickHouse не тормозит
источник

SP

Sergey Polischouck in ClickHouse не тормозит
Коллеги, добрый вечер.
Переходим c версии 19.11.13 на 20.4.2, перестал работать запрос вида
select object_id,
      dictGet('currency', 'rate', tuple(currency_id, 'USD', toDate(datetime))) as rate
from some_table
GROUP BY object_id, currency_id, datetime, rate;


Ошибка

Received exception from server (version 20.4.2):
Code: 42. DB::Exception: Received from localhost:9000. DB::Exception: Function dictGet... takes 3 or 4 arguments.


при этом если убрать rate из group_by, то он работает.

Подскажите пожалуйста, в чем может быть дело?
источник

l

lnuynxa in ClickHouse не тормозит
маловероятно, но что если так?

select object_id,
      dictGet('currency', 'rate', tuple(currency_id, 'USD', toDate(datetime))) as rates
from some_table
GROUP BY object_id, currency_id, datetime, rate;
источник

SP

Sergey Polischouck in ClickHouse не тормозит
не совсем, почему-то аналитики добавили в group by значение rate из словаря. Ошибка не гуглится, очень непонятная.
источник

l

lnuynxa in ClickHouse не тормозит
вообще в clickhouse aliasing глобальный, те ты можешь написать

SELECT toUInt8(8) as val, groupArray(number) FROM numbers(10) WHERE val=8 GROUP BY val;
И из за этого могут возникать странные ошибки
источник

Y

YR in ClickHouse не тормозит
Подскажите пожалуйста что не так я делаю ?

request_time_75                 AggregateFunction(quantileTDigest(0.75), Int32),


получаю ошибку
DB::Exception: Conversion from AggregateFunction(quantilesTDigest(0.75), Int32) to AggregateFunction(quantileTDigest(0.75), Int32) is not supported: while converting source column `quantilesTDigestState(0.75)(request_time)` to destination column request_time_75
Движок AggregatingMergeTree()
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Sergey Polischouck
Коллеги, добрый вечер.
Переходим c версии 19.11.13 на 20.4.2, перестал работать запрос вида
select object_id,
      dictGet('currency', 'rate', tuple(currency_id, 'USD', toDate(datetime))) as rate
from some_table
GROUP BY object_id, currency_id, datetime, rate;


Ошибка

Received exception from server (version 20.4.2):
Code: 42. DB::Exception: Received from localhost:9000. DB::Exception: Function dictGet... takes 3 or 4 arguments.


при этом если убрать rate из group_by, то он работает.

Подскажите пожалуйста, в чем может быть дело?
ну явный баг КХ,
хотя результат запроса конечно не изменится, потому все аргументы dictGet уже в groupby
источник

SP

Sergey Polischouck in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ну явный баг КХ,
хотя результат запроса конечно не изменится, потому все аргументы dictGet уже в groupby
Спасибо 👍
источник

SP

Sergey Polischouck in ClickHouse не тормозит
Стоит ли зарепортить issue?
источник

l

lnuynxa in ClickHouse не тормозит
да
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
YR
Подскажите пожалуйста что не так я делаю ?

request_time_75                 AggregateFunction(quantileTDigest(0.75), Int32),


получаю ошибку
DB::Exception: Conversion from AggregateFunction(quantilesTDigest(0.75), Int32) to AggregateFunction(quantileTDigest(0.75), Int32) is not supported: while converting source column `quantilesTDigestState(0.75)(request_time)` to destination column request_time_75
Движок AggregatingMergeTree()
select .....
   quantilesTDigestState(0.75)(request_time) as request_time_75,
источник

PL

Piotr Liakhavets in ClickHouse не тормозит
Piotr Liakhavets
Вопрос про треды (обычные селекты)
ClickHouse server version 20.1.10 revision 54431.
машина в кластере (чисто реплики)
цпу и рама есть с запасом
но словили в какой-то момент странное поведение - на запросы от пользователей аллокейтился только один тред (соответственно они залипали надолго)
* изменений в сеттингах в этот период не наблюдалось (у этого юзера max_threads  auto(32) )
** в базовом случае на эти типовые запросы тредов много (8+)

от чего м.б. такое поведение?
↑UPD:
через процесслист поснепшотил - до того как запрос начинает сканить - в один тред что-то делает (видимо сканит метаданные / систем.партс / стату ... )
подскажите где подробнее можно прочитать о том что КХ делает в этот момент (т.е. шаги интерпретации/анализа статы при выполнении запроса и т.п.), чтобы понять где у меня проблема?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Piotr Liakhavets
↑UPD:
через процесслист поснепшотил - до того как запрос начинает сканить - в один тред что-то делает (видимо сканит метаданные / систем.партс / стату ... )
подскажите где подробнее можно прочитать о том что КХ делает в этот момент (т.е. шаги интерпретации/анализа статы при выполнении запроса и т.п.), чтобы понять где у меня проблема?
в логах не смотрели, может там что то интересное
источник

Y

YR in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
select .....
   quantilesTDigestState(0.75)(request_time) as request_time_75,
не помогло (
Conversion from AggregateFunction(quantilesTDigest(0.75), Int32) to AggregateFunction(quantileTDigest(0.75), Int32) is not supported: while converting source column request_time_75 to destination column request_time_75
источник

AT

Al T in ClickHouse не тормозит
Sergey Polischouck
не совсем, почему-то аналитики добавили в group by значение rate из словаря. Ошибка не гуглится, очень непонятная.
ну пишет что нужно 3 или 4 аргумента, у вас 5
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Distribution table можна создать только для симейства Replicated?
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Serhii Kholodniuk
Distribution table можна создать только для симейства Replicated?
Я пытаюсь создать для MergeTree, ругается
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
YR
не помогло (
Conversion from AggregateFunction(quantilesTDigest(0.75), Int32) to AggregateFunction(quantileTDigest(0.75), Int32) is not supported: while converting source column request_time_75 to destination column request_time_75
я опечатался в копи-пасте, нету функцию написал

AggregateFunction(quantilesTDigest(0.75), Int32)
AggregateFunction(quantileTDigest(0.75), Int32)


CREATE TABLE m
(
   x Int64,
   request_time_75   AggregateFunction(quantileTDigest(0.75), UInt32)
)
ENGINE = AggregatingMergeTree
order by x

insert into m select 1 x, quantileTDigestState(0.75)(toUInt32(1))

Ok.
источник