The test is a stress test which queries all system tables in parallel.
System table SYSTEM.MODELS is now populated using the library-bridge.
This made the test fail with error:
2022-09-12 23:51:34 Code: 410. DB::Exception: Received from localhost:9000. DB::Exception: BridgeHelper: clickhouse-library-bridge is not responding. (EXTERNAL_SERVER_IS_NOT_RESPONDING)
2022-09-12 23:51:34 (query: SELECT * FROM system.models LIMIT 10000 FORMAT Null)
Looking at the logs, the server tried to start the library-bridge when
querying SYSTEM.MODELS but multiple handshake attempts failed.
So (most likely) the infrastructure is slow or (unlikely) there are
settings in CI (e.g. a firewall) preventing communication with the
bridge. Because 1. other system tables are also excluded (zookeeper,
merge_tree_metadata_cache), 2. SYSTEM.MODELS is tested in integration
test "test_catboost_evaluate" and 3. the test runs locally just fine, I
am excluding SYSTEM.MODELS from it.
This is like Alt-# in readline, it is useful when you need to look
something else, and need to save current query/command somewhere, and
commented lin the history is a good option.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
- This commit restores statements "SYSTEM RELOAD MODEL(S)" which provide
a mechanism to update a model explicitly. It also saves potentially
unnecessary reloads of a model from disk after it's initial load.
To keep the complexity low, the semantics of "SYSTEM RELOAD MODEL(S)
was changed from eager to lazy. This means that both statements
previously immedately reloaded the specified/all models, whereas now
the statements only trigger an unload and the first call to
catboostEvaluate() does the actual load.
- Monitoring view SYSTEM.MODELS is also restored but with some obsolete
fields removed. The view was not documented in the past and for now it
remains undocumented. The commit is thus not considered a breach of
ClickHouse's public interface.
This has been implemented by simply restarting http servers in case of
http_handlers directive in configuration xml had been changed.
But, for this I have to change the handlers interface to accept
configuration separatelly, since the configuration that contains in the
server is the configuration with which server had been started.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
Co-authored-by: Antonio Andelic