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
net: SocketHandler logs peer id for close and disconnect #17251
Conversation
ACK b62013c |
This is already printed in the very next line |
@MarcoFalke true. It's not very grep-friendly though, and many other log messages do include |
Don't know if it's a thing but why isn't the IP being displayed as well? |
@emilengler putting IP addresses in the log was disabled by default in #3764 for privacy reasons |
@TheBlueMatt suggested making the error message |
b62013c
to
04dbdd6
Compare
unsigned ACK 04dbdd6 |
unsigned ACK 04dbdd6 LGTM! |
I've definitely hacked this in locally before. unsigned ACK 04dbdd6. |
04dbdd6 [net] SocketHandler: log peer id for close and disconnect (Sjors Provoost) Pull request description: When combined with `-logips` this makes it easier to diagnose disconnects. To test on macOS, find a connection you want to disrupt: ``` lsof -nP -iTCP:8333 -sTCP:ESTABLISHED ``` To shut it down gracefully you can use tcpkill or this Python script: https://github.com/google/tcp_killer The log should say: ``` 2019-10-25T13:26:55Z socket closed for peer=1 2019-10-25T13:26:55Z disconnecting peer=1 2019-10-25T13:26:55Z Cleared nodestate for peer=1 ``` To shut it down ungracefully I made a patch to the above script, adding a `-force` argument. _Careful, this may result in data corruption_. Then the log should say: ``` 2019-10-25T13:39:57Z socket select error Bad file descriptor (9) 2019-10-25T13:39:57Z socket recv error for peer=0: Bad file descriptor (9) 2019-10-25T13:39:57Z disconnecting peer=0 2019-10-25T13:39:57Z Socket close failed: 35. Error: Bad file descriptor (9) 2019-10-25T13:39:57Z Cleared nodestate for peer=0 ``` ACKs for top commit: MarcoFalke: unsigned ACK 04dbdd6 TheBlueMatt: unsigned ACK 04dbdd6 LGTM! theuni: unsigned ACK 04dbdd6. Tree-SHA512: 415313908484f97ffe11a48b4ed6afab3ab0be660c788adb9ad975f88b69aa1cfd5ccbe5859350cdf19ef8fde191fd530fb22cef34e70638defdc9f3d761c71d
Summary: 04dbdd613fe5c0a742de915e07553614cd4cbf46 [net] SocketHandler: log peer id for close and disconnect (Sjors Provoost) Pull request description: When combined with `-logips` this makes it easier to diagnose disconnects. To test on macOS, find a connection you want to disrupt: ``` lsof -nP -iTCP:8333 -sTCP:ESTABLISHED ``` To shut it down gracefully you can use tcpkill or this Python script: https://github.com/google/tcp_killer The log should say: ``` 2019-10-25T13:26:55Z socket closed for peer=1 2019-10-25T13:26:55Z disconnecting peer=1 2019-10-25T13:26:55Z Cleared nodestate for peer=1 ``` To shut it down ungracefully I made a patch to the above script, adding a `-force` argument. _Careful, this may result in data corruption_. Then the log should say: ``` 2019-10-25T13:39:57Z socket select error Bad file descriptor (9) 2019-10-25T13:39:57Z socket recv error for peer=0: Bad file descriptor (9) 2019-10-25T13:39:57Z disconnecting peer=0 2019-10-25T13:39:57Z Socket close failed: 35. Error: Bad file descriptor (9) 2019-10-25T13:39:57Z Cleared nodestate for peer=0 ``` Backport of Core [[bitcoin/bitcoin#17251 | PR17251]] Test Plan: `ninja check check-functional` Reviewers: #bitcoin_abc, deadalnix Reviewed By: #bitcoin_abc, deadalnix Differential Revision: https://reviews.bitcoinabc.org/D7921
When combined with
-logips
this makes it easier to diagnose disconnects.To test on macOS, find a connection you want to disrupt:
To shut it down gracefully you can use tcpkill or this Python script: https://github.com/google/tcp_killer
The log should say:
To shut it down ungracefully I made a patch to the above script, adding a
-force
argument. Careful, this may result in data corruption. Then the log should say: