Project

General

Profile

Feature #5480

remove GServer from stdlib

Added by rkh (Konstantin Haase) over 5 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-core:40313]

Description

=begin
I propose removing the gserver library from Ruby's stdlib.

People should not use it for the following reasons:

  • It has no tests at all.
  • It does something completely different than it claims to do (the docs say it manages a thread pool, while in reality it creates a new thread for every incoming connection).
  • It is not maintained.

For instance, Net::HTTPServer (https://github.com/postmodern/net-http-server) uses GServer for concurrency. Removing GServer and just serving one request at a time improves performance drastically.
=end

Associated revisions

Revision 47187
Added by hsbt (Hiroshi SHIBATA) almost 3 years ago

* lib/gserver.rb: removed unmaintained code.
[Feature #5480]
* lib/xmlrpc/httpserver.rb: ditto.

Revision 47187
Added by hsbt (Hiroshi SHIBATA) almost 3 years ago

* lib/gserver.rb: removed unmaintained code.
[Feature #5480]
* lib/xmlrpc/httpserver.rb: ditto.

Revision 47187
Added by hsbt (Hiroshi SHIBATA) almost 3 years ago

* lib/gserver.rb: removed unmaintained code.
[Feature #5480]
* lib/xmlrpc/httpserver.rb: ditto.

Revision 47187
Added by hsbt (Hiroshi SHIBATA) almost 3 years ago

* lib/gserver.rb: removed unmaintained code.
[Feature #5480]
* lib/xmlrpc/httpserver.rb: ditto.

History

#1 [ruby-core:40335] Updated by nahi (Hiroshi Nakamura) over 5 years ago

Agree for removal as the reasons Konstantin listed, but we might need migration period. How others think?
Do we add deprecation warning in 1.9.3 from now? (and remove GServer at 2.0.)

NB: We should remove lib/xmlrpc/httpserver.rb which utilizes GServer. lib/xmlrpc/httpserver.rb is described as 'obsolete' in 2005 (See ChangeLog.) And this dependency is the reason why gserver.rb is included in 1.8 IIRC.

#2 [ruby-core:52904] Updated by ko1 (Koichi Sasada) over 4 years ago

  • Category set to lib
  • Assignee set to nahi (Hiroshi Nakamura)

I've forget this issue.
I assigned it to Nahi-san.

#3 [ruby-core:64333] Updated by hsbt (Hiroshi SHIBATA) almost 3 years ago

  • Status changed from Open to Assigned
  • Assignee changed from nahi (Hiroshi Nakamura) to hsbt (Hiroshi SHIBATA)

#4 [ruby-core:64375] Updated by hsbt (Hiroshi SHIBATA) almost 3 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

Applied in changeset r47187.


  • lib/gserver.rb: removed unmaintained code. [Feature #5480]
  • lib/xmlrpc/httpserver.rb: ditto.

#5 [ruby-core:69179] Updated by postmodern (Hal Brodigan) about 2 years ago

For those that absolutely need to use GServer, it's also available on rubygems.

However, GServer isn't being maintained, so users should migrate to an alternative or write their own threaded TCP server as needed.

Also available in: Atom PDF