Skip to content

Releases: bestarch-ae/cacherpc

0.2.17

25 May 16:27
0d8c4df
Compare
Choose a tag to compare

Highlights:

Deduplication of getProgramAccounts requests. When gPA request is made, cacherpc will "remember" it as being in progress. If the same gPA request is made again before the first one had a chance to complete, the second one (and all those that come after) will wait for the original to finish, after this event they will respond from cache. getProgramAccounts request is defined by three values: public key, commitment level and set of filters, and other parameters like encoding and dataSlice are ignored. All subsequent requests will wait a limited amount of time before returning timeout error to the user, this timeout parameter can be separately configured via in_progress_request_wait: u64 field of [rpc.timeouts] sections of configuration file. In case if error occurs during the execution of original request, no waiters will be notified, the cacherpc will "forget" the request as being in progress, all current waiters will eventually abort with timeout, single new request will be forwarded to validator. Not all gPA requests can be subjected to this new logic, specifically if the gPA is not cacheable, then cacherpc will not remember it as being in progress, cacheability is satisfied if: encoding is not jsonParsed, no dataSlice is requested, cacherpc has active websocket connection.

What's Changed

  • feat: wait for exectuting gpa requests, instead of making new ones by @bobs4462 in #261

Full Changelog: 0.2.16...0.2.17

0.2.16

24 May 14:17
a67b9d0
Compare
Choose a tag to compare

Highlights

  1. Implement client-independent validator response caching. Previously only requests which were successfully streamed to clients could be cached. This release changes this behavior, so that response is cached independently of client connection (even if client disconnects) as long as it's a successful one.
  2. Fixed lint errors reported by clippy

What's Changed

Full Changelog: 0.2.15...0.2.16

0.2.15

05 Apr 07:17
3fdb7c7
Compare
Choose a tag to compare

Highlights

  1. X-Request-ID is added to several error responses:
    a. Invalid request
    b. Waf rejection
    c. Request timeout
  2. Improved logging: added new logs, made existing logs more informative. Also it's now possible to control the log level, which is done by setting environment variable CACHER_LOG_LEVEL to values debug|info|warn|error, by default it's set to info
  3. Configurable keep-alive parameter for server. After new connection is accepted and new request is made over it, server will keep connection alive (if not closed by client) for the period of time specified in --keep-alive <NUM>s cli parameter
  4. Client request timeouts are disabled, which makes it possible for clients to open connection pool to server without actually sending any data over those connections, and server will keep connections alive for the period specified in keep-alive startup parameter

What's Changed

  • Keep-alive management, no client request timeout + technical debt by @bobs4462 in #252

Full Changelog: 0.2.14...0.2.15

0.2.15-beta-5

01 Apr 15:26
11b5bd2
Compare
Choose a tag to compare
0.2.15-beta-5 Pre-release
Pre-release

Highlights:

  1. Increased keep-alive duration for connection to 90 secs

What's Changed

  • Keep alive by @bobs4462 in #257

Full Changelog: 0.2.14...0.2.15-beta-5

0.2.15-beta-4

01 Apr 13:22
47fd1e8
Compare
Choose a tag to compare
0.2.15-beta-4 Pre-release
Pre-release

Highlights:

  1. Added logging when new connection is accepted by server

Full Changelog: 0.2.14...0.2.15-beta-4

0.2.15-beta-3

28 Mar 11:55
15abad5
Compare
Choose a tag to compare
0.2.15-beta-3 Pre-release
Pre-release

What's Changed

  • Extra logs by @bobs4462 in #254
  • Extra logs by @bobs4462 in #255

Full Changelog: 0.2.15-beta-1...0.2.15-beta-3

0.2.15-beta-1

23 Mar 18:56
41f10b0
Compare
Choose a tag to compare
0.2.15-beta-1 Pre-release
Pre-release

Highlights

  1. X-Request-ID is added to several error responses:
    a. Invalid request
    b. Waf rejection
    c. Request timeout
  2. Improved logging: added new logs, made existing logs more informative. Also it's now possible to control the log level, which is done by setting environment variable CACHER_LOG_LEVEL to values debug|info|warn|error, by default it's set to info

0.2.14

21 Mar 11:40
8488b5a
Compare
Choose a tag to compare

Highlights:

  1. Fixed X-Request-iD header handling when cache hits occured (both lru and data)

What's Changed

  • X request header related fixes by @bobs4462 in #251

Full Changelog: 0.2.13...0.2.14

0.2.14-beta-3

18 Mar 17:40
236bb59
Compare
Choose a tag to compare
0.2.14-beta-3 Pre-release
Pre-release

Modified x-request-id to support cache hits as well (#249)

0.2.14-beta-2

18 Mar 14:49
236bb59
Compare
Choose a tag to compare
0.2.14-beta-2 Pre-release
Pre-release

Fixed x-request-header for passthrough requests