Comments (8)
I'm not sure this is a bug so much as perhaps poor word choice on the error.
A node can fail to join because it didn't receive an acceptance in . Joins may be allowed, so you won't get that error, but the ndoe did not manage to join, so it starts the process over.
Nothing is necessarily being ignored (the elders much reach agreement, and many nodes may be joining, but there's only one space eg).
So perhaps this needs a reword?
Failed to join the network in X time. Starting again
?
The timeout could also be made configurable, 30s in some cases may be too little time.
from temp_safe_network.
When client makes request, server should respond (if it works correctly).
If server needs more time to create response, it is generally fine (however, 30s looks too much for me).
What is not fine is when response may take time anywhere from 0 seconds to infinity.
I think there should be duration, which is considered as enough time for the answer.
When it is exceeded, this should be treated as bug and fixed.
This is what I expect from properly working software.
Of course, developers may have different opinion and mark timeouts as feature instead of bug.
from temp_safe_network.
Perhaps there's a ConsideringJoinRequest
response to keep alive a node's join efforts. And otherwise, if no joins are allowed we'll just respond with that as we do.
How long that request takes would be another question. There will be a time after which a node may wish to bail though, and that's effectively what we have here, just with an implicit "consideringJoin" as it's not been told to go away...
What is not fine is when response may take time anywhere from 0 seconds to infinity.
There are some responses though here as seen in your logs So it seems to me more like an issue of how much feedback is valid and wording rather than an unresponsive server.
As a node operator you may like more feedback on the join process. What feedback should be provided and why? (the vote process is underway... ? Last vote accepted was XYZ? )
This is what I expect from properly working software.
Of course, developers may have different opinion and mark timeouts as feature instead of bug.
@Vort your bad attitude is leaking from the forum.
There's no need for sarcasm, snark or condescension. And we'll not bother responding to it if you keep it up. You might believe you weren't doing that, but you're reputation, sadly carries across, and I've no time for it. How you choose to engage is up to you.
from temp_safe_network.
As a node operator you may like more feedback on the join process. What feedback should be provided and why?
The most important is to have indication if join process is really happening or network is hung, crashed, or in other way broken.
Right now I see that developers assume that 1 minute is enough (I wrongly said about 30s previously) and when 1min timeout is happening, I make conclusion that network is having problems / bugs.
There are some responses though here as seen in your logs
Responses were happening for ~250 ms, then ~1 minute (~60000 ms) nothing happened.
Of course, when I read next "in some cases may be too little time", sarcasm start to appear.
Because such behaviour for me is clear sign of hang.
your bad attitude is leaking from the forum
Quality of this software and approach to its development is the same regardless of where I discuss it.
And we'll not bother responding to it if you keep it up.
I hope that you will extract useful information from my messages no matter how it will be presented.
Also I hope that with quality of this software going up, amount of my sarcasm will go down.
from temp_safe_network.
After thinking more about this discussion, I got suspicion, that for some reason amount of my explanations was not enough.
From my understanding, there are 2 possible descriptions of what happened:
- From user perspective and from logs it is possible to conclude, that network started processing request and then because of some reason dropped it without notifying user. (Techincally, this is not ignoring, but differences are too subtle). Fix: notify user about failure.
- Network was processing my join request during whole 1 minute, but this fact was just not reflected in my logs.
Scenario # 2 can be further divided into two categories:
2.1. This request is really that heavy and network should be allowed to process it for longer than 1 minute. Fix: allow network to think for longer time before timing out.
2.2. Request is taking too much time because of bug/suboptimal behaviour in software. Fix: search for problem in code and eliminate it.
To determine what really happened, developers can track execution of this specific join request by logs from their nodes. Theoretically, it is possible that my request was processed by nodes out of your control, but looks like this is not the case now.
Then, after additional info is collected, it will be possible to say if 1 minute of waiting for client was justified or not.
from temp_safe_network.
Also I hope that with quality of this software going up, amount of my sarcasm will go down.
That's just it @Vort you don't have to present with any "sarcasm" as you call it. If you want the software to improve, contribute and do so with respect. Sarcasm as you call it, being rude and disrespectful is what I call it. And continuously so.
You may want to read the guidelines on contributing here and the link to the contributors covenant therein.
But for me your attitude on here and in the forum breaches this quite clearly. As I've mentioned here and above.
@Vort you can decide if acting out is more important to you than working to improve open source projects and your relationships with the people working on them.
But I'm not having any of more of it. It's a distraction that the team doesn't need.
Should you choose to apologise for your conduct on here, and elsewhere and commit to work on improving it, we can continue to work on this issue and hopefully more down the line.
Or you can decide that being sarcastic, rude, disrespectful etc is more important to you, and we'll go from there.
from temp_safe_network.
Looks like discussions about discussions is more important for developers, than code by itself.
You had choice to discuss bug (and it would bring constructivity), but you decided to discuss CoCs instead (which will not help to make your code better). That is sad.
do so with respect
Looks like you think that respect should be present no matter what.
For me respect forms depending on how interactions are going on.
If interactions goes totally wrong, there will be no respect, no matter what CoCs says.
Showing respect when it is absent considered as lie by me and, of course, I don't want to do this.
This project is not that bad to have no respect at all of course.
I see that developers make efforts to have good code and good community.
But because I see lots of problems with both parts, I can't be 100% respectful (as CoC unconditionally demands).
Less problems -> more respect. This is how it should work.
If you decide to ignore disrespectful criticism, you will lose lots of useful information.
Not every user will agree with your preferences of unconditional respect.
But such users will still be able to help.
from temp_safe_network.
but you decided to discuss CoCs instead (which will not help to make your code better). That is sad.
Actually, I discussed the issue and pointed out that I would not tolerate your attitude together. I pointed a way forwards so we might continue without the attitude. But you're not interested in that.
Code is made by people. I want people in this project treated with respect. I don't need to spend my time dealing with poorly behaved people. (All this time I could have been fixing bugs?!)
Even if you don't respect folk or a code base or people running a project, going out of your way to be disrespectful is not on.
👋
from temp_safe_network.
Related Issues (20)
- Make sure relocating nodes are using the AE flow when relocating HOT 1
- Make relocation details verifiable. HOT 1
- Duplicate pub const - trivial
- relocation: Relocation attempts should be retried periodically HOT 1
- DKG: Treat SAP change as a proxy for acks for dkg parts (removes need to cache old instances)
- Relocation edge cases causing failure
- Statemap generation broken
- safe node run-baby-fleming fails to start any nodes HOT 9
- Remove SAP `members` interface
- Add flow for reapplying post handover
- Relocation: rework relocation flow so that the relocating nodes drive the process to completion.
- membership/network knowledge: Merge Section Peers and Membership HOT 2
- sn_kg and sn_dbc can be moved to sn_interface HOT 1
- Moving age calculation into the interface (common) crate HOT 2
- Observations from fault detection review
- Replace loop statements in reqs with finite for loops HOT 1
- Only update FlowCtrlCmd context as needed
- removing cargo-husky HOT 3
- Reporting a vulnerability HOT 1
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 temp_safe_network.