из длинной таблицы данные, в этот момент делаем эксченж тейбл, и старую таблицу удаляем. Но ch продолжает читать из старой таблицы и блокирует drop table. Где можно посмотреть текущие блокировки (какие таблицы сейчас заблокированы и кем/чем)?
странно, drop table для Atomic должен быть не блокирующим... все дескрипторы 480 секунд доступны после DROP и ваш INSERT должен отработать https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#database_atomic_delay_before_drop_table_sec у вас там не DROP TABLE ... SYNC случайно?
блокировки смотреть негде ну разве что system.processes поглядеть глазами
У нас там не insert - а select. Да, действительно стоит sync. а если у нас чтение длится очень долго, например 3 часа (сложная витрина). То как поведет себя этот дроп тейбл без sync?
по идее ... сделает hardlinks на дропнутую таблицу... и потом через 480 секунд в фоне будет пытаться удалить данные физически... пока не удалит... только не помню с какими промежутками будет удалять... и будет ли что-то в логи писать о том что не могу удалить потому что заблокировано... но много раз в цикле не советую так делать... там непонятно как будет... и еще могут быть проблемы с Replicated движками... если у вас {uuid} нет в replication path
Обсуждают сегодня