
Александр
25.09.2018
12:03:24
Сейчас пофиксил тем, что поменял в конфиге дефолтную таблицу на ту в которой КХ пытается найти локальную для рпаспределенного запроса
Мутации полетели ппц как

Alexey
25.09.2018
12:04:17
дефолтную датабазу наверное?

Александр
25.09.2018
12:04:27

Google

Александр
25.09.2018
12:04:53
Просто у меня запрос был типа ... delete where column global not in (select ... from distributed_table ...)
и вот таблица из которой я удаляю, лежит например в базе some_db вместе с distributed_table, но почему-то КХ при интерпретации запроса внутри global not in пытается таблицу найти в default базе
Подменил default на нужную и мутации поперли, но мне кажется это косяк. Мутацию я запускал будучи в нужной базе данных

Alexey
25.09.2018
12:09:17
а вы явно указали DB.TABLE или просто TABLE?

Александр
25.09.2018
12:10:50
а вы явно указали DB.TABLE или просто TABLE?
Просто table, но повторюсь, я был внутри нужной БД. Видимо КХ при отправке запроса на шард не передает таблицу и непонятно правильно это или нет. Похоже, что лучше явно указывать

Alexey
25.09.2018
12:12:02

Александр
25.09.2018
12:12:35

Alexey
25.09.2018
12:12:55
можно при отправке запросов на шарды подставлять в запрос бд, в которой вы находитесь, если она не указана, хм

Denis
25.09.2018
12:33:37

Dasha
25.09.2018
13:01:04
Добрый день!
match('https//domain.ru/?', '.*.*\/\/domain\.ru\/{0,1}(\?.*){0,}$')
выдаёт ошибку
DB::Exception: Exception: OptimizedRegularExpression: cannot compile re2
Почему это может происходить?

Alexey
25.09.2018
13:03:59
Добрый день!
match('https//domain.ru/?', '.*.*\/\/domain\.ru\/{0,1}(\?.*){0,}$')
выдаёт ошибку
DB::Exception: Exception: OptimizedRegularExpression: cannot compile re2
:) select match('https//domain.ru/?', '.*.*\/\/domain\.ru\/{0,1}(\\?.*){0,}$')
SELECT match('https//domain.ru/?', '.*.*//domain.ru/{0,1}(\\?.*){0,}$')
┌─match('https//domain.ru/?', '.*.*//domain.ru/{0,1}(\\?.*){0,}$')─┐
│ 1 │
└──────────────────────────────────────────────────────────────────┘
1 rows in set. Elapsed: 0.006 sec.

Google

Alexey
25.09.2018
13:05:05
Почему это может происходить?
Поэтому, чтобы экранировать символ в регулярном выражении, необходимо написать в строковом литерале \ (два обратных слеша).

Dasha
25.09.2018
13:05:44
Спасибо большое!


Vadim
25.09.2018
13:11:21
длительное расхождение чексум смердженных блоков может приводить к удалениям? Перезагружал серверы и пропали данные за 1ч45 минут, хотя в тот момент они были. В лога все ещё идут
<Error> default.graphite (StorageReplicatedMergeTree): Code: 228, e.displayText() = DB::Exception: Unexpected uncompressed size of file Date.bin in data part, e.what() = DB::Exception. Data after merge is not byte-identical to data on another replicas. There could be several reasons: 1. Using newer version of compression library after server update. 2. Using another compression method. 3. Non-deterministic compression algorithm (highly unlikely). 4. Non-deterministic merge algorithm due to logical error in code. 5. Data corruption in memory due to bug in code. 6. Data corruption in memory due to hardware issue. 7. Manual modification of source data after server startup. 8. Manual modification of checksums stored in ZooKeeper. We will download merged part from replica to force byte-identical result.
серверы нельзя перезагружать?


Wolf
25.09.2018
13:12:16
ну там же написаны причины причем тут перезагрузка то ?
перезагружайте сколько хотите все будет от лично работать

Vadim
25.09.2018
13:16:30
Как узнать, куда делись данные?
Мутаций не было на это время

Wolf
25.09.2018
13:18:23
ну вы сами написали выше причины


