Commit Graph

106 Commits

Author SHA1 Message Date
Andrey Antukh
ce99ca0aa8 🎉 Add generic PointerMap abstraction 2022-11-08 13:02:14 +01:00
Andrey Antukh
6ad9a5aadb 🐛 Fix many bugs on rlimit module 2022-11-07 08:37:43 +01:00
Andrey Antukh
3dc2c52f64 🐛 Fix compatibility issues with jdk19 on util/async ns 2022-10-18 15:49:18 +02:00
Andrey Antukh
c4104c816b 🎉 Add serialization optimized ObjectsMap data type 2022-10-18 15:49:18 +02:00
Andrey Antukh
b1296ef765 Make fressian module extensible 2022-10-18 15:49:18 +02:00
Andrey Antukh
5fe3842d1e 🎉 Add v5 blob format (lz4 framed, less gc) 2022-10-18 15:49:18 +02:00
Andrey Antukh
c2158b0f3c Merge remote-tracking branch 'origin/staging' into develop 2022-10-04 13:29:03 +02:00
luz paz
e30bea0b6f 🔧 Fix typos in source code
Found via `codespell -q 3 -S *.po,./frontend/yarn.lock -L childs,clen,fpr,inflight,ody,ot,ro,te,trys,ue`
2022-10-04 10:40:34 +02:00
Andrey Antukh
8fae7f7aa6 ♻️ Refactor internal websocket connection stage management 2022-10-03 13:40:33 +02:00
Andrey Antukh
2753a934aa 📎 Add service result wrapper
Allows attach metadata to values that does not implement the IObj
clojure interface.
2022-09-28 09:45:43 +02:00
Alejandro Alonso
e888b06ec4 Merge remote-tracking branch 'origin/staging' into develop 2022-09-27 09:50:37 +02:00
Andrey Antukh
4909d6574e 📎 Remove unnecesary logging on ws io exception 2022-09-27 07:28:29 +02:00
Andrey Antukh
41134f22e9 📎 Update license header 2022-09-20 23:23:22 +02:00
Andrey Antukh
58319d84ad ♻️ Refactor email namespaces 2022-09-20 13:41:18 +02:00
Andrey Antukh
f86f93deea Make the rate limit configuration automatically reloadable 2022-09-09 12:19:49 +02:00
Andrey Antukh
e657c1bbfa Start use datoteka.io ns 2022-09-09 12:19:49 +02:00
Andrey Antukh
675a07bac6 🔥 Remove internal file data blob format v2 2022-09-08 07:16:44 +02:00
Andrey Antukh
a555e13b6a Improve msgbus internal API 2022-09-05 19:08:26 +02:00
Andrey Antukh
2f21560fe3 🎉 Add improved approach for async flow time measurements 2022-08-31 12:55:48 +02:00
Andrey Antukh
ec3651d85b 🎉 Add optional rate limit support for RPC calls 2022-08-31 12:55:48 +02:00
Andrey Antukh
4f0cc3d0d8 Merge remote-tracking branch 'origin/staging' into develop 2022-08-12 09:45:58 +02:00
Andrey Antukh
d533e37ae0 Improve logging on gc-deleted storage task 2022-08-11 17:31:32 +02:00
Andrey Antukh
d30b6ac5b9 Reorganize resources directory 2022-08-03 09:49:24 +02:00
Andrey Antukh
07eab923f0 Improve doc endpoint
Add changes, added and deprecation notices
2022-07-27 21:41:38 +02:00
Andrey Antukh
5e2c1fb4cd 🎉 Add missing predicate on util/bytes ns 2022-07-07 12:29:13 +02:00
Andrey Antukh
f4f58bc163 Add parameters validation to binfile write-export! fn 2022-07-06 16:05:10 +02:00
Andrey Antukh
dd130615a1 Improve _doc endpoint output format 2022-07-05 11:04:37 +02:00
Andrey Antukh
cbc5811290 Improve websockets impl
Make it more extensible and move all the websocket unrelated stuff
to the new hooks API. Also adds observability from repl.
2022-06-29 11:01:16 +02:00
Andrey Antukh
ebcb385593 ♻️ Minor refactor on storages
Fix many issues on FS & S3 backend; removes the unused and broken
DB backend. Normalize operations on bytes and byte streams on a
separated namespace: app.util.bytes
2022-06-22 11:37:45 +02:00
Andrey Antukh
65e99cabbf 📎 Fix linter issues
Related to the linter update on devenv
2022-06-13 11:18:35 +02:00
Andrey Antukh
4ef9d4d5f6 🐛 Fix unexpected decoding of fresian data 2022-03-24 15:14:43 +01:00
Andrey Antukh
f60d8c6c96 ♻️ Refactor websockets subsystem (on backend)
- Refactor msgbus subsystem, simplifying many parts.
- Enable persistent websocket connection for the all session duration.
2022-03-22 11:34:32 +01:00
Andrey Antukh
1b444a42f2 ♻️ Refactor http server layer
Make it fully asynchronous.
2022-03-09 17:18:06 +01:00
Andrey Antukh
9e4a50fb15 ♻️ Refactor backend to be more async friendly 2022-03-03 16:05:52 +01:00
Andrey Antukh
03a082fe40 🐛 Fix metrics on websocket connections 2022-03-01 14:19:26 +01:00
Andrey Antukh
7cf27ac86d ♻️ Refactor general resource and concurrency model on backend 2022-02-22 13:05:41 +01:00
Andrey Antukh
ce61b783fb Minor improvements on telemetry task 2022-02-15 12:26:36 +01:00
Andrey Antukh
9b78b2a432 Improve error reporting on background tasks 2022-02-15 12:26:36 +01:00
Andrey Antukh
3fbb440436 Handle EOF on websocket write/ping operations 2022-02-10 15:12:35 +01:00
Andrey Antukh
827c2140b7 ♻️ Refactor error reporting and logging context formatting
The prev approach uses clojure.pprint without any limit extensivelly
for format error context data and all this is done on the calling
thread. The clojure.pprint seems very inneficient in cpu and memory
usage on pprinting large data structures.

