Andrey
0bf792c4af
Add server_login_retry timeout
2020-01-23 11:35:47 +05:00
Andrey Borodin
eb7299748d
Implement login timeout
2019-12-02 18:28:39 +05:00
Andrey Borodin
298cdca895
Implement client_max_routing ( #72 )
2019-10-15 17:15:37 +03:00
Dmitry Simonenko
6c0a1f09f8
odyssey: major rework of io architecture
...
This patch intend is to improve overall io performance, reduce
cpu and system usage.
Machinarium:
IO read/write logic is highly simplified and now based on conditions
instead of previously made internal readahead buffer and msg
queues. This allows to give user more control over io operations and
avoid doing undesired readahead copying.
Above that, TLS implementation reworked to use async logic instead of
separate BIO layer.
Direct pooling functions removed.
New objects machine_cond_t and machine_iov_t objects.
Odyssey:
Introduced readahead, io and relay objects.
Relay allows to connect two io handles for direct data retransmission
without double copying.
Removed configuration options no longer needed:
packet_read_size, packet_write_queue
2019-01-23 18:43:52 +03:00
Dmitry Simonenko
2e03af9c88
odyssey: major router and shared logic rework
...
Goal is to improve overall performance during massive peaks
of connecting clients.
This patch makes router a shared structure, instead of
being run in separate system worker thread/coroutine.
Now router and each route object is protected by
separate mutex. Worker threads directly access router object
without calls to separate thread.
2018-12-06 17:23:15 +03:00
Dmitry Simonenko
dc3ae5ca2e
odyssey: allow to set process/workers priority
2018-11-14 16:14:13 +03:00
Dmitry Simonenko
2d4f61f923
odyssey: introduce packet_write_queue
2018-11-13 18:29:25 +03:00
Dmitry Simonenko
fbc037aa23
odyssey: implement packet retransmission in chunks; packet_read_size
2018-10-23 16:51:30 +03:00
Dmitry Simonenko
14d4a7f478
odyssey: add cache_msg_gc_size option and disable default caching
2018-09-26 18:18:17 +03:00
Dmitry Simonenko
a790378ddb
odyssey: force obsolete clients to disconnect on reload
2018-09-19 13:45:10 +03:00
Dmitry Simonenko
b2c07003f1
odyssey: implement config merge method
2018-09-18 18:54:34 +03:00
Dmitry Simonenko
3079cb2636
odyssey: remove route config version id and use obsolete flag only
2018-09-18 18:26:25 +03:00
Dmitry Simonenko
6f6df24ab1
odyssey: add route obsolete
2018-09-18 18:17:04 +03:00
Dmitry Simonenko
be65c36a37
odyssey: add storage and route config comparison logic
2018-09-18 17:36:20 +03:00
Dmitry Simonenko
de824a3373
odyssey: implement msg_cache gc for oversized msgs
2018-09-05 16:04:36 +03:00
Dmitry Simonenko
da7e6ea7a5
odyssey: major io rework and refactoring
...
This patch moves Odyssey from stream based write caching
to message driven. All write operations are delayed
and happen on a group of messages.
This removes necessity to do IO and wait for write completion during calls
from SSL_write() context. Write timings should behave more predictable now and
number of used syscalls should be also decreased.
This patch also simplifies caching management. All clients are simply
reusing cached messages without prolonged contention.
Several configuration options are no longer used:
pipeline, cache, cache_chunk
2018-08-28 17:43:46 +03:00
Dmitry Simonenko
17dea01e1d
odyssey: fix config error message
2018-08-08 16:27:25 +03:00
Dmitry Simonenko
c495b9ea8a
odyssey: add unix_socket_mode configuration param
2018-07-03 16:02:46 +03:00
Dmitry Simonenko
fb023d42cb
odyssey: add unix socket support. fix #31
2018-07-02 18:41:17 +03:00
Dmitry Simonenko
ae0aed8a55
odyssey: do not force to have default database and user. #19
2018-06-08 18:28:07 +03:00
Dmitry Simonenko
f67e0b80cc
odyssey: properly validate coroutine_stack_size
2018-06-05 13:02:58 +03:00
Dmitry Simonenko
cf3e99ecca
odyssey: implement coroutine_stack_size config param. #9
2018-06-04 14:51:13 +03:00
Dmitry Simonenko
f5a4bd9a35
odyssey: support configurable list of common names to check
2018-05-10 15:49:31 +03:00
Dmitry Simonenko
a907873715
odyssey: implement authenitcation "cert"
2018-04-26 16:02:18 +03:00
Dmitry Simonenko
5ca3fa926a
odyssey: update source file headers
2018-04-04 16:19:58 +03:00
Dmitry Simonenko
38430a9d51
odyssey: remove config versioning
2018-03-21 17:36:57 +03:00
Dmitry Simonenko
3e88652ca0
odyssey: disable cache_chunk by default
2018-03-16 17:06:48 +03:00
Dmitry Simonenko
f108dcba09
odyssey: project rename
2018-03-12 17:03:15 +03:00
Dmitry Simonenko
bb826db7e8
odissey: major scheme rework, rename it to config
2018-03-06 18:23:52 +03:00
Dmitry Simonenko
4df9f8e760
odissey: move config to config_reader
2018-03-05 17:24:30 +03:00
Dmitry Simonenko
bb34b84101
odissey: add pipeline configuration
2018-02-27 18:38:53 +03:00
Dmitry Simonenko
b208a77954
odissey: allow to configure coroutine cache size
2018-02-26 17:34:06 +03:00
Dmitry Simonenko
db109ca7db
odissey: allow to configure number of resolvers threads
2018-02-26 17:29:10 +03:00
Dmitry Simonenko
9f505cb2c7
odissey: add cache and cache_chunk configuration options
2018-02-14 14:55:38 +03:00
Dmitry Simonenko
0b1f23014e
odissey: remove pipelining tweak
2017-12-08 18:39:45 +03:00
Dmitry Simonenko
efe40e93e8
odissey: remove pool_discard tweak
2017-12-08 17:46:14 +03:00
Dmitry Simonenko
0e46fffd92
odissey: add log_debug settings per route
2017-12-05 15:32:08 +03:00
Dmitry Simonenko
7991ee0fb0
odissey: use copy safe od_snprintf() implementation
2017-11-27 15:54:16 +03:00
Dmitry Simonenko
220c211387
odissey: add log_query on/off configuration tweak
2017-10-26 15:54:32 +03:00
Dmitry Simonenko
8d607df67d
odissey: major rework of parameter status update logic
2017-10-07 15:30:00 +03:00
Dmitry Simonenko
f3dba52bf3
odissey: add auth_query config options
2017-09-25 17:10:44 +03:00
Dmitry Simonenko
7e217b3b5a
odissey: major logging rework (introduce log format)
2017-09-21 16:44:19 +03:00
Dmitry Simonenko
2f5b3de41e
odissey: add log_ prefix to syslog config options
2017-09-18 16:14:52 +03:00
Dmitry Simonenko
f2aa854450
odissey: use error object instead of logger for config parsing
2017-09-15 16:52:11 +03:00
Dmitry Simonenko
5b29494781
odissey: implement detached error object
2017-09-15 16:08:42 +03:00
Dmitry Simonenko
e9eeca8a95
odissey: add client_fwd_error configuration tweak
2017-09-12 16:45:04 +03:00
Dmitry Simonenko
70ac93378f
odissey: configure and send timezone to a client
2017-09-01 16:29:46 +03:00
Dmitry Simonenko
b3c1edb929
odissey: add client_encoding and datestyle to config
2017-08-31 17:14:58 +03:00
Dmitry Simonenko
c86726bbca
odissey: allow to define serveral listen servers
2017-08-29 17:43:41 +03:00
Dmitry Simonenko
ad900ce38c
odissey: split log_statistics into log_stats and stat_interval
2017-08-11 17:11:44 +03:00