@clickhouse_ru

Страница 539 из 723
Alexander Nairashvili
25.05.2018
10:25:33
Как ограничить количество одновременных запросов на отдельного пользователя? в профиле указывать max_concurrent_queries имеет какой то смысл?

Андрэ
25.05.2018
10:59:26
Товарищи, подскажите, как можно сделать. Создаю матвью, CREATE ... ... countStateIf(tablename.click = 0) as requests, sumState(click) AS click, ... и мне говорит, что Aggregate function sumState(click) is found inside another aggregate function in query. Как сделать правильно? (без переименования выходных полей

И можно ли вообще так сделать?

Google
Kirill
25.05.2018
11:05:06
И можно ли вообще так сделать?
Нет, сейчас замена алиасов работает только вот так, не очень корректно в ряде случаев

Андрэ
25.05.2018
11:05:25
Понятно, спасибо.

Alexander Nairashvili
25.05.2018
11:57:46
Для профиля это бессмысленно указывать
а как можно ограничить максимальное колечество одновременных запросов для определённого пользователя? только квотами? (chproxy тут не подходит, так как tcp используем)

Felixoid
25.05.2018
11:58:53
Коллеги, тут сборка падает без -D NO_WERROR=1 In file included from /tmp/yaourt-tmp-felixoid/aur-clickhouse/src/ClickHouse-1.1.54383-stable/dbms/src/DataStreams/CollapsingFinalBlockInputStream.cpp:1: /tmp/yaourt-tmp-felixoid/aur-clickhouse/src/ClickHouse-1.1.54383-stable/dbms/src/DataStreams/CollapsingFinalBlockInputStream.h: In member function ‘void DB::CollapsingFinalBlockInputStream::MergingBlockPtr::destroy()’: /tmp/yaourt-tmp-felixoid/aur-clickhouse/src/ClickHouse-1.1.54383-stable/dbms/src/DataStreams/CollapsingFinalBlockInputStream.h:153:30: error: ‘bool std::uncaught_exception()’ is deprecated [-Werror=deprecated-declarations] if (std::uncaught_exception()) ^~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/8.1.0/ios:39, from /usr/include/c++/8.1.0/istream:38, from /usr/include/c++/8.1.0/sstream:38, from /tmp/yaourt-tmp-felixoid/aur-clickhouse/src/ClickHouse-1.1.54383-stable/libs/libcommon/include/common/logger_useful.h:5, from /tmp/yaourt-tmp-felixoid/aur-clickhouse/src/ClickHouse-1.1.54383-stable/dbms/src/DataStreams/CollapsingFinalBlockInputStream.h:2, from /tmp/yaourt-tmp-felixoid/aur-clickhouse/src/ClickHouse-1.1.54383-stable/dbms/src/DataStreams/CollapsingFinalBlockInputStream.cpp:1: /usr/include/c++/8.1.0/exception:102:8: note: declared here Запускается так: cmake -D CMAKE_BUILD_TYPE:STRING=Release -D USE_STATIC_LIBRARIES:BOOL=False -D ENABLE_TESTS:BOOL=False -D UNBUNDLED:BOOL=False -D USE_INTERNAL_DOUBLE_CONVERSION_LIBRARY:BOOL=False -D USE_INTERNAL_CAPNP_LIBRARY:BOOL=False -D USE_INTERNAL_POCO_LIBRARY:BOOL=True -D POCO_STATIC:BOOL=True -D USE_INTERNAL_RE2_LIBRARY:BOOL=False . @milovidov_an @proller

gcc --version gcc (GCC) 8.1.0 По сути, собирается вот этим https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=clickhouse&id=f3f82ae9c3e722c6b205a3eaf5d9e22fa5d00684 с патчем

Kirill
25.05.2018
12:08:34
а как можно ограничить максимальное колечество одновременных запросов для определённого пользователя? только квотами? (chproxy тут не подходит, так как tcp используем)
квоты, в случае превышения будут exception кидать, что не очень хорошо. Мы на своей стороне ограничеваем количество запросов, в КХ просто общий max_concurrent_queries

Anton
25.05.2018
12:36:44
А есть ли возможность делать ALTER TABLE table FREEZE PARTITION для вcей таблицы? Интересует как метод создания первоначального снэпшота данных. создавать снимок каждой партиции как-то нелогично, особенно если речь идёт о старых данных.

Felixoid
25.05.2018
12:44:27
А зачем gcc 8, когда в инструкции 7?
ну, так уж вышло, что на арче нету 7го в настоящее время

Wolf
25.05.2018
12:44:55
Докер ваш путь

Anton
25.05.2018
12:50:13
ну, так уж вышло, что на арче нету 7го в настоящее время
А что говорит: g++ -dM -E -x c++ /dev/null | grep -F __cplusplus ?

Felixoid
25.05.2018
12:51:54
Докер ваш путь
не очень понял, зачем. С -D NO_WERROR=1 собралось и работает. Да и ошибка всего одна, по сути, за всю сборку

Google
Felixoid
25.05.2018
12:51:59
Alex
25.05.2018
13:00:05
Аналог flume/fluentd/scribe

Anton
25.05.2018
13:00:23
не очень понял, зачем. С -D NO_WERROR=1 собралось и работает. Да и ошибка всего одна, по сути, за всю сборку
Я не плюсовик не разу, но судя по ссылкам ниже такое поведение в gcc 8 by design: Что происходит: http://en.cppreference.com/w/cpp/error/uncaught_exception Люди тоже жалуются: https://stackoverflow.com/questions/27741423/why-will-stduncaught-exception-change-to-stduncaught-exceptions https://github.com/weidai11/cryptopp/issues/590

Александр
25.05.2018
13:01:17
https://github.com/badoo/lsd
Спасибо! Не знал про такую штуку :) Мы сами подобное сделали, когда данные пишутся в кучу разных файлов, раз в минуту в фоне мерджатся и скидываются в CH

