Open sablastik opened 1 year ago
@sablastik what version of the ODBC driver do you use?
@mshustov Hi!
Have the same problem with the next version 1.2.1.20220905
facing same issue with Power BI. Any update on this issue?
@kumarprafful, do you use https://github.com/ClickHouse/power-bi-clickhouse? Would you mind opening an issue at https://github.com/ClickHouse/power-bi-clickhouse?
no i am not using the power-bi-clickhouse. I am using clickhouse-odbc itself for the connection
Code: 373. DB::Exception: Session clickhouse_odbc_11645998850861136856 is locked by a concurrent client. (SESSION_IS_LOCKED) (version 24.7.1.2195 (official build))
Открываем первый stmt с длинной выборкой (16 тыс записей). Выполняеи толко один fetch. Открываем второй stmt с такой же выборкой и получаем вот эту ошибку. Вероятно происходит следующее: сервер начинает обработку запроса и выбирает некое количество данных однако не все. Запоминает что в данной сессии не все было выбрано. Потом происходит другой запрос в той же сессии, но первый еще не завершен до конца. Возникает ошибка. Вероятно драйверу нужно дочитывать все данные до конца. Возможно в момент запуска второго запроса по тому же соединению.
лог сервера log.zip
Еще можно для каждого stmt открывать новую сессию, если не до конца получены данные в предыдущих. Все это конечно при условии что мое предположение верно - сервер так ведет себя по причине незавершения обработки данных. Могут быть также проблемы с синхронизацией на сервере. Несколько нитей выполняют запрос. Они уже отослали все данные клиенту, он их обработал и послал новый запрос. А предыдущий запрос еще выполняется. Второй вариант тоже не исключен. Запуск производился на локальной машине.
Получили идентичную проблему, но уже с Форсайт.
@SamRozhkov could you test this version? https://github.com/ClickHouse/clickhouse-odbc/releases/tag/v1.3.0.20241018
@mshustov It is not possible to build under AstraLinux. Is there any other way to solve this problem?
При работе в режиме Live-подключения (запросы к КХ генерит сам табло сервер) иногда сталкиваемся с ошибкой: Code: 373. DB::Exception: Session is locked by a concurrent client. (SESSION_IS_LOCKED) (version 23.3.2.37 (official build))
Помогает обновление страницы, т.е. сессия протухает и потом запрос таки выполнятеся. Для JDBC-драйвера в Tableau есть прям отдельная галочка Set Session ID.
Возможно ли каким-то образом также задавать уникальный Session ID при использовании ODBC-драйвера?