* [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).