prll
25.05.2018
13:01:38
На убунте исправляли все ворнинги в gcc8, а тут чтото новое.

Alex
25.05.2018
13:03:26
Спасибо! Не знал про такую штуку :) Мы сами подобное сделали, когда данные пишутся в кучу разных файлов, раз в минуту в фоне мерджатся и скидываются в CH
У нас оно не только для CH задач, а для любых задач агрегации потоков данных. А писать даже раз в минуту с каждого backend-хоста нам дорого :)

Felixoid
25.05.2018
13:03:44
На убунте исправляли все ворнинги в gcc8, а тут чтото новое.
я могу пересобрать с verbose и отправить, если надо

Александр
25.05.2018
13:04:39
prll
25.05.2018
13:05:01
я могу пересобрать с verbose и отправить, если надо
Еще может быть что в этот релиз не попали исправления. Соберется ли master ?

Anton
25.05.2018
13:09:56
не очень понял, зачем. С -D NO_WERROR=1 собралось и работает. Да и ошибка всего одна, по сути, за всю сборку
Судя по комментарию к коммиту и его содержимому нужен этот коммит: https://github.com/yandex/ClickHouse/commit/eb772b800151f6bab6854fff929b31b55620937e

В какой он версии - понятия не имею.

Alexander Nairashvili
25.05.2018
13:11:04
квоты, в случае превышения будут exception кидать, что не очень хорошо. Мы на своей стороне ограничеваем количество запросов, в КХ просто общий max_concurrent_queries
вижу в коде и в system.settings max_concurrent_queries_for_user, но манипуляция с этой настройкой ни к чему не приводит, это нерабочая переменная?

Felixoid
25.05.2018
13:24:51
Это хотфикс релиз
Ещё момент. в init.d есть вот такое debian/clickhouse-server.init: su -s /bin/sh ${CLICKHOUSE_USER} -c "test -w ${SYSCONFDIR}" || chown ${CLICKHOUSE_USER}:${CLICKHOUSE_GROUP} ${SYSCONFDIR} Но в debian/clickhouse-server.service подобного нету

отчего systemd несколько возмущён %)

Kirill
25.05.2018
13:37:42
вижу в коде и в system.settings max_concurrent_queries_for_user, но манипуляция с этой настройкой ни к чему не приводит, это нерабочая переменная?
Если бы она работала, то при привышении тоже бы выбрасывался exception, что не очень хорошо, нужно бы такие запросы просто притормаживать. Работать должно, нужно смотреть почему в вашем случае это не так

Google
Vladimir
25.05.2018
13:39:47
Всем привет! Есть нулевая таблица ENGINE = Null; от нее есть мат.вью ENGINE = ReplicatedSummingMergeTree с группировкой. Хотим еще одно вью сделать, еще меньшей мощности (более узкая группировка), чем первая мат.вью. Вопрос, теоретически, как лучше использовать, новую мат.вью от Engine=null или от уже имеющейся мат.вью? Главное беспокойство то, насколько каждый вариант аффектит скорость вставки

Kirill
25.05.2018
13:53:12
Второй вариант не будет у вас работать, создавайте все от Null

Vladimir
25.05.2018
13:54:11
Спасибо!