Vadim
25.09.2018
13:32:48
это может приводить к удалению данных ?
Ещё в еррор-логе нашел такие сообщения:
<Error> HTTPHandler: Cannot send exception to client: Code: 24
, e.displayText() = DB::Exception: Cannot write to ostream at offset 101294441, e.what() = DB::Ex
ception, Stack trace:
0. /usr/bin/clickhouse-server(StackTrace::StackTrace()+0x16) [0x48abed6]
1. /usr/bin/clickhouse-server(DB::Exception::Exception(std::string const&, int)+0x1f) [0x2682dcf]
2. /usr/bin/clickhouse-server(DB::WriteBufferFromOStream::nextImpl()+0xba) [0x48d1b5a]
3. /usr/bin/clickhouse-server(DB::WriteBufferFromHTTPServerResponse::nextImpl()+0x8e) [0x48d13ee]
4. /usr/bin/clickhouse-server(DB::WriteBuffer::next()+0x26) [0x2682ed6]
5. /usr/bin/clickhouse-server(DB::HTTPHandler::trySendExceptionToClient(std::string const&, int, Poco::Net::HTTPServerRequest&, Poco::Net::HTTPServerResponse&, DB::HTTPHandler::Output&)+0x1b7) [0x2696097]
6. /usr/bin/clickhouse-server(DB::HTTPHandler::handleRequest(Poco::Net::HTTPServerRequest&, Poco::Net::HTTPServerResponse&)+0x673) [0x269c593]
7. /usr/bin/clickhouse-server(Poco::Net::HTTPServerConnection::run()+0x23e) [0x49f300e]
8. /usr/bin/clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x49eefaf]
9. /usr/bin/clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x110) [0x49ef610]
10. /usr/bin/clickhouse-server(Poco::PooledThread::run()+0x77) [0x4a4df27]
11. /usr/bin/clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x38) [0x4a4b488]
12. /usr/bin/clickhouse-server() [0x4d3fe1f]
13. /lib64/libpthread.so.0(+0x7e25) [0x7f21a1888e25]
кто-то сталкивался?
Пардон, это в селекте
также вижу в логах
<Error> default.graphite (StorageReplicatedMergeTree): void DB::StorageReplicatedMergeTree::queueUpdatingTask(): Code: 999, e.displayText() = ZooKeeperImpl:
:Exception: Session expired (Session expired), e.what() = ZooKeeperImpl::Exception, Stack trace:
перезагружались зукиперы, менялась конфигурация
мб данные есть, но не смерджены, в system.replicas :
queue_oldest_time: 2018-09-25 11:05:14
inserts_oldest_time: 0000-00-00 00:00:00
merges_oldest_time: 2018-09-25 11:05:14


Evgeny
25.09.2018
13:56:11
Скажите ПЛЗ, а в словарях не планируется поддержка массивов и range_complex_key?

