Comments (6)
@aryanjassal when you feel more comfortable with the source code this might be a good issue to start with.
from polykey.
ENG-350 Add clearer warning when failing to resolve seedNodes via DNS
from polykey.
I want to clarify the requirements of this issue.
For the first task, I need to include additional details, like a custom error message stating that DNS resolution failed, correct?
For the second task, success of this function would happen just before the return statement in the function, right? If that is the case, then I just have to send a message stating that node resolution using DNS succeeded, right?
I'm also not sure how to approach the task of using nodeGraph
entries as fallback seednode list if resolving fails.
from polykey.
- Right now when resolving DNS fails, it just returns no results. From the outside this looks like a failure to sync the node graph. But there is few ways that can fail with DNS being one of them. So the message
No seednodes could be found for for mainnet.polykey.com
is too vague here. It needs to be clear that we failed to resolve them by DNS with a descriptive message. Just to distinguish it from say, failing to connect to any seed nodes. - Yes, so inside resolveSeednodes function we need to call
logger.info
with a message stating that resolving the seed nodes succeeded with some details about it. But it's a utility function and we don't usually pass a logger into it. So the info message will likely need to be done whereresolveSeednodes
is called. - If DNS resolution fails then we don't end up with a list of addresses to connect to. Check the node graph for either records relating to the nodes we wanted to resolve in the first place. Or get a list of nodes to use instead of seed nodes. I don't know if the node graph tracks if a node had a public IP but if it does then prefer those.
Don't get too stuck into this if you're struggling. The main goal is to get a top level overview of Polykey
's structure for now. It will take too long to get intimate knowledge of all it's parts for now.
from polykey.
Related to #729?
from polykey.
Yeah, this is related but on top of the warning this issue wants to add using the NodeGraph as a fallback for entering the network f we fail to resolve the seed nodes.
from polykey.
Related Issues (20)
- Fix random test failures caused by `mainnet` connections HOT 7
- `Discovery` domain does not reschedule lazily executed `Task`s HOT 4
- DNS failure reporting and fallback HOT 1
- Add versions to claims and better validation for processing claims HOT 3
- Backwards Compatibility of Discovery Mechanism HOT 2
- Implement utility that generates a file tree from a path pattern HOT 1
- Implement a file tree serialiser/de-serialiser HOT 7
- Network Segregation HOT 12
- Lazy Creation of WebSocketClient within PolykeyClient HOT 2
- A pithy primer of `Polykey` HOT 2
- Network Segregation/Authentication Token Logic HOT 5
- Network Seednodes/Trust Anchor Bootstrapping HOT 2
- Requesting access to PKE network proceedure HOT 3
- Adding authentication stage logic to `NodeConnection` HOT 2
- Network Aware `NodeGraph` and `NodeConnectionManager` HOT 1
- Delegating Authority via Sigchain Claims representing Trust Chains HOT 13
- Support sharing vault locks and transactions across RPC calls HOT 4
- Expired intermediate certificates prevents maintaining connections HOT 6
- Garbage collect expired certificates in the cert chain HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from polykey.