Рулон
25.05.2018
14:16:36
Товарищи, может кто сталкивался. Кластер зукипер. 3 ноды 1 работает, а 2 и 3 работаюот поочереди, т.е. то одна folower, другая No route to host (Host unreachable). то наоборот

причем работает тта, где первой применяю sudo ./zkServer.sh start-foreground

Felixoid
25.05.2018
14:36:25
Еще может быть что в этот релиз не попали исправления. Соберется ли master ?
опасное место сборка успешно проскочила [ 66%] Building CXX object dbms/CMakeFiles/dbms.dir/src/DataStreams/CollapsingFinalBlockInputStream.cpp.o [ 66%] Building CXX object dbms/CMakeFiles/dbms.dir/src/DataStreams/CollapsingSortedBlockInputStream.cpp.o [ 66%] Building CXX object dbms/CMakeFiles/dbms.dir/src/DataStreams/ColumnGathererStream.cpp.o

Еще может быть что в этот релиз не попали исправления. Соберется ли master ?
да, собралось всё успешно из мастера (часовой давности), спасибо. Мне кажется, что-то с тестами.. https://travis-ci.org/yandex/ClickHouse/jobs/383717198

prll
25.05.2018
15:10:05
да, 00385_storage_file_and_clickhouse сломан

Felixoid
25.05.2018
15:15:44
есть шанс на получение https://github.com/yandex/ClickHouse/pull/2421 в следующем релизе?

prll
25.05.2018
15:19:19
есть, но в другом виде

Felixoid
25.05.2018
15:25:41
есть, но в другом виде
надеюсь, не в postinst? =)

prll
25.05.2018
15:25:54
ничего не писать в /etc

Felixoid
25.05.2018
15:26:47
хм, помещать *-preprocessed.conf в /var/lib/clickhouse?

prll
25.05.2018
15:26:56
именно

для удобства может симлинк из etc

Alexey
25.05.2018
16:08:21
Такая проблема была в старых версиях с таблицами типа MergeTree, при частых INSERT-ах. В новых версиях проблема исправлена. Тем не менее, если раньше возникла ситуация "... intersects previous part", то она останется и после обновления. Исправить до конца можно путём пересоздания таблицы и INSERT SELECT в неё.
Возникла ошибка на всех обеих репликах этого шарда: DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 49, e.displayText() = DB::Exception: Part 20180525_20180525_47155_47160_1 intersects previous part 20180525_20180525_47153_47158_1 (state Committed). It is a bug на версии 1.1.54380. Таблица 1.5Тб, 14 млрд строк. Ошибка возникла после неудачной попытки удалить несколько нод зукипера из кластера. Есть варианты что с ней делать?

1.1.54381 версия случайно не исправит эту ошибку?

Wolf
25.05.2018
16:11:59
а как вы удаляли ?

Alexey
25.05.2018
16:18:30
сначала убрали ноды из zookeeper.xml, потом убрали из zoo.cfg, рестартанули зукиперы. дальше щас уже не помню, но после рестарта кликхаусов они перестали подниматься с ошибкой: 2018.05.25 17:03:42.070562 [ 94 ] <Error> Application: DB::Exception: Cannot create table from metadata file /local/adtech/clickhouse/metadata/db//%2Einner%2Etable_local.sql, error: DB::Exception: The local set of parts of table db..inner.table_local doesn't look like the set of parts in ZooKeeper: 61.88 thousand rows of 62.68 thousand total rows in filesystem are suspicious. There are 3 unexpected parts with 3 rows (0 of them is not just-written with 3 rows), 1 unexpectedly merged parts with 61877 rows, 83 missing obsolete parts (with 2029552 blocks), 0 missing parts (with 0 blocks)., stack trace: после чего вернули все взад. СЕйчас все работает как раньше, только пару реплик сыпят этой ошибкой.

Nickolay
25.05.2018
16:59:20
Приветствую! Возникла проблема с OPTIMIZE при работе с ReplicatedCollapsingMergeTree + RENAME. Создаю Replicated таблицы на разных нодах кластера: CREATE TABLE test (sign Int8, date Date, created DateTime) ENGINE = ReplicatedCollapsingMergeTree('/test', 'test1', date, date, 8192, sign) CREATE TABLE test (sign Int8, date Date, created DateTime) ENGINE = ReplicatedCollapsingMergeTree('/test', 'test2', date, date, 8192, sign) Делаю RANAME на каждой из нод: RENAME TABLE test TO test1 Выполняю OPTIMIZE на каждой из нод и получаю: OPTIMIZE TABLE test1 Received from clickhouse-01:9000, ... DB::Exception: Table default.test doesn't exist Версия 1.1.54304. Подскажите, куда смотреть? Или, нельзя переименовывать Replicated таблицы?