This is improved in the following way:

- All formatting and pretty printing is moved to logging thread,
  reducing unnecesary blocking and load on jetty http threads.
- Replace the clojure.pprint with fipp.edn that looks considerably
  faster than the first one.
- Add some safe limits on pretty printer for strip printing some
  data when the data structure is very large, very deep or both.
2022-02-10 15:12:35 +01:00
Andrey Antukh
686cacd5ae Add truncate function to time ns on backend. 2022-01-26 18:10:47 +01:00
Andrey Antukh
ff4d3cfeac 🐛 Fix issue on fressian blob encoding. 2022-01-20 16:57:20 +01:00
Andrey Antukh
2fb96a1b7d 📎 Add debug to ws messages. 2022-01-12 10:55:47 +01:00
Andrey Antukh
79e5716f36 📎 Fix linter issues. 2021-12-30 19:43:05 +01:00
Andrey Antukh
d24d45f4cb Terminate connection if incoming message cant be parsed. 2021-12-30 16:28:08 +01:00
Andrey Antukh
bf55250ae9 :sparkles Minor changes on websockets error handling. 2021-12-30 16:25:50 +01:00
Andrey Antukh
2bd94aff0e 🐛 Fix wring metrics usage on websocket module. 2021-12-29 12:55:41 +01:00
Andrey Antukh
c394495a26 ♻️ Refactor websocket layer.
This commit replaces rj9a with funcool/yetti ring adapter.
Cleans the websocket api and makes it fully asynchronous.
Also a common websocket protocol abstraction that will allow
more easy path for creating new websocket based services.
2021-12-29 09:52:32 +01:00
Andrey Antukh
0ee34637f5 💄 Improve json namespace API (and fix linter). 2021-12-23 00:06:10 +01:00
Andrey Antukh
219f9c478d 🎉 Add version 4 of blob encoding.
The version 4 starts using the hight performance fressian
binary encoding with very lightweight compression layer.
2021-12-21 16:19:25 +01:00