about summary refs log tree commit homepage
DateCommit message (Collapse)
2011-11-07cleanup unused variable warnings
2011-11-07fix return value for chunked Util::StoreContent users
Using unknown sizes with StoreContent is now supported (but you're probably better off using a pipe or just and object that acts like an IO)
2011-11-07http_file: remove unnecessary check
There's only one place where we close the socket
2011-11-07store_file works on IO#read-like methods, too
The readpartial is not in the Rack spec for rack.input objects, but something like IO#read is.
2011-11-07flesh out pipe streaming + chunk for uploads
Of course the backend server needs to support chunking, but the latest Perlbal does.
2011-11-07tests: more tests for admin stuff
We'll need to setup a fresh MogileFS instance for some tests.
2011-11-07tests: more + improved integration tests
We'll also be testing some admin commands in there.
2011-11-07admin: allow changing replpolicy instead of just mindevcount
This retains backwards compatibility and users of MogileFS 2.x to change replpolicy along with mindevcount.
2011-11-06admin: update rdoc for deleting a domain
2011-11-06delete returns true on success
Not some random hash from the parser.
2011-11-06admin: get_domains includes replpolicy
We'll need to evaluate dropping support for older MogileFS. They probably didn't have replpolicy back in the day.
2011-11-06tests: integration tests for mogtool --bigfile
We need to test deprecated behavior to not break expectations for large, archived files in the future.
2011-11-06bigfile: fix retry on rebalanced keys
2011-11-06Manifest: update
2011-11-05return file size properly when storing file
2011-11-05support chunked uploads via PUT
This can be useful for streaming to a backend (this feature needs tests)
2011-11-05redo IO.copy_stream usage
Avoid deepening stack depth and make it easier to migrate fully to 1.9 in the future (dropping 1.8 support).
2011-11-05backend: require CRLF on every line we parse
Otherwise IO#gets and MogileFS::Socket#timed_gets could return a truncated response before EOF and we would never know the response was truncated.
2011-11-05make EmptyPathError more descriptive
2011-11-05rename httpfile => http_file
Should be easier to read this way
2011-11-05refactor httpfile and remove layering violation
Splitting calls to backend.create_open + create_close between files is also extremely confusing and error-prone. Hopefully nobody actually depends on some attributes we've removed.
2011-11-04new HTTPReader implementation replaces the http_read_sock method
This is cleaner and replaces redundant code where we would retry paths. MogileFS::MogileFS#size now raises on error instead of returning nil.
2011-11-04remove the network module
It's only used internally by the deprecated bigfile implementation, and we don't even need it for that.
2011-11-03doc: tag files containing internal implementation details
We don't want our users to rely on them
2011-11-03bigfile: documentation update
2011-11-02util: remove Socket.mogilefs_init method
It's no longer used anywhere
2011-11-02remove sysrwloop for copy_stream
We're trying to use as much as we can from Ruby 1.9
2011-11-02test/kgio: disable of MOGILEFS_CLIENT_PURE is set
2011-11-02mog: remove sysrwloop dependency for "tee"
We can do this in a way that's compatible with IO.copy_stream
2011-11-02mogilefs: don't pass class argument if it's "default"
mogilefsd may not like that
2011-11-02bigfile: make parse_info public and require arg
2011-11-02bigfile: better factor this for use with IO.copy_stream
syswrloop and it's filter arg is going away, but we're stuck supporting bigfiles in read-only mode for eternity.
2011-11-02remove the rest of the Socket monkeypatches
No more mucking with existing Ruby classes \o/
2011-11-02util: remove syswrite_full method
It's no longer used
2011-11-02make http_read_sock and friends use new socket API
This will need further refactoring
2011-11-01use IO.copy_stream if available for making uploads with HTTPFile
2011-11-01httpfile: remove silly syswrite_full usage
Since Sockets default to IO#sync=true, IO#write is just like syswrite_full and there's no reason to continue using it.
2011-11-01backend: rely on Array#shuffle instead sort_by { rand }
This is easier-to-read and more correct. This is not available in 1.8.6, but we already broke 1.8.6 compatibility with String#bytesize.
2011-10-31wire up new socket class to backend
This should allow us to swap in kgio more easily.
2011-10-31introduce MogileFS::Socket class
More work towards _not_ monkey-patching core classes.
2011-10-22test_backend: remove TempServer usage
This needs to be less implementation detail-oriented
2011-10-22httpfile: remove comment to NFSFile
NFS support is gone
2011-10-22README.txt: shorten bogomips.org URLs
bogomips.org went on a URL diet earlier this year.
2011-10-20util: small ivar reduction
2011-10-20remove Socket#mogilefs_peername
One tiny step in removing core class changes.
2011-10-20tests: do not assume "." is in $LOAD_PATH anymore
Ruby 1.9.2+ removes "." from $LOAD_PATH
2011-01-12mogilefs-client 2.2.0 v2.2.0
= 2.2.0 * internal cleanups (no public API breakage) * refactor backend socket/connection handling for reliability There'll probably be more aggressive cleanups/refactoring in future releases if I have time.
2011-01-12refactor backend socket/connection handling
We now take steps to ensure the socket we wrote to is always the same as the socket we'll read from. And if a read ever fails we'll close the socket to avoid having responses. We've also switched from Socket#send to IO#write as IO#write guarantees write-in-full behavior as long as the socket is alive (MogileFS queries are small) The public MogileFS::Backend#shutdown method is now thread-safe, too.
2010-02-19bump VERSION to 3.0.0pre
The 3.x.x series will probably be incompatible with 2.x.x...
2010-02-19remove support for TCP_CORK
It's needless optimization on a LAN (most places where MogileFS is deployed) and the extra method calls in Ruby seem to force more overhead in to the application. So stop doing it.