kssenii
f0be5c6938
Fix style, build, ya check
2021-04-09 08:07:56 +00:00
kssenii
3e41c82df1
Add mutex to tryGetTable only for materialized table (not nested)
2021-04-08 23:38:27 +00:00
kssenii
bd207daa74
Use only atomic database
2021-04-08 22:38:46 +00:00
kssenii
4482a35a3a
Check table in a suggested way
2021-04-08 20:39:16 +00:00
kssenii
8586565ce9
Move connection-related filed to Core/PostgreSQL
2021-04-08 12:43:02 +00:00
kssenii
9fa21a6272
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into pg-ch-replica
2021-04-08 12:18:54 +00:00
Azat Khuzhin
f157278b72
Safer SCOPE_EXIT
...
It executes the code in the dtor, that should never throw.
2021-04-06 21:10:37 +03:00
Kseniia Sumarokova
ad85467128
Merge pull request #22668 from kssenii/postgres-add-bool
...
Add bool type in postgres engine
2021-04-06 13:29:33 +03:00
kssenii
cc2fdc6c62
Add bool type
2021-04-05 14:49:52 +00:00
kssenii
13d1f17d3e
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into replicas-shards-for-mysql-and-postgres
2021-04-03 08:00:09 +00:00
kssenii
2de6b99f84
Better names
2021-04-02 16:12:14 +00:00
kssenii
99f0b08ac3
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into replicas-shards-for-mysql-and-postgres
2021-04-01 13:48:33 +00:00
kssenii
522d170588
Add default port
2021-04-01 11:30:20 +00:00
kssenii
747967a9bb
Better
2021-04-01 10:27:24 +00:00
kssenii
ba5ddd5c32
Do not parse replicas in PoolWithFailover
2021-03-31 14:03:52 +00:00
Maksim Kita
55984e849c
Merge branch 'master' into hierarchy-dictionaries-updated
2021-03-31 15:55:07 +03:00
kssenii
ce05087b1b
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into replicas-shards-for-mysql-and-postgres
2021-03-30 17:27:10 +00:00
Alexander Tokmakov
a5b07f2f03
Merge branch 'master' into test_multiple_nodes
2021-03-29 22:43:25 +03:00
tavplubix
3c0f5a57ec
Merge pull request #21535 from ClickHouse/distributed_ddl_improvements
...
Distributed DDL improvements
2021-03-29 22:40:11 +03:00
tavplubix
e3cf2d99b7
Update DatabaseReplicated.cpp
2021-03-29 16:44:41 +03:00
kssenii
22b515fbc9
Add namespace, simplify names
2021-03-27 20:14:02 +00:00
kssenii
f40c582e7a
Replicas/shards for postgres storage
2021-03-27 20:11:48 +00:00
kssenii
ae868208c2
Use pool with failover in mysql storage
2021-03-27 14:39:45 +00:00
Maksim Kita
9f2f0d1095
Refactored hierarchy dictionaries interface
2021-03-26 18:42:32 +03:00
tavplubix
5dfd0045a6
Merge branch 'master' into distributed_ddl_improvements
2021-03-22 18:13:19 +03:00
kssenii
ed158e2b77
Proper setting
2021-03-20 14:42:03 +00:00
kssenii
4c37ff3fbc
Less lambdas
2021-03-20 13:17:30 +00:00
kssenii
91b79f95bc
Better templates
2021-03-20 12:24:35 +00:00
kssenii
caffccd73e
Fixes
2021-03-20 11:53:41 +00:00
kssenii
6bb81630e5
Small fixes
2021-03-20 10:32:11 +00:00
kssenii
619f0f51fd
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into pg-ch-replica
2021-03-20 09:47:05 +00:00
kssenii
3b32c8fe9a
Block on empty connection pool
2021-03-19 21:00:45 +00:00
kssenii
9057aad798
Better version
2021-03-19 08:11:36 +00:00
kssenii
f1ef87d966
Fix
2021-03-18 20:04:54 +00:00
Alexander Tokmakov
ce31d4608b
fix tests
2021-03-18 22:13:21 +03:00
Alexander Tokmakov
343b8c906d
Merge branch 'master' into test_multiple_nodes
2021-03-18 16:01:04 +03:00
Alexander Tokmakov
fdae70df6c
fix tests
2021-03-18 15:50:03 +03:00
kssenii
3903d59d30
Better
2021-03-17 14:34:04 +00:00
kssenii
ae64a24844
Add connection pool
2021-03-17 13:55:47 +00:00
Nikita Mikhaylov
f51b41b7a4
Merge pull request #21710 from kssenii/replica-priorities
...
Support replicas priority for postgres dictionary source
2021-03-17 16:02:00 +03:00
kssenii
87c740730b
Rename to MaterializePostgreSQL
2021-03-17 10:52:12 +00:00
Alexander Tokmakov
ff79be8af9
fix
2021-03-16 23:01:20 +03:00
kssenii
f8a99804c1
Add double quotes
2021-03-16 11:15:43 +00:00
kssenii
a03e849a8f
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into pg-ch-replica
2021-03-16 10:06:10 +00:00
tavplubix
6a265f468e
Merge branch 'master' into distributed_ddl_improvements
2021-03-15 11:24:14 +03:00
tavplubix
6ff8f468f6
Update DatabaseReplicated.cpp
2021-03-15 11:22:42 +03:00
kssenii
8eea6a87e9
Support replicas priority for postgres dictionary source
2021-03-14 08:51:24 +00:00
tavplubix
26ebd54eaf
Merge pull request #20961 from havardk/reconnect
...
MaterializeMySQL: Attempt to reconnect to MySQL if the connection is lost
2021-03-10 20:07:11 +03:00
Alexander Tokmakov
ba3d51383c
fix
2021-03-10 00:41:04 +03:00
tavplubix
5a6cc876e4
Merge pull request #20626 from ClickHouse/fix_force_drop_materialized_view
...
Make force_drop_table work with MaterializedView
2021-03-09 20:05:51 +03:00
Alexander Tokmakov
83b3e4e0f5
allow to use Cluster from Replicated db
2021-03-09 20:05:24 +03:00
Alexander Tokmakov
00b939e5a3
fix
2021-03-09 13:24:08 +03:00
Alexander Tokmakov
5c5d11cfce
enable some tests
2021-03-09 03:48:37 +03:00
Alexander Tokmakov
163e27b299
support query and session settings for distributed DDL
2021-03-09 01:57:53 +03:00
Alexander Tokmakov
5070b5b85b
detach permanently setting for Replicated db
2021-03-09 00:34:52 +03:00
Alexander Tokmakov
2022b90919
configurable output mode for distributed DDL
2021-03-08 23:35:09 +03:00
Alexander Tokmakov
2484781070
fix MV recovery in Replicated db
2021-03-08 20:26:38 +03:00
Alexander Tokmakov
e8987f799e
Merge branch 'fix_force_drop_materialized_view' into just_another_fix_for_ddl_worker
2021-03-05 15:59:27 +03:00
Haavard Kvaalen
641b1b249e
Attempt to reconnect to MySQL
...
For MaterializeMySQL databases, attempt to reconnect if the connection
to MySQL is lost. The existing setting
`max_wait_time_when_mysql_unavailable` is used to control how often we
attempt to reconnect. This setting can now be set to a negative value
to disable reconnects.
2021-03-04 08:49:06 +01:00
Haavard Kvaalen
8e95d6e174
Add method to metadata class to start replication
...
Previously this was done by the constructor. This makes it
possible to restart replication with an existing metadata object.
2021-03-04 08:49:06 +01:00
Haavard Kvaalen
e6711675a1
Make handling of unavailable MySQL consistent
...
If MySQL was unavailable when loading an existing database on startup,
we would previously load the database, fail to start synchronization,
but allow queries to the database. Change this to only allow queries
if the `allows_queries_when_mysql_lost` setting is on, so that the
behavior is consistent with what happens if the connection to MySQL is
lost while ClickHouse is running.
Also retry connection to MySQL if MySQL is unavailable when ClickHouse
is started (we would previously reconnect only if the connection was
lost during the initial dump of existing data).
2021-03-04 08:49:06 +01:00
kssenii
a3c7402200
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into pg-ch-replica
2021-03-02 07:07:56 +00:00
tavplubix
10aa26576c
Update DatabaseReplicatedWorker.cpp
2021-03-01 17:11:45 +03:00
Azat Khuzhin
955974a8b5
DDLWorker: avoid NULL dereference on termination and failed zookeeper initialization
...
Log snipped shows the problem:
2021.02.24 04:40:29.349181 [ 39 ] {} <Warning> DDLWorker: DDLWorker is configured to use multiple threads. It's not recommended because queries can be reordered. Also it may cause some unknown issues to appear.
2021.02.24 04:40:29.349516 [ 39 ] {} <Information> Application: Ready for connections.
2021.02.24 04:40:29.349602 [ 74 ] {} <Debug> DDLWorker: Started DDLWorker cleanup thread
2021.02.24 04:40:29.349639 [ 73 ] {} <Debug> DDLWorker: Starting DDLWorker thread
2021.02.24 04:40:29.349698 [ 73 ] {} <Debug> DDLWorker: Started DDLWorker thread
2021.02.24 04:40:29.352548 [ 73 ] {} <Error> virtual void DB::DDLWorker::initializeMainThread(): Code: 999, e.displayText() = Coordination::Exception: All connection tries failed while connecting to ZooKeeper. nodes: 192.168.112.3:2181
Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused (version 21.3.1.1), 192.168.112.3:2181
Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused (version 21.3.1.1), 192.168.112.3:2181
Poco::Exception. Code: 1000, e.code() = 111, e.displayText() = Connection refused (version 21.3.1.1), 192.168.112.3:2181
(Connection loss), Stack trace (when copying this message, always include the lines below):
0. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Coordination::Error, int) @ 0xfe93923 in /usr/bin/clickhouse
1. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Coordination::Error) @ 0xfe93ba2 in /usr/bin/clickhouse
2. Coordination::ZooKeeper::connect(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, Poco::Timespan) @ 0xfed3a01 in /usr/bin/clickhouse
3. Coordination::ZooKeeper::ZooKeeper(std::__1::vector<Coordination::ZooKeeper::Node, std::__1::allocator<Coordination::ZooKeeper::Node> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Timespan, Poco::Timespan, Poco::Timespan) @ 0xfed2222 in /usr/bin/clickhouse
4. zkutil::ZooKeeper::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xfe961cd in /usr/bin/clickhouse
5. zkutil::ZooKeeper::ZooKeeper(Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xfe97a96 in /usr/bin/clickhouse
6. void std::__1::allocator_traits<std::__1::allocator<zkutil::ZooKeeper> >::__construct<zkutil::ZooKeeper, Poco::Util::AbstractConfiguration const&, char const (&) [10]>(std::__1::integral_constant<bool, true>, std::__1::allocator<zkutil::ZooKeeper>&, zkutil::ZooKeeper*, Poco::Util::AbstractConfiguration const&, char const (&) [10]) @ 0xed98387 in /usr/bin/clickhouse
7. DB::Context::getZooKeeper() const @ 0xed75190 in /usr/bin/clickhouse
8. DB::DDLWorker::getAndSetZooKeeper() @ 0xedb81c9 in /usr/bin/clickhouse
9. DB::DDLWorker::initializeMainThread() @ 0xedc9eb0 in /usr/bin/clickhouse
10. DB::DDLWorker::runMainThread() @ 0xedb5d01 in /usr/bin/clickhouse
11. ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::DDLWorker::*)(), DB::DDLWorker*>(void (DB::DDLWorker::*&&)(), DB::DDLWorker*&&)::'lambda'()::operator()() @ 0xedcafa1 in /usr/bin/clickhouse
12. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x892651f in /usr/bin/clickhouse
13. ? @ 0x8929fb3 in /usr/bin/clickhouse
14. start_thread @ 0x8ea7 in /lib/x86_64-linux-gnu/libpthread-2.31.so
15. __clone @ 0xfddef in /lib/x86_64-linux-gnu/libc-2.31.so
(version 21.3.1.1)
...
2021.02.24 04:40:30.025278 [ 41 ] {} <Trace> BaseDaemon: Received signal 15
2021.02.24 04:40:30.025336 [ 41 ] {} <Information> Application: Received termination signal (Terminated)
...
2021.02.24 04:40:30.582078 [ 39 ] {} <Information> Application: Closed all listening sockets.
2021.02.24 04:40:30.582124 [ 39 ] {} <Information> Application: Closed connections.
2021.02.24 04:40:30.583770 [ 39 ] {} <Information> Application: Shutting down storages.
2021.02.24 04:40:30.583932 [ 39 ] {} <Information> Context: Shutdown disk data
2021.02.24 04:40:30.583951 [ 39 ] {} <Information> Context: Shutdown disk default
2021.02.24 04:40:30.584163 [ 46 ] {} <Trace> SystemLog (system.query_log): Terminating
2021.02.24 04:40:30.586025 [ 39 ] {} <Trace> BackgroundSchedulePool/BgSchPool: Waiting for threads to finish.
2021.02.24 04:40:34.352701 [ 73 ] {} <Debug> DDLWorker: Initialized DDLWorker thread
2021.02.24 04:40:34.352758 [ 73 ] {} <Debug> DDLWorker: Scheduling tasks
2021-02-28 05:45:12 +03:00
kssenii
6554965711
Fix build
2021-02-23 10:46:41 +00:00
Kseniia Sumarokova
bf88d693d5
Update fetchPostgreSQLTableStructure.cpp
2021-02-23 11:59:38 +03:00
Kseniia Sumarokova
6c5781cf34
Update fetchPostgreSQLTableStructure.cpp
2021-02-23 11:48:51 +03:00
Kseniia Sumarokova
b2850ec94f
Merge branch 'master' into fix-postgres-numeric
2021-02-23 11:40:28 +03:00
kssenii
4cdb55babe
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into pg-ch-replica
2021-02-22 12:39:35 +00:00
kssenii
ace76bb7fa
Better, remove debug logs
2021-02-22 12:35:53 +00:00
kssenii
8a48bb24ce
Fix typos, comments
2021-02-21 23:13:58 +00:00
kssenii
427aad80a1
Avoid table does not exist errors if nested is unavailable
2021-02-21 11:48:13 +00:00
tavplubix
aa48d967b7
Update DatabaseAtomic.cpp
2021-02-21 01:13:14 +03:00
kssenii
d590c32708
Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into pg-ch-replica
2021-02-20 18:31:26 +00:00
Alexey Milovidov
64e76a4a8d
Minor changes in Decimal
2021-02-20 21:13:36 +03:00
tavplubix
103d569885
Merge branch 'master' into fix_force_drop_materialized_view
2021-02-20 20:41:03 +03:00
kssenii
0424770f68
Handle ddl part 1
2021-02-20 16:21:53 +00:00
Alexander Tokmakov
863c099254
fix
2021-02-20 15:57:07 +03:00
kssenii
a38a31c954
Fix typos check
2021-02-20 09:58:24 +00:00
kssenii
f820047cc8
Fix
2021-02-20 06:52:10 +00:00
Alexander Tokmakov
2a36d6cb55
review suggestions
2021-02-20 02:41:58 +03:00
kssenii
3107f82a3b
Fix clang tidy
2021-02-18 18:25:49 +00:00
kssenii
2aad067e7c
Support conversion for postgres numeric without precision and scale
2021-02-18 12:16:58 +00:00
kssenii
1480e95179
Fix build, fix arcadia
2021-02-18 06:06:37 +00:00
Alexander Tokmakov
13ae988eff
make force_drop_table work with materialized view
2021-02-17 17:23:07 +03:00
Alexander Tokmakov
7b54b892b5
fix
2021-02-16 17:05:58 +03:00
kssenii
272431bcae
Fix types check, better tests, try fix build
2021-02-15 23:18:53 +00:00
Alexander Tokmakov
bf6f64a3fb
Merge branch 'master' into database_replicated
2021-02-16 01:28:19 +03:00
Alexander Tokmakov
cf57c3b4a2
update comments
2021-02-15 23:01:21 +03:00
Alexander Tokmakov
9c7cf9e92e
remove some debug code
2021-02-15 13:26:34 +03:00
Alexander Tokmakov
320fd6b264
startup without zk
2021-02-15 03:04:46 +03:00
kssenii
95c93aca41
Better table sync
2021-02-13 21:03:25 +00:00
kssenii
44f4f1a412
Allow to replicate a subset of database tables
2021-02-13 20:09:01 +00:00
kssenii
219dece1d0
Slightly better
2021-02-12 21:15:00 +00:00
kssenii
5bc0010f94
Better
2021-02-12 21:14:36 +00:00
kssenii
ed6d19b8a6
Add PostgreSQLReplica database engine
2021-02-12 21:14:24 +00:00
Alexander Tokmakov
f64f9b672b
fix
2021-02-12 19:22:01 +03:00
Alexander Tokmakov
c9cf63e958
fix
2021-02-12 01:23:40 +03:00
Alexander Tokmakov
9afb16759e
fix
2021-02-11 18:14:38 +03:00
Alexander Tokmakov
15256d86e5
better replica recovery and queue cleanup
2021-02-10 23:30:40 +03:00
Alexander Tokmakov
2c6a0e74fb
better replica creation
2021-02-09 18:14:20 +03:00
Alexander Tokmakov
78c1d69b8c
better code
2021-02-08 22:36:17 +03:00
Alexander Tokmakov
91d0924665
write dictionaries metadata to zk
2021-02-08 12:46:30 +03:00
Alexander Tokmakov
7ce0ef2561
show clusters for replicated db
2021-02-08 12:14:17 +03:00
Alexander Tokmakov
18f6b5bbad
add timeouts
2021-02-04 22:41:44 +03:00
Alexander Tokmakov
066fb4c82b
fix
2021-02-03 23:02:37 +03:00
Alexander Tokmakov
d010f97db0
Merge branch 'master' into database_replicated
2021-02-03 20:13:25 +03:00
Alexander Tokmakov
6456ccf0da
better test
2021-02-02 22:39:04 +03:00
Alexander Tokmakov
0073c87d5d
fix
2021-02-02 13:32:42 +03:00
Alexander Tokmakov
9da445e740
execute initial query in the same thread
2021-02-01 22:29:47 +03:00
Vitaly Baranov
7c8deae0e1
Fix starting the server with tables having columns' default expressions containing dictGet().
...
Allow getting return type of dictGet() without loading dictionary.
2021-01-30 19:06:48 +03:00
Alexander Tokmakov
f20d5e3b41
fix
2021-01-26 20:51:25 +03:00
Alexander Tokmakov
3bd4d97353
Merge branch 'master' into database_replicated
2021-01-25 14:19:04 +03:00
tavplubix
4be33e81ee
Merge pull request #19344 from zhang2014/patch-2
...
ISSUES-18684 fix MaterializeMySQL integration test failure
2021-01-25 12:46:53 +03:00
zhang2014
4593ca80ff
ISSUES-18684 fix MaterializeMySQL integration failure
2021-01-24 15:50:37 +08:00
kssenii
a98c6d333c
Make sure not to log non-existent objects
2021-01-23 12:05:37 +00:00
kssenii
daab2c91bb
Better
2021-01-21 21:15:11 +00:00
kssenii
c1702f34ee
Add factories info into system.query_log
2021-01-21 15:46:37 +00:00
Alexander Tokmakov
7f97a11c84
Merge branch 'master' into database_replicated
2021-01-18 17:09:39 +03:00
tavplubix
071a6aeb4d
trigger CI
2021-01-18 16:53:33 +03:00
TCeason
a3cc6707b4
add MySQL Var check
...
add MySQL var check: log_bin_use_v1_row_events=OFF
2021-01-17 17:50:35 +08:00
kssenii
2222741e33
Fix style check
2021-01-16 09:17:04 +00:00
Alexey Milovidov
45380d45c8
Fix potential (safe) SQL-injection
2021-01-16 11:15:43 +03:00
kssenii
11ffa6293d
Fix integration tests
2021-01-16 08:04:24 +00:00
Alexey Milovidov
593b6f5c83
Add assert
2021-01-16 00:25:58 +03:00
Alexey Milovidov
67f207d8ca
More safe connection string
2021-01-16 00:18:51 +03:00
Alexey Milovidov
ef319bfa75
Slightly better
2021-01-15 23:33:04 +03:00
Alexey Milovidov
c16ecb0bdd
It feels more correct
2021-01-15 23:18:55 +03:00
Alexey Milovidov
b1b09ed5ae
Fix SQL injection
2021-01-15 23:14:51 +03:00
Alexey Milovidov
52cfc1d110
Minor changes
2021-01-15 23:09:31 +03:00
Alexey Milovidov
ba1921f380
Minor changes
2021-01-15 22:59:49 +03:00
Alexey Milovidov
a19e7edd14
Merge branch 'master' into kssenii-pg2ch
2021-01-15 17:33:19 +03:00
kssenii
38a9cba850
Fix
2021-01-11 10:55:38 +00:00
kssenii
c6c6b2d23c
Fix style and types check
2021-01-10 13:01:15 +00:00
kssenii
d952b0897e
Minor adjustments
2021-01-10 12:06:18 +00:00
kssenii
fc9de76f7d
Fix incorrect getCreateTableQueryImpl with multidim arrays
2021-01-10 09:00:35 +00:00
Alexey Milovidov
76149947ef
Remove useless headers
2021-01-10 05:48:57 +03:00
kssenii
0088d66d59
Hopefully better array conversions for insert query
2021-01-09 22:42:42 +00:00
Alexey Milovidov
8af19c3251
Fix Arcadia
2021-01-07 15:29:02 +03:00
Alexey Milovidov
60d4db421c
Fix Arcadia
2021-01-07 06:45:12 +03:00
alexey-milovidov
72b142a00a
Merge branch 'master' into pg2ch
2021-01-06 23:18:59 +03:00
kssenii
e100aec086
Fix typos check
2020-12-31 11:15:05 +00:00
kssenii
62b06de97e
Try fix build
2020-12-30 16:00:05 +00:00
spongedc
494c9ac809
Merge remote-tracking branch 'origin/master' into support_show_create_view
2020-12-29 10:20:06 +08:00
kssenii
fa3297bf72
Fix build, update libpq
2020-12-28 19:16:10 +00:00
kssenii
9b25890674
Generate ya.make, fix fast test
2020-12-28 12:54:52 +00:00
kssenii
8f8920a7ee
Add table cache, better drop table
2020-12-27 15:52:15 +00:00
kssenii
00a37404ca
Add postgresql database engine
2020-12-27 12:26:29 +00:00
Alexander Tokmakov
42911e2438
implement CREATE OR REPLACE TABLE
2020-12-25 19:32:09 +03:00
Yatsishin Ilya
ce1e2b18a3
Fix codespell warnings. Split style checks. Update style checks docker
2020-12-24 13:17:52 +03:00