WindowsAzure/azure-sdk-for-java — Issue #1: Blob storage hangs for files > about 3500 kb
Author: mikebell90
Created: 2011-12-27 01:44:29+00:00
State: open

Guys,
InputStream is0 = new BufferedInputStream(new FileInputStream(f));
Date now = new Date();
System.out.println("uploading...@"+now+" "+f);
String storageConnectionString="DefaultEndpointsProtocol=http"+
";AccountName=mikebell" +
";AccountKey=";
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);

CloudBlobClient bc = storageAccount.createCloudBlobClient();
CloudBlobContainer c=bc.getContainerReference("retain");
CloudBlockBlob blob =c.getBlockBlobReference(f.getName());
blob.upload(is0,f.length());
System.out.println("File uploaded... took "+(System.currentTimeMillis()-now.getTime())+" ms");

hangs forever for me if file exceeds 3500 MB

Attempts to diagnose:
1. Tried many files between 3500-7000KB. All fail pass the threshold which for me was about 3500-3800KB.
2. All files that fail always fail.
3. A .NET explorer gui works when uploading
4. Windows 7 x64 laptop, plenty of RAM (8 GB).
5. JVM given 1GB of RAM via xMx
6. Run from Eclipse 3.7.1 in IDE (run from application)
7. Java 1.6.0_24 JDK (oracle)
8. Memory and Buffered Streams made no dfifference.
9. Stack trace showed many threads all blocking while uploading in httpurlconnection, main coordinator thread waiting on take (pretty much as expected for a thread pool)