Project

General

Profile

Actions

Bug #13007

closed

Webbrick takes 5s to start when machine name looks like a real domain

Added by grosser (Michael Grosser) about 8 years ago. Updated about 8 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:78492]

Description

sudo scutil --set HostName foo.local
ruby -r socket -e "Socket.gethostbyname(Socket.gethostname)"

or much simpler:

ruby -r socket -e "Socket.gethostbyname('foo.local')"

called from webrick/config.rb:24 ... Utils::getservername

Ideally this should be lazy, so I can override ServerName and avoid this ...
or not do a remote lookup at all by default


Related issues 1 (0 open1 closed)

Related to Ruby master - Feature #6559: Set DoNotReverseLookup to true in WebrickClosednaruse (Yui NARUSE)Actions

Updated by shyouhei (Shyouhei Urabe) about 8 years ago

Sad news is gethostbyname blocks under the hood in the system library, not in ruby's code.

But webrick's issue might be resolved already by issue #6559. Can you try the latest trunk to see if that fixed your problem?

Actions #2

Updated by shyouhei (Shyouhei Urabe) about 8 years ago

  • Related to Feature #6559: Set DoNotReverseLookup to true in Webrick added

Updated by shugo (Shugo Maeda) about 8 years ago

Shyouhei Urabe wrote:

Sad news is gethostbyname blocks under the hood in the system library, not in ruby's code.

But webrick's issue might be resolved already by issue #6559. Can you try the latest trunk to see if that fixed your problem?

It seems not a reverse lookup issue, but a forward lookup issue.

It sounds reasonable to delay the call of Utils.getservername so that
users can override ServerName, in which case there's no need to call
Utils.getservername.

Updated by shyouhei (Shyouhei Urabe) about 8 years ago

Hmm, I see. No objection for the approach then.

Actions #5

Updated by shugo (Shugo Maeda) about 8 years ago

  • Status changed from Open to Closed

Applied in changeset r57014.


Delay Utils.getservername until needed.

There is no need to call Utils.getservername when the :ServerName option is
specified, so delay Utils.getservername until needed to avoid unnecessary
DNS lookups. [ruby-core:78492] [Bug #13007]

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0