Bryan Stitt
aa3b40e03f
add a spot for retries
2023-10-13 00:22:57 -07:00
Bryan Stitt
51ba539800
bring back outer rpc checking
2023-10-12 23:57:12 -07:00
Bryan Stitt
fc3d2420bd
bring back head_delay
2023-10-12 23:33:25 -07:00
Bryan Stitt
93533eabc7
Revert "try a RwLock (more should be done if this works)"
...
This reverts commit 9aa33dae2d3869965ba131e8e561338f2298fd56.
2023-10-12 23:33:25 -07:00
Bryan Stitt
5df4bd8da8
Revert "async serialize"
...
This reverts commit d8e1bd44dc3cc53a6d8b7894d9280ee4a31c35ba.
2023-10-12 23:33:25 -07:00
Bryan Stitt
3b45256c9a
always have some kind of health check
2023-10-12 21:05:17 -07:00
Bryan Stitt
51d86ade59
handle empty futures
2023-10-12 20:48:37 -07:00
Bryan Stitt
3bf7f6c34e
replace subscribe_stop_rx with aborts
2023-10-12 20:17:40 -07:00
Bryan Stitt
9786fb58b2
use select_all more
2023-10-12 19:23:22 -07:00
Bryan Stitt
6bd5ca3277
only select on the balanced handle
2023-10-12 16:52:39 -07:00
Bryan Stitt
f73fd66b89
dont sleep at start
...
that was a gross fix anyways
2023-10-12 16:25:26 -07:00
Bryan Stitt
d27b91cad9
no need for try_join_all here
2023-10-12 16:06:15 -07:00
Bryan Stitt
2a421778ef
get rid of a noop future
2023-10-12 14:30:17 -07:00
Bryan Stitt
06cd1cc3dd
include phantomdata on the streaming response
2023-10-12 14:14:02 -07:00
Bryan Stitt
1178cb61a4
turn streaming on
2023-10-12 14:12:31 -07:00
Bryan Stitt
4009995bb3
move retries into request_with_metadata
2023-10-11 20:58:13 -07:00
Bryan Stitt
d8e1bd44dc
async serialize
2023-10-11 12:34:56 -07:00
Bryan Stitt
874d8b1775
fix find and replace that missed the stripe feature
2023-10-11 12:00:36 -07:00
Bryan Stitt
a259b2b955
1.43.39
2023-10-11 10:57:41 -07:00
Bryan Stitt
9aa33dae2d
try a RwLock (more should be done if this works)
2023-10-11 10:55:45 -07:00
Bryan Stitt
e43309abc0
move permits around and start rpcs slower
2023-10-11 04:18:53 -07:00
Bryan Stitt
072c52050f
add another minimum sleep and set missed tick behavior
2023-10-11 01:42:55 -07:00
Bryan Stitt
15216b7d33
no waiting and simpler rpc looping
2023-10-11 01:23:08 -07:00
Bryan Stitt
38c6fbf246
delete unused functions
2023-10-11 00:57:28 -07:00
Bryan Stitt
91a9d62ce1
pass head_block to internal_request
2023-10-11 00:48:08 -07:00
Bryan Stitt
57f8c4bd40
split web3_proxy/src/jsonrpc.rs into multiple files and DRY it up
2023-10-11 00:12:20 -07:00
Bryan Stitt
a9d5006ced
get rid of async recursion
2023-10-10 23:32:50 -07:00
Bryan Stitt
ceaed4f239
move rpc filtering to later
2023-10-10 23:05:14 -07:00
Bryan Stitt
9b4f14e779
try turning off streaming again
2023-10-10 23:04:58 -07:00
Bryan Stitt
1666a45564
faster head_block_num
2023-10-10 21:30:55 -07:00
Bryan Stitt
86f70332be
use web3_rpcs.blocks_by_hash.get instead of something that might make queries
2023-10-10 20:54:17 -07:00
Bryan Stitt
bf49b84eae
skip outers earlier
2023-10-10 20:02:20 -07:00
Bryan Stitt
38d0c7f2cc
don't wait for rpcs
...
come back to this later
2023-10-10 19:24:58 -07:00
Bryan Stitt
c27f0d065b
try wait_for_sync a new way with a min sleep
2023-10-10 18:41:31 -07:00
Bryan Stitt
6906eee0dd
wait_for_sync was waiting too long
2023-10-10 17:15:03 -07:00
Bryan Stitt
47749df94e
catch one more rate limit type
2023-10-10 16:05:28 -07:00
Bryan Stitt
9ba2045dbd
improve health checking
2023-10-10 15:46:11 -07:00
Bryan Stitt
a10a283023
trust just removing uncles from the cache
2023-10-10 14:21:54 -07:00
Bryan Stitt
78edfee6b9
timeout and server selection fixes
...
add a short connect timeout separate from the overall request timeout.
also fix a bug when only 1 server was in the rpc list causing a very tight loop that made tokio sad
2023-10-09 23:30:17 -07:00
Bryan Stitt
ab16f6b2e8
check for MDBX_PANIC
2023-10-09 09:38:58 -07:00
Bryan Stitt
d04f99a0e4
DRY
2023-10-07 16:52:54 -07:00
Bryan Stitt
e02a1e3b7c
stream again
2023-10-07 16:52:46 -07:00
Bryan Stitt
36ce2f6524
derp
2023-10-07 16:16:42 -07:00
Bryan Stitt
7e0b6c3034
next_available should not be reversed and other bugs
2023-10-07 16:12:51 -07:00
Bryan Stitt
5a1a87a314
stream should count as success. lagged return the rpc
2023-10-07 15:18:55 -07:00
Bryan Stitt
4dc6f47f9a
add new_internal_requests to the logs
2023-10-07 14:36:36 -07:00
Bryan Stitt
580f4c1865
lint
2023-10-07 14:26:10 -07:00
Bryan Stitt
de5674254b
hopefully handle min_synced_rpcs properly
2023-10-07 13:45:04 -07:00
Bryan Stitt
9ed0c70ecd
wait for lagged rpcs. v1.43.19
2023-10-07 11:58:47 -07:00
Bryan Stitt
349be463f3
initial sort on median latency instead of weighted peak
2023-10-07 10:31:33 -07:00
Bryan Stitt
b2ab5bd6d6
fix from_rpcs
2023-10-07 10:06:01 -07:00
Bryan Stitt
cc2eb9e862
no more overflow on the pending txid firehose
2023-10-07 03:41:11 -07:00
Bryan Stitt
36363c8921
lint
2023-10-07 00:35:22 -07:00
Bryan Stitt
d38a35903e
cargo update
2023-10-07 00:35:22 -07:00
Bryan Stitt
97f7e1673e
finish todo for waiting for head_block_sender
2023-10-07 00:35:22 -07:00
Bryan Stitt
aeb30787dd
more openssl and no rmp
...
i like rustls, but we can't use it on everything and so our compile times are bad
2023-10-07 00:35:22 -07:00
Bryan Stitt
159fef9e8d
include ws_url in hash
2023-10-07 00:35:22 -07:00
Bryan Stitt
f7997a4878
split inner and outer
2023-10-07 00:35:22 -07:00
Bryan Stitt
949c3eeb5d
DRY throttling
2023-10-07 00:35:22 -07:00
Bryan Stitt
9a7777e3f9
fix >= to <
2023-10-07 00:35:22 -07:00
Bryan Stitt
8180290be7
chain isn't ExactSizeIterator
2023-10-07 00:35:22 -07:00
Bryan Stitt
c1df05f8b6
fix sort order (hopefully)
2023-10-07 00:35:22 -07:00
Bryan Stitt
0dcc324b61
disable tests that need refactor to match new code
2023-10-07 00:35:22 -07:00
Bryan Stitt
6756559ec2
wow this got big
2023-10-07 00:35:22 -07:00
Bryan Stitt
f704d1c4aa
more refs will cut down on cloning an Arc multiple times that isn't really necessary
2023-10-07 00:35:22 -07:00
Bryan Stitt
376048a76b
bump returndata limit to 16mb
2023-10-07 00:35:22 -07:00
Bryan Stitt
9258d36e6a
refactor rpc selection
2023-10-07 00:35:22 -07:00
Bryan Stitt
d6e9f61ee2
only send to 2 servers (not 3x2)
2023-10-06 00:04:46 -07:00
Bryan Stitt
249ad884fc
only send to 3 servers
2023-10-05 20:28:22 -07:00
Bryan Stitt
bba02cc121
temporarily switch off streaming and always buffer ( #225 )
...
Co-authored-by: Rory Neithinger <rory@llamanodes.com>
2023-10-05 18:26:29 -07:00
Bryan Stitt
32862937ad
fix newHead serialization
2023-10-05 11:01:24 -07:00
Bryan Stitt
f153b2b805
add method/params to duplicate stream ( #224 )
...
Co-authored-by: Rory Neithinger <rory@llamanodes.com>
2023-10-04 21:53:46 -07:00
Bryan Stitt
c1c127e6bd
try_send_all_synced_connections for getting transactions
2023-10-03 21:35:25 -07:00
Bryan Stitt
dd3fc165e3
error instead of panic
2023-10-03 19:05:15 -07:00
Bryan Stitt
e917a11d6c
Suprisingly large refactor to get ids everywhere ( #222 )
...
* cargo upgrade --incompatible and update
* first draft at suprisingly_large_refactor_to_get_ids_everywhere
* put app in a task_local
* ref cleanup
* use a OnceLock instead of a tokio local
* test more methods
* APP isn't set in all tests
* it compiles. tests fail. todos still open
* use the app only when necessary
* more tests. less panic
* less verbose debug impl
* short enum names
* move kafka and secrets to their own files
* main tests pass
* add debug chain block time
* helper for stats that ignores internal stats
* Update Jenkinsfile (#223 )
* more tests
---------
Co-authored-by: Pewxz <124064710+pewxz@users.noreply.github.com>
2023-10-03 13:46:27 -07:00
Bryan Stitt
abe516c21e
turn down logging on eth_getLogs for now
2023-09-29 10:37:49 -07:00
Bryan Stitt
f0b6465069
streaming responses 2 ( #219 )
...
* streaming responses compile, still small TODOs & cleanup
* refactor to allow short curcuits on uncacheable requests (#220 )
* refactor to allow short curcuits on uncacheable requests
* handle error inside an Arc from moka
* arc instead of box
* lint
* more lint
* add bonus rate limits and keep all semaphores after rate limits (#221 )
* add bonus rate limits and keep all semaphores after rate limits
* remove stale todos
* better function names
* cargo upgrade and update
* make some panics warn. more todo
* pass request_metadata through so streaming responses include their final size
* remove stale TODO
* remove more stale todos
* add file i missed
* make to_json_string work well enough
* check config for free_subscriptions
---------
Co-authored-by: Rory Neithinger <rory@llamanodes.com>
2023-09-26 18:18:06 -07:00
Bryan Stitt
5b0aebb6e5
allow missing params in requests
2023-09-26 17:41:42 -07:00
Bryan Stitt
f79c8adbf9
add a shared pool of bonus concurrency ( #218 )
2023-09-25 12:34:00 -07:00
Bryan Stitt
3aee9071ad
require active premium for most websocket subscriptions
...
only newHeads is allowed without premium
2023-09-25 10:38:55 -07:00
Bryan Stitt
9b2f27862d
remove unnecessary yield_nows
2023-09-21 11:22:20 -07:00
Bryan Stitt
ac2f518174
filter_map instead of unwrap
2023-09-20 10:14:21 -07:00
Bryan Stitt
dc037e663a
tokio spawn the cached future ( #217 )
...
* tokio spawn the cached future
* lint
2023-09-20 10:11:07 -07:00
Bryan Stitt
e4d3a736d0
return an error earlier
2023-09-19 19:22:28 -07:00
Bryan Stitt
8a0c2dfdc1
try timeout inside the cache get again but with shorter timeouts
2023-09-19 18:37:49 -07:00
Bryan Stitt
0437d9bfc9
sigh
2023-09-19 15:38:40 -07:00
Bryan Stitt
fe2493236e
missing &
2023-09-19 15:28:53 -07:00
Bryan Stitt
e137d813af
this fix got lost in rebases
2023-09-19 15:28:07 -07:00
Bryan Stitt
8b08828473
make it compile. my editor didnt show any errors 🤷
2023-09-19 14:57:42 -07:00
Bryan Stitt
f0be8b992b
always wait for watch_ranked_rpcs change
2023-09-19 14:42:31 -07:00
Bryan Stitt
10c4ffc9d2
smarter archive retry
2023-09-19 10:56:54 -07:00
Bryan Stitt
60ffbdfbb2
move the timeout outside the try_get_with
2023-09-19 09:24:07 -07:00
Bryan Stitt
41314df25b
move another yield_now
2023-09-18 23:42:54 -07:00
Bryan Stitt
fc287d24ea
borrow_and_update instead of borrow
...
i think this won't matter and the update is probably a waste, but it feels wrong to leave it in a changed state
2023-09-18 23:29:01 -07:00
Bryan Stitt
94cbe6153a
remove timeout layer. its not playing nice with moka
2023-09-18 23:18:52 -07:00
Bryan Stitt
6d4d8ea840
minor refactor of error retry logic
2023-09-18 23:17:55 -07:00
Bryan Stitt
5f85a17b19
put timeout around the moka stuff
...
we went a long time without seeing errors on this, but i just saw some again
2023-09-18 23:08:16 -07:00
Bryan Stitt
e6c376ae94
add block interval for zkevm polygon
2023-09-18 15:21:02 -07:00
Bryan Stitt
37df2a5650
delete unused deps
2023-09-18 14:32:02 -07:00
Bryan Stitt
3174fa5bad
increase cost of eth_subscribe(newPendingTransactions)
2023-09-18 14:18:05 -07:00