Google
Nickolay
25.05.2018
17:07:14
"Релиз ClickHouse 1.1.54342, 2018-01-22: ... Исправлена ошибка, в связи с которой запрос OPTIMIZE к Replicated таблицам мог приводить к неконсистентным мержам (в логах видно по сообщениям Part ... intersects previous part)..." - вероятно, это оно?

Alexey
25.05.2018
18:06:11
Optimize к этим таблицам не делал

Но вроде похоже, попробуем обновиться

Alexey
25.05.2018
18:41:07
http://ritfest.ru/moscow/2018/schedule.html - только что обнаружил, что мой митап назначили на 10 утра в понедельник. Я приду.

Wolf
25.05.2018
18:41:49
Ну было бы грустно если бы на митап пришли все кроме вас)))))

Alexey
25.05.2018
19:08:50
выселектить этот кусок в отдельную таблицу, отцепить его от текущей, и заново заинсертить данные например
Да, это один из вариантов. Также имеет смысл отфильтровать дубликаты, которые могли возникнуть. Сама ошибка возникла, похоже, из-за того, что состояние в ZooKeeper откатили на какое-то старое.

Alexey
25.05.2018
19:16:02
Посмотрите в файловой системе в директории detached поддиректории, начинающиеся с ignored_. Если вы откатили состояние в ZooKeeper на старое (это ненормальная ситуация и так делать не нужно), то там могут отложены данные, которых не было в ZooKeeper на момент запуска.

Alexey
25.05.2018
19:16:20
Спасибон!

Посмотрите в файловой системе в директории detached поддиректории, начинающиеся с ignored_. Если вы откатили состояние в ZooKeeper на старое (это ненормальная ситуация и так делать не нужно), то там могут отложены данные, которых не было в ZooKeeper на момент запуска.
drwxr-x--- 2 clickhouse clickhouse 4096 май 25 17:57 ignored_20180525_20180525_47159_47163_1 drwxr-x--- 2 clickhouse clickhouse 4096 май 25 17:57 ignored_20180525_20180525_47164_47164_0 drwxr-x--- 2 clickhouse clickhouse 4096 май 25 17:57 ignored_20180525_20180525_47165_47165_0 drwxr-x--- 2 clickhouse clickhouse 4096 май 25 17:57 ignored_20180525_20180525_47166_47166_0

эти данные всё, капут?

Alexey
25.05.2018
19:20:34
С данными всё Ок. ClickHouse никогда не удаляет данные просто так :) Эти куски можно переименовать (убрав слово ignored_) и сделать ATTACH.

Alexey
25.05.2018
19:21:30
супер! спс большое

Да, так можно сделать.
Супер! сработало, ошибки ушли

Sergey
25.05.2018
21:17:13
Ребят, подскажите пожалуйста, имеет ли смысл переходить на ReplicatedCollapsingMergeTree ради GDPR? Оно сильно медленнее чем ReplicatedMergeTree?

Google
Wolf
25.05.2018
21:18:42
Из за gdrp вообще не стоит никуда переходить

Sergey
25.05.2018
21:21:04
нужно будет удалять строки из таблицы по критерию

сейчас думаем использовать collapsing tree

Александр
25.05.2018
21:21:30
@milovidov_an доброй ночи! а как скоро планируется выложить чейнджлог для последних релизов и планируется ли вообще?

Kirill
25.05.2018
21:29:31
Ребят, подскажите пожалуйста, имеет ли смысл переходить на ReplicatedCollapsingMergeTree ради GDPR? Оно сильно медленнее чем ReplicatedMergeTree?
Оно не медленнее, просто нужен первичный ключ по которому он считает уникальность, можно сделать как есть + сурогатное уникальное поле чтоб не городить в него кучу колонок. Но, в мастере уже есть зачатки`ALTER TABLE T DELETE ...` который позволяет удалять данные менее изощренным способом. И тут 2-а варианта: сделать прямо сейчас на Collapsing т.к. нужно или ждать фичу в каком-то стабильном релизе, при условии что на него можно проапгрейдиться

Vasiliy
25.05.2018
21:31:11
нужно будет удалять строки из таблицы по критерию
А вы планируете там хранить инфу о том, что пользователь принял gdpr?

Александр
25.05.2018
21:32:15
Выложим на днях.
Спасибо большое!

Страница 539 из 723