Bug 763122 (GLUSTER-1390)

Summary: RPC errors from VMware ESX mounts and showmount hangs on 10gige
Product: [Community] GlusterFS Reporter: Harshavardhana <fharshav>
Component: nfsAssignee: Shehjar Tikoo <shehjart>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: urgent    
Version: nfs-betaCC: allen, cww, gluster-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTP Mount Type: nfs
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Peach_GS_4_Server_gNFS
none
Peach_GS_3_Server_gNFS
none
Peach_GS_2_Server_gNFS
none
Peach_GS_1_Server_gNFS none

Description Shehjar Tikoo 2010-08-18 02:58:35 UTC
Use the namelookup off option for turning off name resolution. See RC10 relnotes FAQ section for more info.

Comment 1 Harshavardhana 2010-08-18 03:00:14 UTC
Created attachment 288

Comment 2 Harshavardhana 2010-08-18 03:00:39 UTC
Created attachment 289

Comment 3 Harshavardhana 2010-08-18 03:01:01 UTC
Created attachment 290

Comment 4 Harshavardhana 2010-08-18 03:01:17 UTC
Created attachment 291

Comment 5 Harshavardhana 2010-08-18 05:56:16 UTC
[2010-08-18 00:13:15] E [rpcsvc.c:478:rpcsvc_conn_peer_check_addr] rpc-service: Failed to get remote addr: Non-re
coverable failure in name resolution
[2010-08-18 00:13:15] E [rpc-socket.c:270:rpcsvc_socket_peername] rpc-socket: Failed to get peer name: Bad file d
escriptor
[2010-08-18 00:13:15] E [rpcsvc.c:1591:rpcsvc_submit_generic] rpc-service: Failed to submit message
[2010-08-18 00:13:15] E [mount3.c:85:mnt3svc_submit_reply] nfs-mount: Reply submission failed
[2010-08-18 00:13:29] E [rpcsvc.c:1230:rpcsvc_program_actor] rpc-service: RPC program not available
[2010-08-18 00:14:18] E [rpcsvc.c:449:rpcsvc_conn_peer_check_name] rpc-service: Failed to get remote addr: Temporary failure in name resolution
[2010-08-18 00:14:38] E [rpcsvc.c:449:rpcsvc_conn_peer_check_name] rpc-service: Failed to get remote addr: Temporary failure in name resolution
[2010-08-18 00:14:38] E [rpc-socket.c:300:rpcsvc_socket_peeraddr] rpc-socket: Failed to get peer addr: Transport endpoint is not connected
[2010-08-18 00:14:38] E [rpcsvc.c:478:rpcsvc_conn_peer_check_addr] rpc-service: Failed to get remote addr: Non-recoverable failure in name resolution
[2010-08-18 00:14:38] E [rpc-socket.c:270:rpcsvc_socket_peername] rpc-socket: Failed to get peer name: Bad file descriptor
[2010-08-18 00:14:38] E [rpcsvc.c:1591:rpcsvc_submit_generic] rpc-service: Failed to submit message
[2010-08-18 00:14:38] E [mount3.c:85:mnt3svc_submit_reply] nfs-mount: Reply submission failed
[2010-08-18 00:15:40] E [rpcsvc.c:449:rpcsvc_conn_peer_check_name] rpc-service: Failed to get remote addr: Temporary failure in name resolution
[2010-08-18 00:16:00] E [rpcsvc.c:449:rpcsvc_conn_peer_check_name] rpc-service: Failed to get remote addr: Temporary failure in name resolution
[2010-08-18 00:16:00] E [rpc-socket.c:300:rpcsvc_socket_peeraddr] rpc-socket: Failed to get peer addr: Transport endpoint is not connected
[2010-08-18 00:16:00] E [rpcsvc.c:478:rpcsvc_conn_peer_check_addr] rpc-service: Failed to get remote addr: Non-recoverable failure in name resolution
[2010-08-18 00:16:00] E [rpc-socket.c:270:rpcsvc_socket_peername] rpc-socket: Failed to get peer name: Bad file descriptor
[2010-08-18 00:16:00] E [rpcsvc.c:1591:rpcsvc_submit_generic] rpc-service: Failed to submit message
[2010-08-18 00:16:00] E [mount3.c:85:mnt3svc_submit_reply] nfs-mount: Reply submission failed
[2010-08-18 00:17:54] E [rpcsvc.c:1230:rpcsvc_program_actor] rpc-service: RPC program not available
[2010-08-18 00:18:46] E [rpcsvc.c:449:rpcsvc_conn_peer_check_name] rpc-service: Failed to get remote addr: Temporary failure in name resolution
[2010-08-18 00:19:06] E [rpcsvc.c:449:rpcsvc_conn_peer_check_name] rpc-service: Failed to get remote addr: Temporary failure in name resolution
[2010-08-18 00:19:06] E [rpc-socket.c:300:rpcsvc_socket_peeraddr] rpc-socket: Failed to get peer addr: Transport endpoint is not connected
:

Comment 6 Harshavardhana 2010-08-18 15:53:31 UTC
(In reply to comment #1)
> Use the namelookup off option for turning off name resolution. See RC10
> relnotes FAQ section for more info.

Since we are not using hostnames in the volfiles how does this option fit in there?.

I am using rc9 since rc10 is not an option with the performance regression we saw with replicate and currently this setup is distributed+replicated. There is already another bug id which is filed against it.

Comment 7 Shehjar Tikoo 2010-08-18 16:53:26 UTC
(In reply to comment #6)
> (In reply to comment #1)
> > Use the namelookup off option for turning off name resolution. See RC10
> > relnotes FAQ section for more info.
> 
> Since we are not using hostnames in the volfiles how does this option fit in
> there?.
It doesnt matter, the getaddrinfo function ends up doing a lookup anyway even if the IP address is specified, I guess that is the bug. I need to detect whether we have addresses or hostnames specified in the rpc-auth.

Try with namelookup off, that will confirm our thinking.

> 
> I am using rc9 since rc10 is not an option with the performance regression we
> saw with replicate and currently this setup is distributed+replicated. There is
> already another bug id which is filed against it.

Yes. 1174.

Comment 8 Shehjar Tikoo 2010-08-30 06:58:34 UTC
Harsha, did you try with namelookup off?

Comment 9 Allen Lu 2010-10-22 18:10:54 UTC
raise to P1 major

Comment 10 Shehjar Tikoo 2010-10-25 01:16:45 UTC
(In reply to comment #9)
> raise to P1 major

Was this seen again? Can you please try with namelookup off option? Will help me confirm whether the problem is what I think it is. Thanks.

Comment 11 Shehjar Tikoo 2010-11-02 03:41:43 UTC
I've been looking at the code to fix this but it will need quite a bit of change just to detect whether the filters contain IPs or hostnames. It sounds simple but the way the code is organised, it is not. I am of the opinion that the simpler fix is to just use namelookup off in setups where DNS is unreachable.

Please re-open if using namelookup is a pain point. Thanks.