-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extra 'noise' error messages #292
Comments
Sounds good. Going forward, "got a response from peer, but I was too late. One already arrived" is probably a useful DHT event to be aware of. Same goes for bitswap as well. |
Yeah, especially if that happens very often, it shows inefficiency in the network |
You guys okay with me removing this log output?
|
@maybebtc sure |
fixed in 682d2ba |
I think we need a new log function: |
I support. Are you imagining Event being one level less verbose than Debug? |
We already have a lot. why not |
proposal We sort of need an approach that we can all agree on and internalize. Here's a proposal. It may be off by a constant factors. We probably need (0) decide which of these characteristics we find meaningful (1) to decide which of these tiers we are interested in and (2) agree on conventions for mapping characteristics to the identified tiers. Thoughts? Critical/Error
(failed to connect to bootstrap nodes. a value came back nil and I really cannot move forward without it) Error/Warm
Notice/Info
Info/Debug
(connected to peer, disconnected from peer, sent a message, received a message, received a request, got providers for key) Debug/Trace
Trace
(when the value of the index i of the for loop was 7, the value of strs[i] was 'baz') |
Critical should require IMMEDIATE attention from anyone who cares about the node, Error should be logged in a visible place, but should not be thrown in instances where the program cannot continue. Warnings should be when something looks odd, or out of place, or potentially troublesome, but not actively error causing. Notice/Infoshould allow a high level view of the systems behaviour. Debug should contain only extra information that would aid in debugging an issue. 'Events' should be pulled mainly from Notice/Info, but also potentially finer grained events could potentially be sourced from Trace messages. |
@jbenet @whyrusleeping Let me know if you want to direct the eventlog output to _both_ the file and stderr. Right now it goes to file. Perhaps this is just a minor bip in the larger discussion around log levels. #292 License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
@jbenet @whyrusleeping Let me know if you want to direct the eventlog output to _both_ the file and stderr. Right now it goes to file. Perhaps this is just a minor bip in the larger discussion around log levels. #292 License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
@jbenet @whyrusleeping Let me know if you want to direct the eventlog output to _both_ the file and stderr. Right now it goes to file. Perhaps this is just a minor bip in the larger discussion around log levels. #292 License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
@jbenet @whyrusleeping Let me know if you want to direct the eventlog output to _both_ the file and stderr. Right now it goes to file. Perhaps this is just a minor bip in the larger discussion around log levels. ipfs/kubo#292 License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
@jbenet @whyrusleeping Let me know if you want to direct the eventlog output to _both_ the file and stderr. Right now it goes to file. Perhaps this is just a minor bip in the larger discussion around log levels. ipfs/kubo#292 License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com> This commit was moved from ipfs/go-bitswap@40f3a6a
In the normal course of operations in the DHT we throw a large number of error messages like the ones shown in the following gist:
https://gist.github.com/whyrusleeping/c8bdc6163ea29f54a3ba
This is because when we receive the value we are looking for from one peer, with an outstanding request with another, we simple cancel the context, and remove the 'callback' for that request. This becomes an issue if the other peer finally responds, as it looks like an error to us.
I propose that when we cancel the context for a request like this, instead of removing the entry, we 'void' it, or mark it stale. and then when the call times out, or the peer responds, we simply note that its voided, remove the entry and return.
The text was updated successfully, but these errors were encountered: