неколько раз и время от времени получаю такую ошибку:
                  
                  
                  
                  
                  
                  DB::Exception: Received from chi-cluster-0-1:9000. DB::Exception: Different expressions with the same alias _subquery46:
                  
                  
                  
                  
                  
                  
                  
                  
                  Сам запрос выглядит примерно как указано ниже: таблица TABLE_NAME содержит в себе ивенты и шардирована по нодам по хэшу device_id, я собираю идентфикаторы из локальных таблиц, а в финальном селекте использую Distributed таблицу:
                  
                  
                  with tmp_audience_1 as (
                  
                  
                          select
                  
                  
                              device_id
                  
                  
                          from table_name_local b
                  
                  
                          where ...
                  
                  
                          group by 1
                  
                  
                      ), tmp_audience_2 as (
                  
                  
                          select
                  
                  
                              device_id
                  
                  
                          from table_name_local b
                  
                  
                          where ...
                  
                  
                          group by 1
                  
                  
                      )
                  
                  
                      select  
                  
                  
                          geo_hash,
                  
                  
                          sum(cnt)
                  
                  
                      from table_name_distributed b      
                  
                  
                      where ...
                  
                  
                          and (
                  
                  
                                  device_id in (select device_id from tmp_audience_1) or
                  
                  
                                  device_id in (select device_id from tmp_audience_2) 
                  
                  
                              )
                  
                  
                      group by 1
                  
                  
                  
                  
                  
                  
                  
                  
                  Как избежать получение этой ошибки? Почему вообще она иногда возникает на одном и том же запросе?
                  
                  
                
версия clickhouse какая? EXPLAIN SYNTAX SELECT ... попробуйте посмотрите как ваш запрос переписывается попробуйте SETTINGS allow_experimental_analyzer=1 в конец еще поставить
 Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  версия Clickhouse: 23.3.1.2823 команда EXPLAIN SYNTAX SELECT показывает, что этим подзапросам даны разные алиасы: ifa IN (( │ │ SELECT device_ifa │ │ FROM │ │ tmp_audience_1 │ │ ) AS _subquery103)) OR (device_ifa IN (( │ │ SELECT device_ifa │ │ FROM │ │ tmp_audience_2 │ │ ) AS _subquery104))) Settings попробую!
 Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  С этим SETTINGS запроса падает с ошибкой Code: 60. DB::Exception: Received from ch-.dev.net:9000. DB::Exception: Received from chi-cluster-2-0:9000. DB::Exception: Unknown table expression identifier 'tmp_audience_1' in scope (SELECT device_id AS device_id FROM tmp_audience_1). (UNKNOWN_TABLE)
а EPLAIN SYNTAX такойже с этим SETTINGS ?
 Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  да, все одинаково, разница лишь в выводимых именах алиасов + в одном случае есть SETTINGS в конце запроса
можно еще в clickhouse-client SET allow_experimental_analyzer=1; в сессию поставить расшарьте через pastila.nl весь запрос и все что через EXLAIN SYNTAX получилось
 Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  отправил личным сообщением
У вас разные версии кх на нодах? Проверьте что все ноды проапгрейжены
 Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  на всех репликах одинаковая версия
 на всех репликах одинаковая версия
                      
                      на всех репликах одинаковая версия
                    Может ошибка иногда если вы подключаетесь к определенной ноде?
 Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  как это выловить?
Имя ноды в ошибке одинаковое?
Обсуждают сегодня