Commit c2d1456
[QoS][Solana] Disqualify endpoints with recent non-JSONRPC response (#406)
## Summary
Add JSON-RPC response validation error tracking for Solana endpoints
### Primary Changes:
- Created new JsonRpcResponseValidationError protobuf message to capture
validation errors with error types and timestamps
- Enhanced SolanaUnrecognizedResponse to include optional validation
error information
- Modified Solana endpoint validation to reject endpoints with recent
validation errors (within 30-minute window)
### Secondary Changes:
- Updated responseGeneric to track and include validation errors in
observations
- Added error handling for non-JSON-RPC responses with appropriate error
codes and timestamps
- Enhanced endpoint observation processing to update latest validation
errors from unrecognized responses
## Issue
Endpoints with non-JSONRPC response should be disqualified.
- Issue or PR: #{ISSUE_OR_PR_NUMBER}
## Type of change
Select one or more from the following:
- [x] New feature, functionality or library
- [ ] Bug fix
- [ ] Code health or cleanup
- [ ] Documentation
- [ ] Other (specify)
## QoS Checklist
### E2E Validation & Tests
- [ ] `make path_up`
- [ ] `make test_e2e_evm_shannon`
### Observability
- [ ] 1. `make path_up`
- [ ] 2. Run the following E2E test: `make
test_request__shannon_relay_util_100`
- [ ] 3. View results in LocalNet's [PATH Relay Grafana
Dashboard](http://localhost:3003/d/relays/path-service-requests)
## Sanity Checklist
- [x] I have updated the GitHub Issue `assignees`, `reviewers`,
`labels`, `project`, `iteration` and `milestone`
- [ ] For docs, I have run `make docusaurus_start`
- [ ] For code, I have run `make test_all`
- [ ] For configurations, I have updated the documentation
- [ ] I added `TODO`s where applicable
---------
Co-authored-by: Daniel Olshansky <[email protected]>1 parent 9977d67 commit c2d1456
File tree
13 files changed
+420
-78
lines changed- observation/qos
- proto/path/qos
- qos
- cosmos
- evm
- jsonrpc
- solana
13 files changed
+420
-78
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | | - | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
45 | | - | |
| 46 | + | |
0 commit comments