* In some cases (like certain qualified file backends), a domain
may be desired that is not simple a wiki ID.
* Also added a LockManangerGroup::config() function to export
the configuration of a lock manager.
Change-Id: I5a75c55be3cc9017ed8a717d6d30e466fd00340f
* The S3 side of rgw can be configured for use with just temp URLs.
This works around http://tracker.newdream.net/issues/3454.
Change-Id: Id0ee68da10b38e1d0a0ba7ebba26fccc8d32e2d4
Attempt to shut some noise in production logs
Change-Id: I4bac4027d82e4194b6ec46658d52f49038db573c
Warning: copy(/mnt/thumbs2/wikipedia/commons/thumb/8/8c/Map_of_USA_AK_full.png/120px-Map_of_USA_AK_full.png) [<a href='function.copy'>function.copy</a>]: failed to open stream: No such file or directory in /usr/local/apache/common-local/php-1.21wmf6/includes/filebackend/FSFileBackend.php on line 254
Attempt to shut a lot of noise in production logs
e.g.
1 Warning: unlink(/mnt/thumbs2/wikipedia/commons/thumb/f/f2/Members_only_jacket.jpg/800px-Members_only_jacket.jpg) [<a href='function.unlink'>function.unlink</a>]: No such file or directory in /usr/lo
cal/apache/common-local/php-1.21wmf6/includes/filebackend/FSFileBackend.php on line 422
Change-Id: I9e1407c4b11301f468f8e291105955ade9a731d0
* This means that handleException() will actually trigger a new auth
attempt for the next operation if there was an unexpected error.
Change-Id: I8c651cc57d0967549ec67257078c8e126674235d
This gives updates for the faster part (local FS file changes) and not
the slow GETs that really need this. This should be re-done to use a
byte based read progress callback (that handles the parallel GETs).
This reverts commit 6c9f13b547
Change-Id: Id8d739e1d5048e7f38c68eda4f9a008682707cba
* Extended negative caching to handle the "latest" parameter.
* Added a new "dstExists" parameter to some write functions to avoid
salting the cache when a file is created at an unused path. The ability
to do this was already mentioned in the setFileCache() doc comments.
Change-Id: Ib64e4c128e16f4d284033fff70b88686fa0593ab
* This partially reverts b80bd6159b.
* Clarified 'headers' parameter documentation a bit.
* Added the "describe" function wrappers that the other ops have.
Change-Id: I7142fd4d973f5f3407d244a4cae793934083bc26
* Contrary to Swift docs, doing a POST seems to kill all the old metadata
headers. I noticed this in testing due to addMissingMetadata() notices.
Change-Id: I988d7a8d38569823c9d66605b02705ee15a8bbe7
* Added a 'describe' file operation type to doOperations()/doQuickOperations().
This can be used by scripts to fill in headers like X-Content-Duration for
files that already exists.
* Removed wrong comments about removing headers (they don't get removed with null).
* Added some quick unit tests.
Change-Id: I43c5907b59421beaa9487eefac0cdbf8bc6c6d85
* For backends that support it, custom HTTP headers can be set on files.
* Added a getStreamHeaders() function to MediaHandler to let subclasses
recommend header name/value pairs to be used for responses to GET/HEAD
requests. For example, an OGG handler could set "X-Content-Duration".
* Made LocalFile use this function to set HTTP headers of new uploads.
Change-Id: I1b017e1342513f0097fe6d142aae18e819403293
* This lets callers update the cache/db with the operation progress so that
APIs can be made to use this and expose this information to client polling.
Change-Id: I9a86c1c5ffccf029be5a150e5998c3ce4740ec62
This is necessory to close all handlers on the directory and than it is
possible to rmdir the directory without a 'permission denied' on a
windows machine.
Corresponding unit test failure:
1) FileBackendTest::testRecursiveClean
Dir mwstore://localtesting/unittest-cont1/e/a no longer exists
(FSFileBackend).
Failed asserting that true matches expected false.
Change-Id: Ide58c6d0ec101bf0ddcd6b7414c51075fc28825b
Callers often tend to end up calling getFileStat(), at least indirectly,
or in various successive function on the same path. This created RTTs
when the file didn't exist since negatives were not cached. This change
does the following:
* Cache definitive negatives (404s) in the process cache.
Nothing is cached on failure (like network problems).
* Ignore process cache entries after a brief time period
so long running scripts do not have overly stale entries.
Change-Id: I356bd9f48281e3c7e7a273778b2aca59c521a0c7
* This can speed up certain video file operations for scripts that support
specifying source files via URLs and support HTTP Range headers.
* Updated unit tests.
Change-Id: I60cb95c2e3dd9f7df1f740e9182be7c79af69d6e
* copy() and rename() will overwrite any destination, including on Windows.
Tested with Windows 7, and even rename() does this. The /Y flag is also
set for Windows cmd commands now.
* Set the "binary mode" /B flag for Windows cmd commands.
Change-Id: Id11f31b020f786d5b66b0c57298ecc2b9d6170fb
* This lets callers use "copy if exist" semantics more easily and avoids extra stat
queries to the backend (since the cache is cleared before doOperations()).
* Tweaked FileOp::fileSha1() to reduce backend stat requests as 404s are not cached.
Change-Id: Icb5ca14b3316f273d53593f48979d14e113990e1