Commit Graph

208 Commits

Author SHA1 Message Date
Christian Kamm 2d614365e7
experiment: reduce number of source endpoints to 1 (#386)
Prediction is that this has no negative effect but reduces memory use a
lot.
2024-04-03 21:06:29 +02:00
godmodegalactus 90dbcaa9d8
Adding more prometheus metrics to track QUIC errors details 2024-04-03 10:51:50 +02:00
godmodegalactus 06373c0844
Closing QUIC connection correctly, changing some QUIC params 2024-04-03 10:25:30 +02:00
godmodegalactus 6b8fe682ae
Revert "Close connection while dropping"
This reverts commit 5ef1391b9a.
2024-04-03 10:02:45 +02:00
godmodegalactus 5ef1391b9a
Close connection while dropping 2024-04-02 23:06:52 +02:00
godmodegalactus d0a2fe200b
Using default solana timeout for quic connection 2024-04-02 21:45:35 +02:00
godmodegalactus 12a6832c56
Swapping notify channel with broadcast channel 2024-04-02 15:07:01 +02:00
galactus 681334197f
Adding custom tpu send transaction example (#380)
* Adding an example for custom tpu send transaction

* Fixing the custom tpu example

* Optimizing SentTransactionInfo, and calculating TPS

* Reverting unwanted changes

* After groovies review
2024-04-02 14:26:54 +02:00
godmodegalactus 1e956a2b4f
Revert "Replacing notify by cancellation token to correctly shutdown tasks"
This reverts commit d1abc345cf.
2024-03-28 11:49:20 +01:00
godmodegalactus d1abc345cf
Replacing notify by cancellation token to correctly shutdown tasks 2024-03-28 09:09:42 +01:00
galactus 79748c5a58
Merge production main 2024 03 27 (#374)
* Use jemalloc

* Solving issue of finalized meta after processed block (#365)

* Solving issue of finalized meta after processed block

* Fixing the broken test

* Removing unwanted logs

* Add logs on block queues and reception time

* reduce level of block reception log

* Revert "Solving issue of finalized meta after processed block (#365)"

This reverts commit c09700fd79.

Production runs show more stable memory use but worse performance on
landing transactions.

* use yellowstone grpc with hacked-windowsize

* upgraded geyser-grpc-connector + increased timeout

* Fix block stream throughput problems

By temporarily pasting in a function to connect to block streams via a
more generously configured endpoint.

* Enabling unstable tokio on fly

* Fixing prioritization heap metrics (#370)

* Fixing prioritization heap metrics

* Fixing transaction sizes tests

* Correctly ending the block streams instead of aborting them

* Replacing exit signal with exit notification (#372)

* Replacing exit signal with exit notification

* Deprecitating nightly version

* Increase connection size

* Fixing issue with multiple notify channels

* Joining heap task instead of aborting

* fix postgres ssl algo issue - RC2-40-CBC  (#373)

* fix 373: openssl-legacy.cnf

* Remove replace console subscriber with tracing subscriber

---------

Co-authored-by: Christian Kamm <mail@ckamm.de>
Co-authored-by: GroovieGermanikus <groovie@mango.markets>
Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
2024-03-27 17:09:38 +01:00
Groovie | Mango cd9df11501
use geyser blockmeta to progress finalizedslot (#367)
introduce BlockInfo on a new BlockInfoStream; maps from yellowstone BlockMeta
fix: last_finalized_slot must progress unconditionally
2024-03-22 19:22:38 +01:00
Godmode Galactus d917a3a5c9
Merge branch 'production' 2024-03-20 15:28:35 +01:00
godmodegalactus 9fabdab32b
Bugfix number of active connections never dropping 2024-03-20 11:28:09 +01:00
godmodegalactus 35d13a25de
Merge branch 'production' 2024-03-19 18:09:59 +01:00
godmodegalactus 1754e92ff3
Changing default value for create connection limit 2024-03-19 16:59:34 +01:00
godmodegalactus 6802852bbe
Minor optimization while creating quic connection 2024-03-19 16:08:27 +01:00
godmodegalactus 4bcc9ddb6c
Adding quic timers metrics, more quic bugfixes 2024-03-19 14:37:08 +01:00
godmodegalactus 73d0b069be
Fixing memory leak, and metrics 2024-03-19 10:35:29 +01:00
godmodegalactus 596957f65e
Priority fee related statistics 2024-03-18 21:57:32 +01:00
godmodegalactus 50b81135c3
Merge branch 'production' 2024-03-18 20:01:02 +01:00
godmodegalactus 92cc790fef
Fixing quic metrics names 2024-03-18 18:10:57 +01:00
godmodegalactus 85fcb6097e
Adding some more metrics for quic tpu, and changing some parameters 2024-03-18 17:25:52 +01:00
godmodegalactus 9be86919ba
Merge branch 'production' 2024-03-16 16:18:01 +01:00
godmodegalactus f0442ce50d
Implementing prioritiztion heap, and using it to sort transactions by priority 2024-03-16 15:38:05 +01:00
galactus ce215e0239
After fanatids review (#356)
* After fanatids review

* After fanatids updated comments
2024-03-12 14:02:57 +01:00
godmodegalactus 374777cabc
minor optimizations, checking blockheight and confirmation status at replay 2024-03-09 19:18:33 +01:00
godmodegalactus 3e01ebb7cc
Fixing perofmrance issues after checking last block height 2024-03-08 17:58:49 +01:00
galactus 73973ba0f5
Check blockhash is expired or not (#351) 2024-03-08 11:27:37 +01:00
galactus 3f7130335a
Check blockhash is expired or not (#351) 2024-03-07 16:09:22 +01:00
Groovie | Mango 18a0ab7062
from grpc block ProduceBlock mapping - Performance+Typing (#348)
* remove all Pubkey::default();
1. the value does not make sense
2. we can safely assume that bytes can be deserialized

* use Signature instead of String

* use solana_sdk:#️⃣:Hash for blockhash

* store VersionedMessage instead of serialized bas64 string

* refactor compute_budget extraction

* fix test data

* simplify map_compute_budget_instructions

* fmt

---------

Co-authored-by: godmodegalactus <godmodegalactus@gmail.com>
2024-03-01 17:21:48 +01:00
Groovie | Mango 24eb9a97f7
handle Lagged blocks in data_caching (#345) 2024-03-01 10:03:39 +01:00
Groovie | Mango 855c0190eb
prepare new "util" crate (#333)
prepare new "util" crate
2024-02-22 16:54:42 +01:00
Groovie | Mango 7bba02f3c5
wrap producedblock struct and avoid cloning it (#336)
wrap ProducedBlock in Arc
2024-02-22 14:28:29 +01:00
galactus 196b400e15
Adding support for address lookup tables (#319)
* Initial implementation of address lookup tables

* Implementing fetching of address lookup tables

* Use address lookup tables to calculate account prio fees

* Adding some logs and renaming classes

* preloading all the alts correctly

* Changes after groovies review

* Fixing issues after rebase
2024-02-06 17:59:46 +01:00
galactus 60388667f5
Main into production 01/02/2024 (#312)
* Production into main (#303)

* fix: panic on geyser close, multiplex bug

https://github.com/blockworks-foundation/geyser-grpc-connector/issues/3

* update Cargo.lock

* reverting cargo.lock

* Fix issues with grpc and postgres

* Solving merge issues

* Fixing cargo fmt

* Increase finish quic timeout (#280) (#281)

* integrate geyser slot subscription (#283)

* Increase finish quic timeout (#280)

* Moving geyser slot subscription from stream to channels (#282)

* Moving geyser slot subscription from stream to channels

* Closing all the slot subscription tasks incase of restart

* Making slot channel unbounded (bug)

* remove block_debug_listen

caused a panic - need more time to investigate

2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] thread 'tokio-runtime-worker' panicked at cluster-endpoints/src/grpc_inspect.rs:59:21:
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] Error receiving block: Closed
2024-01-17T20:31:42.922 app[683d392fd45368] ams [info] 2024-01-17T20:31:42.912597Z ERROR lite_rpc: Services quit unexpectedly Err(cluster endpoint failure (Err(JoinError::Panic(Id(20), ...)), 1, [JoinHandle { id: Id(19) }, JoinHandle { id: Id(23) }])

* Update cargolock file

* Fixing clippy removing grpc_inspect

* merging main with production (#290)

* remove block_debug_listen (#286)

* remove block_debug_listen

caused a panic - need more time to investigate

2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] thread 'tokio-runtime-worker' panicked at cluster-endpoints/src/grpc_inspect.rs:59:21:
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] Error receiving block: Closed
2024-01-17T20:31:42.922 app[683d392fd45368] ams [info] 2024-01-17T20:31:42.912597Z ERROR lite_rpc: Services quit unexpectedly Err(cluster endpoint failure (Err(JoinError::Panic(Id(20), ...)), 1, [JoinHandle { id: Id(19) }, JoinHandle { id: Id(23) }])

* clippy

* Fixing message too long and overflow panics (#288)

* Update geyser grpc connector commit (#289)

---------

Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>

* Merging MTU changes and setting up transportation config (#293)

* remove block_debug_listen (#286)

* remove block_debug_listen

caused a panic - need more time to investigate

2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] thread 'tokio-runtime-worker' panicked at cluster-endpoints/src/grpc_inspect.rs:59:21:
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] Error receiving block: Closed
2024-01-17T20:31:42.922 app[683d392fd45368] ams [info] 2024-01-17T20:31:42.912597Z ERROR lite_rpc: Services quit unexpectedly Err(cluster endpoint failure (Err(JoinError::Panic(Id(20), ...)), 1, [JoinHandle { id: Id(19) }, JoinHandle { id: Id(23) }])

* clippy

* Fixing message too long and overflow panics (#288)

* Update geyser grpc connector commit (#289)

* Updating the transport config to match with solana endpoint (#292)

* Updating the transport config to match with solana endpoint

* Setting max MTU after groovies comments

---------

Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>

* Making block subscription processed and moving confirmed block subscr… (#291)

* Making block subscription processed and moving confirmed block subscription to meta

* Sending both processed and confirmed blocks, if block has already been confirmed

* Minor bug, subscribing to processed blocks instead of confirmed (#295)

---------

Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
Co-authored-by: GroovieGermanikus <groovie@mango.markets>

* Restart connection if any stream fails

* Updating to version 0.2.4

* Updating the change logs

* Fixing all the sub overflows by using saturating sub (#309)

* Fixing by cu computation adding more tests to check by CU (#311)

* Fixing by cu computation adding more tests to check by CU

* Adding more tests

---------

Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
Co-authored-by: GroovieGermanikus <groovie@mango.markets>
2024-02-01 15:08:47 +01:00
godmodegalactus a44923c334
Updating to version 0.2.4 2024-01-29 13:11:54 +01:00
galactus 6cbccd0341
Merging MTU changes and setting up transportation config (#293)
* remove block_debug_listen (#286)

* remove block_debug_listen

caused a panic - need more time to investigate

2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] thread 'tokio-runtime-worker' panicked at cluster-endpoints/src/grpc_inspect.rs:59:21:
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] Error receiving block: Closed
2024-01-17T20:31:42.922 app[683d392fd45368] ams [info] 2024-01-17T20:31:42.912597Z ERROR lite_rpc: Services quit unexpectedly Err(cluster endpoint failure (Err(JoinError::Panic(Id(20), ...)), 1, [JoinHandle { id: Id(19) }, JoinHandle { id: Id(23) }])

* clippy

* Fixing message too long and overflow panics (#288)

* Update geyser grpc connector commit (#289)

* Updating the transport config to match with solana endpoint (#292)

* Updating the transport config to match with solana endpoint

* Setting max MTU after groovies comments

---------

Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
2024-01-19 22:28:25 +01:00
galactus 86e7f91cec
Updating the transport config to match with solana endpoint (#292)
* Updating the transport config to match with solana endpoint

* Setting max MTU after groovies comments
2024-01-19 22:08:03 +01:00
galactus 4ed7eead8b
Adding prometheus metrics to follow quic states (#277) 2024-01-16 11:30:40 +01:00
galactus bea39d8c6a
Migrating to solana v1.17.15 (#273) 2024-01-15 18:43:48 +01:00
Godmode Galactus 92fda9f6bb
fixing issue with confusion of blockheight and slot 2023-10-25 20:58:50 +02:00
Godmode Galactus e65ef4558b
restoring block polling with semaphore, some more changes related to processed slots and tpu manager 2023-10-25 20:54:19 +02:00
Godmode Galactus e025f91650
Adding some optimization 2023-10-25 10:37:20 +02:00
Steve 12c97b88d1
Merge pull request #228 from grooviegermanikus/groovie/disable-gso-flag
disable gso (generic segmentation offload)
2023-10-13 23:22:50 +02:00
GroovieGermanikus 7dd891f63a
remove unused import 2023-10-10 11:36:46 +02:00
GroovieGermanikus 617f7511ce
refactor flag propagation 2023-10-09 17:58:43 +02:00
GroovieGermanikus 7f7a931b5f
log GSO enable/disable 2023-10-09 17:40:02 +02:00
GroovieGermanikus e8edcee127
rework flag method 2023-10-04 21:01:07 +02:00
GroovieGermanikus d353569dbb
WIP: add DISABLE_GSO env flag 2023-10-04 20:44:52 +02:00