Vadim
25.09.2018
14:04:45
ещё обнаружил, что на лидере :
echo stat |nc localhost 2181
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Clients:
/127.0.0.1:57518[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 5
Sent: 4
Connections: 1
Outstanding: 0
Zxid: 0x200001594c
Mode: leader
Node count: 5826
и на всех фоловерх похожая картина, но на одном:
echo stat |nc localhost 2181
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Clients:
/127.0.0.1:44346[0](queued=0,recved=1,sent=0)
/192.168.148.16:36308[1](queued=0,recved=120425,sent=126354)
/192.168.173.134:42344[1](queued=0,recved=66734,sent=69028)
/192.168.149.242:37916[1](queued=0,recved=94941,sent=100860)
Latency min/avg/max: 0/1/75
Received: 282105
Sent: 296246
Connections: 4
Outstanding: 0
Zxid: 0x2000015980
Mode: follower
Node count: 5841
@stufently Не подскажешь, нормально ли это?

Google

Alexey
25.09.2018
14:09:42
никто не в курсе, с MemoryTracking фиксили баг?
в новых будуЮщих релизах
которые в тестинге сейчас

Vadim
25.09.2018
14:20:38
поперезагружал зукиперов, лидером стал зукипер с бОльшими числами в счетчиках, но тепрь данные отличаются на нодах, куда копать?

Denis
25.09.2018
14:27:57

Evgeny
25.09.2018
14:28:22
Тайм-рейндж словари с составными ключами
То есть если в словаре задано что для ключа (1,'asdd') между 24 января и 28 февраля значение есть string1, то запрос для ключа (1,'asdd') для 1 февраля даст string1

Denis
25.09.2018
14:34:23
никто не в курсе, с MemoryTracking фиксили баг?
похоже нет,
на пустой базе
Connected to ClickHouse server version 18.14.0 revision 54409.
SELECT *
FROM system.metrics
WHERE metric = 'MemoryTracking'
┌─metric─────────┬────────value─┬─description──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ MemoryTracking │ -97679066682 │ Total amount of memory (bytes) allocated in currently executing queries. Note that some memory allocations may not be accounted. │
└────────────────┴──────────────┴

Vadim
25.09.2018
14:35:48
селектом смотрю таблицы и ясно вижу, что на одной из реплик в данных "дыра", как заставить ноду засинкаться с остальных ?

Alexey
25.09.2018
14:54:11
но это я давно делал, может просто detach attach подряд поможет

Vadim
25.09.2018
14:55:28
а если это партишен в который сейчас все пишется, и мержди в нем идут, не потеряю ли я больше ?

Alexey
25.09.2018
14:55:55
тогда остановить запись, сделать detach attach, и возобновить запись

Vadim
25.09.2018
14:55:58
@Shegloff Спасибо за помощь

Alexey
25.09.2018
14:56:41
при detach точно ничего не потеряете, просто партиция переместится в папку detached

Vadim
25.09.2018
15:00:21
так в партицию запись идет, и мерджи длительные, что с ними будет?, или при аттаче он прибавит куски?

Slava
25.09.2018
15:00:47
было бы классно иметь какой-то способ наподобие аттач фром чужая папка деаттач

Kirill
25.09.2018
15:06:43
ALTER TABLE t [REPLACE|ATTACH] PARTITION

Vladislav
25.09.2018
15:08:59
Всем привет. А почему запросы с SAMPLE могут работать дольше?
? select count() FROM Event SAMPLE 0.1 WHERE (eventDate BETWEEN '2018-09-18' AND '2018-09-25')
SELECT count()
FROM Event
SAMPLE 1 / 10
WHERE (eventDate >= '2018-09-18') AND (eventDate <= '2018-09-25')
┌──count()─┐
│ 30478197 │
└──────────┘
1 rows in set. Elapsed: 1.913 sec. Processed 108.83 million rows, 5.11 GB (56.90 million rows/s., 2.67 GB/s.)
? select count() FROM Event WHERE (eventDate BETWEEN '2018-09-18' AND '2018-09-25')
SELECT count()
FROM Event
WHERE (eventDate >= '2018-09-18') AND (eventDate <= '2018-09-25')
┌───count()─┐
│ 304903885 │
└───────────┘
1 rows in set. Elapsed: 0.241 sec. Processed 304.91 million rows, 609.82 MB (1.26 billion rows/s., 2.53 GB/s.)

Google

Kirill
25.09.2018
15:11:49


Slava
25.09.2018
15:13:44
ALTER TABLE t [REPLACE|ATTACH] PARTITION
Обычно мы аттачим из deatached папки нашей таблицы, хочется упростить кейс когда нужно грохнуть партицию в таблице 1 и просто мувнуть такую же партицию из таблицы2 в таблицу 1, в оф доке не видел подобных кейсов.

Kirill
25.09.2018
15:14:01

Slava
25.09.2018
15:14:21

Vladislav
25.09.2018
15:14:26
У нас почему-то на всех запросах при использовании SAMPLE скорость падает в десятки раз

Kirill
25.09.2018
15:16:32

Vadim
25.09.2018
15:18:04

Vladislav
25.09.2018
15:19:47

Kirill
25.09.2018
15:20:35

Vladislav
25.09.2018
15:22:34
и желательно, что бы это было связано с userid?
у нас просто userid - это uuid4
и мы по нему решили сделать сеплирование
Может сделать колонку с cityHash64(userId)
И по нему делать семплирование?

Vadim
25.09.2018
16:02:12
так и должно быть?

Alexey
25.09.2018
16:15:59
добрый день, а как хранить и менять названия объектов на которые ссылки идут по ID из главной таблицы (редкое событие)? Смотрю на словари, чтоб хранить там пару - ID-Name, но словарь, судя по документации, рефрешится только по времени, по событию нельзя рефрешить. Или я что-то пропустил?

Tima
25.09.2018
16:23:41
https://clickhouse.yandex/docs/ru/query_language/dicts/external_dicts_dict_lifetime/

Alexey
25.09.2018
16:25:53

Google

Tima
25.09.2018
16:27:14
Если вам достаточно интерфала апдейта - больше ничего делать не нужно. Если вам нужно прям свежие данные иметь, можно заморочиться с опцией invalidate_query

Alexey
25.09.2018
16:27:18
И он будет раз в секунду дергать мой запрос
Понял, хотел уточнить - нет ф-ции, которая говорит:сходи и обнови словарь?

Tima
25.09.2018
16:28:09
Есть команда обновления всех словарей или части

Alexey
25.09.2018
16:29:12

Tima
25.09.2018
16:29:51
SYSTEM RELOAD DICTIONARY имя словаря
https://github.com/yandex/ClickHouse/blob/master/CHANGELOG_RU.md

Alexey
25.09.2018
16:30:10
Ок, понял

Wolf
25.09.2018
16:32:22

Vadim
25.09.2018
16:46:57

daria
25.09.2018
16:47:22
у кого-то еще есть проблемы с выгрузкой из Метрики по апи? обычный процесс уже неделю или две занимает примерно в 10 раз больше времени

Wolf
25.09.2018
16:47:29
ну видите вы делали видимо очень много странных вещей сказать что именно стало причиной сложно

daria
25.09.2018
16:47:47
выполнение из крона отваливается и срабатывает примерно раз в неделю

Vadim
25.09.2018
16:52:40

Wolf
25.09.2018
16:53:07
ну собственно говоря добавление зукипера могло все сломать

Vadim
25.09.2018
16:53:17
DETACH / ATTACH на проде также ещё не делал

Wolf
25.09.2018
16:53:41
добавили два новых зукипера ? не развалился кластер на два лидера случаем ?

Vadim
25.09.2018
16:53:48
один добавили

Wolf
25.09.2018
16:54:14
ну как вы могли добавить один зукипер если их должно быть не четное количество

Vadim
25.09.2018
16:54:22
и у всех одна конфигурация