Ruby mogilefs-client dev/users discussion/patches/bugs/help/...
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [ANN] mogilefs-client 3.11.1 - MogileFS client library for Ruby
@ 2017-03-23  2:10  6% Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2017-03-23  2:10 UTC (permalink / raw)
  To: ruby-talk, mogile; +Cc: mogilefs-client-public

A MogileFS client library for Ruby.  MogileFS is an open source
distributed filesystem, see: http://mogilefs.org/ for more details.
This library allows any Ruby application to read, write and delete
files in a MogileFS instance.

Changes:

    mogilefs-client 3.11.1
    
    This release updates the IO#write garbage workaround to be
    enabled for Ruby 2.0 and 2.1 users; but avoids it on the
    just-released Ruby 2.4.1; as that includes the backported bugfix
    for https://bugs.ruby-lang.org/issues/13085
    
    There's also some trivial doc and code aesthetics fixes.
    
    6 changes since 3.11.0:
    
          .olddoc.yml: add trailing slash on URL
          socket_common: expand IO#write garbage workaround to 2.0 and 2.1
          socket_common: limit garbage workaround to Ruby <= 2.4.1
          socket_common: remove needless 'o' modifier for Regexp
          socket_common: improve readability of case statement
          GNUmakefile: fix incorrect comment

rdoc :: https://bogomips.org/mogilefs-client/
feed :: https://bogomips.org/mogilefs-client/NEWS.atom.xml
list :: mogilefs-client-public@bogomips.org
list-cc :: mogile@googlegroups.com
list-archive :: https://bogomips.org/mogilefs-client-public/
git clone git://bogomips.org/mogilefs-client.git
nntp://news.public-inbox.org/inbox.comp.file-systems.mogilefs.ruby

^ permalink raw reply	[relevance 6%]

* [PATCH] socket_common: improve readability of case statement
  @ 2017-03-23  1:40  7% ` Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2017-03-23  1:40 UTC (permalink / raw)
  To: mogilefs-client-public

Due to the release of Ruby 2.4.1 with the necessary fix,
it seems likely that future releases (if any) of the 2.2
and 2.3 series will avoid garbage on IO#write, too.
---
 lib/mogilefs/socket_common.rb | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/lib/mogilefs/socket_common.rb b/lib/mogilefs/socket_common.rb
index ec9249f..53771c8 100644
--- a/lib/mogilefs/socket_common.rb
+++ b/lib/mogilefs/socket_common.rb
@@ -59,16 +59,21 @@ def readpartial(size, buf = "", timeout = 5)
   # Workaround for https://bugs.ruby-lang.org/issues/13085
   # (excessive garbage from IO#write)
   # This regression was introduced in Ruby 2.0 (r34847)
-  # and looks like it will be fixed in Ruby 2.4.1 and Ruby 2.5
+  # and it is fixed in Ruby 2.4.1+
   # backport request: https://bugs.ruby-lang.org/issues/13299
-  rvn = RUBY_VERSION.split('.'.freeze).map(&:to_i) # "2.4.1" => [ 2, 4, 1 ]
   if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ruby' &&
-     rvn[0] >= 2 &&
-     ((rvn[1] == 4 && rvn[2] == 0) || (rvn[1] < 4))
-    def write(buf)
-      # Blocking TCP writes would error out long before one day,
-      # and MogileFS won't allow file creations which take over a day.
-      timed_write(buf, 86400)
+    case RUBY_VERSION
+    when '2.0.0',
+         '2.1.0'..'2.1.9',
+         # we expect 2.2.7 and 2.3.4 to not need this
+         '2.2.0'..'2.2.6',
+         '2.3.0'..'2.3.3',
+         '2.4.0' # 2.4.1 is good!
+      def write(buf)
+        # Blocking TCP writes would error out long before one day,
+        # and MogileFS won't allow file creations which take over a day.
+        timed_write(buf, 86400)
+      end
     end
   end
 end
-- 
EW

^ permalink raw reply related	[relevance 7%]

Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2017-03-13 19:28     [PATCH] socket_common: limit garbage workaround to Ruby <= 2.4.1 Eric Wong
2017-03-23  1:40  7% ` [PATCH] socket_common: improve readability of case statement Eric Wong
2017-03-23  2:10  6% [ANN] mogilefs-client 3.11.1 - MogileFS client library for Ruby Eric Wong

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/mogilefs-client.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).