kirill reshke
41a5449969
odyssey modules ( #156 )
2020-06-09 14:19:11 +05:00
Georgy Rylov
c25c5bd050
Applying clang-format with saving indentations ( #140 )
...
* applying clang-format with saving indentations
* rebase
2020-04-02 16:00:56 +05:00
Andrey Borodin
b2d75b0b3c
Coverity scan results ( #119 )
...
A lot of small fixes for small bugs of various severity
2020-02-18 18:05:02 +05:00
Andrey Borodin
816d45958e
Revert "Add pause/resume admin console commands ( #66 )"
...
This reverts commit b426f4f301
.
2019-11-19 16:57:16 +05:00
Andrey Borodin
aaa613ee41
Make some error logging better
2019-11-19 13:22:59 +05:00
Andrey Borodin
f8f8db1ac5
Add logging for start, stop and client error
2019-06-17 11:35:21 +05:00
Andrey Borodin
76ec3581a1
Use pg_lrand48 for portability ( #48 )
2019-01-30 14:30:31 +05: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
11dce290c3
odyssey: implement config file reload. fix #38
2018-09-18 19:22:22 +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
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
f7a4438ec1
odyssey: move stats out of server_t
2018-08-02 16:38:36 +03:00
Dmitry Simonenko
cf3e99ecca
odyssey: implement coroutine_stack_size config param. #9
2018-06-04 14:51:13 +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
3378e60827
odyssey: remove instance_t* field out from system
2018-03-13 16:37:53 +03:00
Dmitry Simonenko
9fcf2a4a80
odyssey: remake pooler service as system
2018-03-13 16:26:04 +03:00
Dmitry Simonenko
20a092098e
odyssey: remake system_t as global_t
2018-03-13 16:17:27 +03:00
Dmitry Simonenko
5862c1762f
odyssey: misc fixes
2018-03-13 15:13:42 +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
a096d258b7
odissey: rework configuration reader
2018-03-05 17:50:51 +03:00
Dmitry Simonenko
4df9f8e760
odissey: move config to config_reader
2018-03-05 17:24:30 +03:00
Dmitry Simonenko
99fca366ef
odissey: rename periodic service to cron
2018-03-02 16:12:32 +03:00
Dmitry Simonenko
d48cd092a0
odissey: relay and relay_pool is worker and worker_pool now
2018-03-02 13:00:52 +03:00
Dmitry Simonenko
bf79959961
odissey: handle sigterm signal
2018-02-28 17:33:38 +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
a19f18cef1
odissey: rework router cancel logic
2018-02-22 16:43:52 +03:00
Dmitry Simonenko
9f505cb2c7
odissey: add cache and cache_chunk configuration options
2018-02-14 14:55:38 +03:00
Dmitry Simonenko
fc78dcc409
odissey: add stream cache limits
2018-02-13 17:18:13 +03:00
Dmitry Simonenko
25ec1a27eb
odissey: add stream_cache
2018-02-12 16:27:06 +03:00
Dmitry Simonenko
b0635265a1
odissey: move is_shared logic to instance domain
2018-02-02 16:44:47 +03:00
Dmitry Simonenko
17673c123a
odissey: rework internal services init logic
2018-02-02 15:50:23 +03:00
Dmitry Simonenko
57faa0f7c4
odissey: move relay pool start to pooler context
2018-02-02 14:54:13 +03:00
Dmitry Simonenko
7991ee0fb0
odissey: use copy safe od_snprintf() implementation
2017-11-27 15:54:16 +03:00
Dmitry Simonenko
023b931ee1
odissey: reuse client id as a forge backend key
2017-11-24 15:19:14 +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
610cf23c7c
odissey: reorder instance.h inclusion
2017-09-15 15:58:29 +03:00
Dmitry Simonenko
cfa978d402
odissey: fix machinarium daemonization
2017-08-17 16:56:32 +03:00
Dmitry Simonenko
1f8ddf885e
odissey: update file includes
2017-08-08 16:50:50 +03:00
Dmitry Simonenko
1d371edfce
odissey: make scheme version 64bit
2017-08-03 17:03:37 +03:00
Dmitry Simonenko
390f1c575d
odissey: move scheme version out of od_config_load()
2017-08-01 18:16:29 +03:00
Dmitry Simonenko
d62f085e58
odissey: rename log_stdout to log_to_stdout
2017-07-28 16:23:05 +03:00