-
Notifications
You must be signed in to change notification settings - Fork 409
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add mutable test stuff * Add docker compose for running tests * Move more mutable test stuff here * Adjust tics dockerfile * Advance docker tests * Update git ignore * Finish test script * Fix tty in docker compose run
- Loading branch information
1 parent
6250291
commit 736e072
Showing
1,952 changed files
with
59,555 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,12 @@ | ||
FROM ubuntu:17.10 | ||
|
||
RUN apt update && \ | ||
apt install -y tzdata | ||
apt install -y tzdata python | ||
|
||
COPY tics /tics | ||
|
||
WORKDIR /tics | ||
WORKDIR / | ||
|
||
ENV LD_LIBRARY_PATH /tics | ||
|
||
ENTRYPOINT ["./theflash", "server"] | ||
ENTRYPOINT ["/tics/theflash", "server"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#!/bin/bash | ||
|
||
# Executable path | ||
|
||
if [ `uname` == "Darwin" ]; then | ||
export storage_bin="../../build_clang/dbms/src/Server/theflash" | ||
else | ||
export storage_bin="../../build/dbms/src/Server/theflash" | ||
fi | ||
|
||
# Serve config for launching | ||
export storage_server_config="../../running/config/config.xml" | ||
|
||
# Server address for connecting | ||
export storage_server="127.0.0.1" | ||
|
||
# Default database for scripts | ||
export storage_db="default" | ||
|
||
# Setup running env vars | ||
source ../../_vars.sh | ||
setup_dylib_path |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/bin/bash | ||
|
||
# Executable path | ||
export storage_bin="/tics/theflash" | ||
|
||
# Server address for connecting | ||
export storage_server="127.0.0.1" | ||
|
||
# Default database for scripts | ||
export storage_db="default" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
<?xml version="1.0"?> | ||
<yandex> | ||
<application> | ||
<runAsDaemon>true</runAsDaemon> | ||
</application> | ||
|
||
<logger> | ||
<level>trace</level> | ||
<log>/log/server.log</log> | ||
<errorlog>/log/error.log</errorlog> | ||
<size>1000M</size> | ||
<count>10</count> | ||
<!-- <console>1</console> --> <!-- Default behavior is autodetection (log to console if not daemon mode and is tty) --> | ||
</logger> | ||
|
||
<display_name>the flash</display_name> | ||
|
||
<raft> | ||
<service_addr>0.0.0.0:3930</service_addr> | ||
<kvstore_path>/data/kvstore</kvstore_path> | ||
<!--pd_addr>127.0.0.1:2379</pd_addr--> | ||
</raft> | ||
|
||
<tidb> | ||
<service_ip>127.0.0.1</service_ip> | ||
<status_port>10080</status_port> | ||
</tidb> | ||
|
||
<http_port>8123</http_port> | ||
<tcp_port>9000</tcp_port> | ||
<interserver_http_port>9009</interserver_http_port> | ||
<!--listen_host>::1</listen_host--> | ||
<listen_host>0.0.0.0</listen_host> | ||
|
||
<!-- Don't exit if ipv6 or ipv4 unavailable, but listen_host with this protocol specified --> | ||
<!-- <listen_try>0</listen_try> --> | ||
|
||
<!-- Allow listen on same address:port --> | ||
<!-- <listen_reuse_port>0</listen_reuse_port> --> | ||
|
||
<!-- <listen_backlog>64</listen_backlog> --> | ||
|
||
<max_connections>4096</max_connections> | ||
<keep_alive_timeout>3</keep_alive_timeout> | ||
|
||
<!-- Maximum number of concurrent queries. --> | ||
<max_concurrent_queries>100</max_concurrent_queries> | ||
|
||
<!-- Set limit on number of open files (default: maximum). This setting makes sense on Mac OS X because getrlimit() fails to retrieve | ||
correct maximum value. --> | ||
<!-- <max_open_files>262144</max_open_files> --> | ||
|
||
<!-- Size of cache of uncompressed blocks of data, used in tables of MergeTree family. | ||
In bytes. Cache is single for server. Memory is allocated only on demand. | ||
Cache is used when 'use_uncompressed_cache' user setting turned on (off by default). | ||
Uncompressed cache is advantageous only for very short queries and in rare cases. | ||
--> | ||
<uncompressed_cache_size>8589934592</uncompressed_cache_size> | ||
|
||
<!-- Approximate size of mark cache, used in tables of MergeTree family. | ||
In bytes. Cache is single for server. Memory is allocated only on demand. | ||
You should not lower this value. | ||
--> | ||
<mark_cache_size>5368709120</mark_cache_size> | ||
|
||
<!-- Path of persisted mapping cache in fast(er) disk device. | ||
Empty means disabled. | ||
Seperated with ';' if there are more than one path. | ||
--> | ||
<persisted_mapping_cache_path></persisted_mapping_cache_path> | ||
<!-- Quota size in bytes of persisted mapping cache, in bytes. 0 means unlimited. --> | ||
<persisted_mapping_cache_size>0</persisted_mapping_cache_size> | ||
|
||
<!-- Path to data directory, with trailing slash. --> | ||
<path>/data/db</path> | ||
|
||
<!-- Path to temporary data for processing hard queries. --> | ||
<tmp_path>/data/tmp</tmp_path> | ||
|
||
<l0_optimize>false</l0_optimize> | ||
|
||
<!-- Path to configuration file with users, access rights, profiles of settings, quotas. --> | ||
<users_config>users.xml</users_config> | ||
|
||
<!-- Default profile of settings. --> | ||
<default_profile>default</default_profile> | ||
|
||
<!-- System profile of settings. This settings are used by internal processes (Buffer storage, Distibuted DDL worker and so on). --> | ||
<!-- <system_profile>default</system_profile> --> | ||
|
||
<!-- Default database. --> | ||
<default_database>default</default_database> | ||
|
||
<!-- Server time zone could be set here. | ||
Time zone is used when converting between String and DateTime types, | ||
when printing DateTime in text formats and parsing DateTime from text, | ||
it is used in date and time related functions, if specific time zone was not passed as an argument. | ||
Time zone is specified as identifier from IANA time zone database, like UTC or Africa/Abidjan. | ||
If not specified, system time zone at server startup is used. | ||
Please note, that server could display time zone alias instead of specified name. | ||
Example: W-SU is an alias for Europe/Moscow and Zulu is an alias for UTC. | ||
--> | ||
<!-- <timezone></timezone> --> | ||
|
||
<!-- You can specify umask here (see "man umask"). Server will apply it on startup. | ||
Number is always parsed as octal. Default umask is 027 (other users cannot read logs, data files, etc; group can only read). | ||
--> | ||
<!-- <umask>022</umask> --> | ||
|
||
<!-- Reloading interval for embedded dictionaries, in seconds. Default: 3600. --> | ||
<builtin_dictionaries_reload_interval>3600</builtin_dictionaries_reload_interval> | ||
|
||
<!-- Maximum session timeout, in seconds. Default: 3600. --> | ||
<max_session_timeout>3600</max_session_timeout> | ||
|
||
<!-- Default session timeout, in seconds. Default: 60. --> | ||
<default_session_timeout>600</default_session_timeout> | ||
|
||
<!-- Query log. Used only for queries with setting log_queries = 1. --> | ||
<query_log> | ||
<!-- What table to insert data. If table is not exist, it will be created. | ||
When query log structure is changed after system update, | ||
then old table will be renamed and new table will be created automatically. | ||
--> | ||
<database>system</database> | ||
<table>query_log</table> | ||
<!-- | ||
PARTITION BY expr https://clickhouse.yandex/docs/en/table_engines/custom_partitioning_key/ | ||
Example: | ||
event_date | ||
toMonday(event_date) | ||
toYYYYMM(event_date) | ||
toStartOfHour(event_time) | ||
--> | ||
<partition_by>toYYYYMM(event_date)</partition_by> | ||
<!-- Interval of flushing data. --> | ||
<flush_interval_milliseconds>7500</flush_interval_milliseconds> | ||
</query_log> | ||
|
||
<!-- Uncomment if use part_log | ||
<part_log> | ||
<database>system</database> | ||
<table>part_log</table> | ||
<flush_interval_milliseconds>7500</flush_interval_milliseconds> | ||
</part_log> | ||
--> | ||
|
||
<dictionaries_config>*_dictionary.xml</dictionaries_config> | ||
|
||
<!-- Uncomment if you want data to be compressed 30-100% better. | ||
Don't do that if you just started using ClickHouse. | ||
--> | ||
<compression> | ||
<!-- | ||
<!- - Set of variants. Checked in order. Last matching case wins. If nothing matches, lz4 will be used. - -> | ||
<case> | ||
<!- - Conditions. All must be satisfied. Some conditions may be omitted. - -> | ||
<min_part_size>10000000000</min_part_size> <!- - Min part size in bytes. - -> | ||
<min_part_size_ratio>0.01</min_part_size_ratio> <!- - Min size of part relative to whole table size. - -> | ||
<!- - What compression method to use. - -> | ||
<method>zstd</method> | ||
</case> | ||
--> | ||
</compression> | ||
|
||
<!-- Settings to fine tune MergeTree tables. See documentation in source code, in MergeTreeSettings.h --> | ||
<!-- | ||
<merge_tree> | ||
<max_suspicious_broken_parts>5</max_suspicious_broken_parts> | ||
</merge_tree> | ||
--> | ||
|
||
<!-- Protection from accidental DROP. | ||
If size of a MergeTree table is greater than max_table_size_to_drop (in bytes) than table could not be dropped with any DROP query. | ||
If you want do delete one table and don't want to restart clickhouse-server, you could create special file <clickhouse-path>/flags/force_drop_table and make DROP once. | ||
By default max_table_size_to_drop is 50GB, max_table_size_to_drop=0 allows to DROP any tables. | ||
Uncomment to disable protection. | ||
--> | ||
<max_table_size_to_drop>0</max_table_size_to_drop> | ||
</yandex> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
<?xml version="1.0"?> | ||
<yandex> | ||
<!-- Profiles of settings. --> | ||
<profiles> | ||
<!-- Default settings. --> | ||
<default> | ||
<!-- Maximum memory usage for processing single query, in bytes. --> | ||
<max_memory_usage>4000000000</max_memory_usage> | ||
|
||
<!-- Use cache of uncompressed blocks of data. Meaningful only for processing many of very short queries. --> | ||
<use_uncompressed_cache>0</use_uncompressed_cache> | ||
|
||
<!-- How to choose between replicas during distributed query processing. | ||
random - choose random replica from set of replicas with minimum number of errors | ||
nearest_hostname - from set of replicas with minimum number of errors, choose replica | ||
with minumum number of different symbols between replica's hostname and local hostname | ||
(Hamming distance). | ||
in_order - first live replica is choosen in specified order. | ||
--> | ||
<load_balancing>random</load_balancing> | ||
</default> | ||
|
||
<!-- Profile that allows only read queries. --> | ||
<readonly> | ||
<readonly>1</readonly> | ||
</readonly> | ||
</profiles> | ||
|
||
<!-- Users and ACL. --> | ||
<users> | ||
<!-- If user name was not specified, 'default' user is used. --> | ||
<default> | ||
<!-- Password could be specified in plaintext or in SHA256 (in hex format). | ||
If you want to specify password in plaintext (not recommended), place it in 'password' element. | ||
Example: <password>qwerty</password>. | ||
Password could be empty. | ||
If you want to specify SHA256, place it in 'password_sha256_hex' element. | ||
Example: <password_sha256_hex>65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5</password_sha256_hex> | ||
How to generate decent password: | ||
Execute: PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-' | ||
In first line will be password and in second - corresponding SHA256. | ||
--> | ||
<password></password> | ||
|
||
<!-- List of networks with open access. | ||
To open access from everywhere, specify: | ||
<ip>::/0</ip> | ||
To open access only from localhost, specify: | ||
<ip>::1</ip> | ||
<ip>127.0.0.1</ip> | ||
Each element of list has one of the following forms: | ||
<ip> IP-address or network mask. Examples: 213.180.204.3 or 10.0.0.1/8 or 2a02:6b8::3 or 2a02:6b8::3/64. | ||
<host> Hostname. Example: server01.yandex.ru. | ||
To check access, DNS query is performed, and all received addresses compared to peer address. | ||
<host_regexp> Regular expression for host names. Example, ^server\d\d-\d\d-\d\.yandex\.ru$ | ||
To check access, DNS PTR query is performed for peer address and then regexp is applied. | ||
Then, for result of PTR query, another DNS query is performed and all received addresses compared to peer address. | ||
Strongly recommended that regexp is ends with $ | ||
All results of DNS requests are cached till server restart. | ||
--> | ||
<networks> | ||
<ip>::/0</ip> | ||
</networks> | ||
|
||
<!-- Settings profile for user. --> | ||
<profile>default</profile> | ||
|
||
<!-- Quota for user. --> | ||
<quota>default</quota> | ||
</default> | ||
|
||
<!-- Example of user with readonly access. --> | ||
<readonly> | ||
<password></password> | ||
<networks> | ||
<ip>::1</ip> | ||
<ip>127.0.0.1</ip> | ||
</networks> | ||
<profile>readonly</profile> | ||
<quota>default</quota> | ||
</readonly> | ||
</users> | ||
|
||
<!-- Quotas. --> | ||
<quotas> | ||
<!-- Name of quota. --> | ||
<default> | ||
<!-- Limits for time interval. You could specify many intervals with different limits. --> | ||
<interval> | ||
<!-- Length of interval. --> | ||
<duration>3600</duration> | ||
|
||
<!-- No limits. Just calculate resource usage for time interval. --> | ||
<queries>0</queries> | ||
<errors>0</errors> | ||
<result_rows>0</result_rows> | ||
<read_rows>0</read_rows> | ||
<execution_time>0</execution_time> | ||
</interval> | ||
</default> | ||
</quotas> | ||
</yandex> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
version: '2.3' | ||
|
||
services: | ||
tics0: | ||
image: hub.pingcap.net/tiflash/tics:${TAG:-raft} | ||
ports: | ||
- "3930:3930" | ||
- "9000:9000" | ||
- "8123:8123" | ||
- "9009:9009" | ||
volumes: | ||
- ./config/config.xml:/config.xml:ro | ||
- ./config/users.xml:/users.xml:ro | ||
- ./data:/data | ||
- ./log:/log | ||
- ..:/tests | ||
- ./_env.sh:/tests/_env.sh | ||
command: | ||
- --config-file | ||
- /config.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash | ||
|
||
rm -rf ./data ./log | ||
|
||
docker-compose up -d | ||
|
||
docker-compose exec -T tics0 bash -c 'cd /tests ; ./run-test.sh mutable-test' | ||
|
||
docker-compose down |
Oops, something went wrong.