Initial implementation for HADOOP-266: add failure metrics to ASV
Add missing file from the initial implementation for HADOOP-266
Merge latest changes into the fix for HADOOP-266
Response to design feedback on HADOOP-266: use the HTTP status code RFC as naming and logic guide for how we call our error metrics: 4xx status code should be client-side errors, and 5xx status code should be server-side error
Initial fix for HADOOP-383: apply a universal umask to take out execute permissions on any file in ASV, similar to what DFS does
Address review feedback from Ivan on HADOOP-383: also apply the umask from FsPermission in additition to the universal umask for files when applicable
Fix HADOOP-259: allow ASV accounts not in the public .blob.core.windows.net to be specified
Merging the changes back from Apache
HADOOP-404 ERROR sink.WindowsAzureTableSink: tableClient.execute failed
Workaround fix for HADOOP-408: use LogFactory instead of log4j directly in WindowsAzureTableSink so that if log4j throws an exception LogFactory would eat it and fall back on simple logging to stderr
Fix for HADOOP-411: fix a race condition in metrics collection in ASV that mainly happens during file uploads (which happen in parallel)
Fix for HADOOP-412: implement getBlockLocations() in ASV to return multiple block locations instead of inheriting the default implementation of just returning one
Tweak the fix to HADOOP-412 in response to code review and perf experiments: lower the default for max-disting-block-locations to 1000, and factor out the azureblobstore prefix as a constant
Fix a bug in HADOOP-412 (ASV getBlockLocations) that Ivan caught in code review: reqestedLength is a wrong and redundant variable, should use the len variable instead. Add a unit test for that scenario
Address more CR feedback from Ivan on HADOOP-412: throw if blockSize is 0, and unit-test some of the bad argument cases
Tweak the fix for HADOOP-412 after review and discussions with Ivan: remove the logic to have many distinct block locations in ASV (instead all the blocks claim they're in localhost), and instead we'll rely on setting mapred.max.split.size to a good value in order for CombineFileInputFormat to give us the splits we need
One more tweak to the HADOOP-412 fix: make the fake host of ASV block locations configurable (default being localhost)
Fix for HADOOP-248: use standard Hadoop configuration mechanisms to set a test account for Azure Storage in unit tests instead of environment variables
Fix HADOOP-335: Remove the retry policy on the AzureNativeFileSystemStore object, and just rely on the retries in the Azure SDK
Merge latest changes in branch-1-win with HADOOP-383 changes