PUT Blobs of size greater than 5.5MB fail with HTTPS but not HTTP

I have written a Cygwin app that uploads (using the REST API PUT operation) Block Blobs to my Azure storage account, and it works well for different size blobs when using HTTP. However, use of SSL (i.e. PUT using HTTPS) fails for Blobs greater than 5.5MB.
Blobs less than 5.5MB upload correctly. Anything greater and I find that the TCP session (as seen by Wireshark) reports a dwindling window size that goes to 0 once the aforementioned number of bytes have been transferred. The failure is very repeatable and
consistent. As a point of reference,  PUT operations against my Google/AWS/HP accounts work fine when using HTTPS for various object sizes, which suggests my problem is not in my client but specific to the HTTPS implementation on the MSAZURE storage servers. 
If I upload the 5.5MB blob as two separate uploads of 4MB and 1.5MB followed by a PUT Block List, the operation succeeds as long as the two uploads used
separate HTTPS sessions. Notice the emphasis on separate. That same operation fails if I attempt to maintain an HTTPS session across both uploads. This is another data point that seems to suggest that the Storage
server has a problem 
Any ideas on why I might be seeing this odd behavior that appears very specific to MS Azure HTTPS, but is not seen when used against AWS/Google/HP cloud storage servers?

Hi,
I'm getting this problem also when trying to upload blobs > 5.5mb using the Azure PHP SDK with HTTPS.
There is no way I can find to get a blob > 5.5mb to upload, unless you use http, rather than https, which is not a good solution.
I've written my own scripts to use the HTTP_Request2 library, to send the request as a test, and it fails with that also when using the 'socket' method.
However, if I write a script using the PHP Curl extension directly, then it works fine, and blobs > 5.5mb get uploaded.
It seems to be irrelevant which method is used, uploading in 1 go, or using smaller chunks, the PHP SDK seems broken.
Also, I think I've found another bug in the SDK, when you do the smaller chunks, the assigning of the BlockID is not correct.
In: WindowsAzure/Blob/BlobRestProxy.php
Line: $block->setBlockId(base64_encode(str_pad($counter++, '0', 6)));
That is incorrect usage of the str_pad function, and if you upload a huge blob that needs splitting, then the blockIDs will after a while become a different length and therefore fail.
It should be: str_pad($counter++, 6, '0',STR_PAD_LEFT);
I also think there is 1 too many base64_encodes() in there, as I think its being done twice, once in that line, and then again within the createBlobBlock() just before the send() for a 2nd time.
Can someone please advice, when this/these bug(s) will be fixed in the PHP SDK, as at the moment its useless to me as I cant upload things securely.

Similar Messages

  • Passing variable of size greater than 32767 from Pro*C to PL/SQL procedure

    Hi,
    I am trying to pass a variable os size greater than 32767 from Pro*C to an SQL procedure.I tried assigning the host variable directly to a CLOB in the SQL section but nothing happens.In the below code the size of l_var1 is 33000.PROC_DATA is a procedure that takes CLOB as input and gives the other three(Data,Err_Code,Err_Msg) as output.These variables are declared globally.
    Process_Data(char* l_var1)
    EXEC SQL EXECUTE
    DECLARE
    l_clob clob;
    BEGIN
    l_clob := :l_var1
    PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
    COMMIT;
    END;
    END-EXEC;
    I also tried using DBMS_LOB.This was the code that i used.
    Process_Data(char* l_var1)
    EXEC SQL EXECUTE
    DECLARE
    l_clob clob;
    BEGIN
    DBMS_LOB.CREATETEMPORARY(l_clob,TRUE);
    DBMS_LOB.OPEN(l_clob,dbms_lob.lob_readwrite);
    DBMS_LOB.WRITE (l_clob, LENGTH (:l_var1), 1,:l_var1);
    PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
    COMMIT;
    END;
    END-EXEC;
    Here since DBMS_LOB packages allow a maximum of 32767,the value of l_var1 is not being assigned to l_clob.
    I am able to do the above process provided i split l_var1 into two variables and then append to l_clob using WRITEAPPEND.i.e l_var1 is 32000 in length and l_var2 contains the rest.
    Process_Data(char* l_var1,char* l_var2)
    EXEC SQL EXECUTE
    DECLARE
    l_clob clob;
    BEGIN
    dbms_lob.createtemporary(l_clob,TRUE);
    dbms_lob.OPEN(l_clob,dbms_lob.lob_readwrite);
    DBMS_LOB.WRITE (l_clob, LENGTH (:l_var1), 1,:l_var1);
    DBMS_LOB.WRITEAPPEND (l_clob, LENGTH(:l_var2), :l_var2);
    PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
    COMMIT;
    END;
    END-EXEC;
    But the above code requires dynamic memory allocation in Pro*C which i would like to avoid.Could you let me know if there is any other way to perform the above?

    Hi,
    The Long Datatype has been deprecated use Clob or Blob. This will solve lot of problems inherent with the datatype.
    Regards,
    Ganesh R

  • Parse an XML of size greater than 64k using DOM

    Hi,
    I had a question regarding limitation of parsing a file of size greater than 64k in Oracle 10g. Is the error "ORA-31167: XML nodes over 64K in size cannot be inserted" related to this ?
    One of the developers was telling that if we load an XML document of size greater than 64k into Oracle DOM, it will fail. Is 64k the size of the file or the size of text node in the XML?
    Is there a way we can overcome this limitation?
    I believe that Oracle 11g R1 documentation states that existing 64k limitation on the size of a text node has been eliminated. So if we use Oracle 11g, does it mean we can load XML files of size greater than 64K (or XML having text nodes of size greater than 64k)
    I am not well versed with XML. Please help me out.
    Thanks for your help.

    Search this forum for the ORA-error.
    Among others it will show the following: Node size
    In this case I think we can assured that "a future release" in 2006 was 11.1 as mentioned by Mark (= Sr Product Manager Oracle XML DB)

  • Java.exe sizes  greater than 350M , web report  often error

    HI , friends
    My ie is 8,and webi4.0.
    the  web report  file(universe)  has 63 reports,hundreds formulas,
    open the report java.exe sizes  greater than 350M.
    every time edit report ,only edit fews formulas....then the edit does not work.
    and  edit Data Access,or refresh  ,then error:  An error has occured.....(Screenshot)
    only to log off ,and shut down IE ...
    After a while open the IE, Sign in web report... ...again...
    I set the RAM as a virtual hard disk,and set up IE explorer  buffer memory to the NEW hard disk,
    but error still exists.
    please help me , thanks.

    Hi,
    On Windows 7, you may set the Java maximum Java heap size to 1536 MB in Java Control Panel -> Java -> Java Runtime Environment Settings, Runtime paramaters for both User and System.
    -Xmx1536m -Xincgc
    Note that
    depending on the desktop OS, the maximum Java heap size could vary, you'd need to test it and find out the ceiling to that OS.
    -Xincgc is to enable incremental garbage collection instead of waiting for whole lot chunk of garbage to be collected.
    Hope this helps,
    Jin-Chong

  • Char types size greater than 256 in DOE

    What is the standard to use characters with types size greater than 256 characters in DOE (bapiwrapper)?

    Use STRING for length greater than 256 characters. In DOE, you should select TEXT_MEMO checkbox while defining node attribute in Data Object.

  • Index size greater than table size

    HI ,
    While checking the large segments , I came to know that index HZ_PARAM_TAB_N1 is larger than table HZ_PARAM_TAB . I think it's highly fragmented and requires defragmentation . Need your suggestion on the same that how can I collect more information on the same . Providing you more information .
    1.
    select sum(bytes)/1024/1024/1024,segment_name from dba_segments group by segment_name having sum(bytes)/1024/1024/1024 > 1 order by 1 desc;
    SUM(BYTES)/1024/1024/1024 SEGMENT_NAME
    81.2941895 HZ_PARAM_TAB_N1
    72.1064453 SYS_LOB0000066009C00004$$
    52.7703857 HZ_PARAM_TAB
    2. Index code
    <pre>
    COLUMN_NAME COLUMN_POSITION
    ITEM_KEY 1
    PARAM_NAME 2
    </pre>
    Regards
    Rahul

    Hi ,
    Thanks . I know that rebuild will defragment it . But as I'm on my new site , I was looking for some more supporting information before drafting the mail on the same that it requires re org activity .It's not possible for an index to have the size greater than tables as it contains only 2 columns values + rowid . Whereas tables contains 6 columns .
    <pre>
    Name      Datatype      Length      Mandatory      Comments
    ITEM_KEY      VARCHAR2      (240)      Yes      Unique identifier for the event raised
    PARAM_NAME      VARCHAR2      (2000)      Yes      Name of the parameter
    PARAM_CHAR      VARCHAR2      (4000)      
         Value of the parameter only if its data type is VARCHAR2.
    PARAM_NUM      NUMBER      
         Value of the parameter only if its data type is NUM.
    PARAM_DATE      DATE      
         Value of the parameter only if its data type is DATE.
    PARAM_INDICATOR      VARCHAR2      (3)      Yes      Indicates if the parameter contains existing, new or >replacement values. OLD values currently exist. NEW values create initial values or replace existing values.</pre>
    Regds
    Rahul

  • I am trying to install photoshop elements from the shop bought card. After I put in redemption code the yellow line came up with "redemption is not available at the moment". What do I do?  Please help! Many thanks

    I am trying to install photoshop elements from the shop bought card. After I put in redemption code the yellow line came up with "redemption is not available at the moment". What do I do?  Please help! Many thanks

    There's been a few of these today. I think there must be a problem with the redemption server and you probably just need to wait a while and try again.
    Cheers,
    Neale
    Insanity is hereditary, you get it from your children
    If this post or another user's post resolves the original issue, please mark the posts as correct accordingly. This helps other users with similar trouble get answers to their questions quicker. Thanks.

  • AS2 decryption error on file sizes greater than 5MB.

    We have a client who is not using biztalk but transmitting files to us via AS2. The AS2 file transmission occurs seamlessly when the file size is below 5MB, but Biztalk AS2 decoder fails to decrypt when file size exceeds 5MB. After searching the forums,
    I learned that this is a known issue and there is a  hot fix available to fix that issue. I wanted to replicate the same issue in my test environment so that i can apply the hot fix in that environment and make sure nothing breaks. I replicated the AS2
    setup in 2 biztalk test machines . I used one machine as partner A and the other as partner B, then transmitted AS2 files from partner A to partner B. I sent  files with sizes 2MB, 5MB, 15MB, and 50MB, but partner B received all the decrypted files successfully.
    Production servers and test servers have biztalk 2010 installed.
    In conclusion, the decryption issue is occurring in production machine only, and I am unable to replicate that issue in our test servers. I am scared to apply the hot fix or CU5 directly in production. Please advise if there is something else i am missing. 
    Thank you.
    Error message:
    Error details: An output message of the component "Microsoft.BizTalk.EdiInt.PipelineComponents" in receive pipeline "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Receive, Microsoft.BizTalk.Edi.EdiIntPipelines, Version=3.0.1.0, Culture=neutral,
    PublicKeyToken=31bf3856ad364e35" is suspended due to the following error:
    An error occurred when decrypting an AS2 message..
    The sequence number of the suspended message is 2
    Hot fixes to fix the issue:
    http://support.microsoft.com/kb/2480994/en-us
    For some people CU5 fixed the issue.
    Dilip Bandi

    First, make sure CU5 wasn't unintentionally applied by Windows Update to your test config.
    Second, either way, a valid strategy would be to apply CU5 as a normal patch, meaning DEV->TEST->UAT->PROD (or whatever your promotion path is).  That way, you'll test for any breaking changes anyway and if the AS/2 issues isn't fixed, well,
    you really no worse off.

  • How to check arraylist size greater than 1 using expression language in jsp

    I want to remove the scripplet in jsp, so i am using jstl tags with expression language in it.
    My scripplet is
    <% if (arraylist.size() > 1) {
    ---do something ----
    %>
    i wanted to change this to
    <c:if test="${ somecondition }">
    ---do something ----
    </c:if>
    here "somecondition" is exactly i need to check whether my arraylist size is greater than 1.
    so please can anyone help me how can i do that.

    If you do not mind, you can create a function and package it into a tag library of your own. Then you can use the function just as the existing expressions language construct. You may take a look at the article use functions in jsp expression language.

  • SAP ISR -XI - SAP POS. File size more than 11 KB failing in Inbound

    Hi All,
    We are implementing SAP ISR- XI - POS Retail implementation using
    Standard Content Store Connectivity 2.0, GM Store Connectivity 1.0, and
    other contents.
    In our Inbound Scenario File-RFC , we are picking files from FTP server
    for sales and totals data and if the size of this sales data file in
    format *_XI_INPUT.DAT is greater than 11 kb , it is failing at XI
    Mapping level, saying Exception occurred during XSLT
    mapping "GMTLog2IXRetailPOSLog" of the application. We have tried and tested at mapping level no error found as this is processing files below 11 Kb successfully with same mappings, Also this is standard Mapping by SAP in form of XI Content Store connectivity 2.0.
    At XI Side we have processed the file of eg: 40 KB  by splitting the record data and making
    file size less than 11KB and it is being processed successfully, but file of 40 kb fails.
    XI Server: AIX  Server.
    There may be some memory setting missing or some basis problem also. Kindly let me know how to proceed.
    Regards,
    Surbhi Bhagat

    hi,
    this is hard to believe that such small files cannot be processed
    do your XI mappings work for any other flows with something more then 11kb?
    let me know about that and then we will know some more
    as this is realy very small size
    maybe your XI was installed in on PocketPC
    Regards,
    Michal Krawczyk

  • TS 4.0.1/CVI 8.5:Great River Tech Driver Fails with Teradyne M920

    I have an application that I developed that uses 2 Great River Technology (GRT) PCIe cards (for hotlink video data) and a Teradyne M920 (pattern generator/logic analyzer) running in a VXI chassis.  The development platform is WindowsXP, LabWindowsCVI 8.5, and Test Stand 4.0.1.  The problem is that when I run the sequence, one or both of the GRT cards fail to initialize and I get a hardware error message returned from the GRT driver (which is an XP installation).  Once this happens, the only recovery is to power down the PC (a reboot is not enough).  Note that the initialization failure occurs about 90% of the time.  When it doesn't fail, the sequence fails further into the testing as soon as I try using the GRT cards.  The Teradyne always works, but during my debugging efforts, I found that if I didn't load the Teradyne driver, the GRT cards work ok.  So the problem appears to be related to the combination of CVI/TS when used with GRT/Teradyne drivers.  Remove TS and all is well, except of course that we prefer to use TS - this is mature software that has been migrated from NT to XP.  The NT version was very different - older versions of CVI/TS and older versions of many of the device drivers we use.  Also didn't use the GRT cards.
    I modified the CVI software to run as a stand-alone executable.  It runs fine - 100% of the time (unless of course it had already failed using TS and not repowering the PC).  I also ran the test software supplied by GRT and Teradyne.  Again - runs 100%. 
    Any ideas?
    Thanks, Pete

    Hello Pete Bratko,
    Thank you for posting on the NI Discussion Forums.  I am assuming that you are doing all of your driver function calls (initializing calls, etc.) with code written in LabWindows/CVI.  Could it be that you are passing some incorrect parameters into the step that calls this code?  All TestStand does when calling the code module is run the external code, and pass it input parameters and read output parameters if they are applicable. 
    What does the error message from the driver say? (A screen shot would be great).  Is there any hint as to what is causing it?  Does the same error appear at both initialization and other calls?  Some more information here would be helpful.
     If you are indeed making calls to the DLL from code you have written CVI, then you can step into the code from TestStand by following these steps:
    (1)    Go to Configure » Adapters…
    (2)    Highlight LabWindows/CVI and select Configure…
    (3)    Under Step Execution, select the radio button that says Execute Steps in an External Instance of CVI.
    (4)    Select OK and then Done to let the settings take effect.
    (5)    Place a breakpoint at the step that the CVI is called and run the sequence.
    (6)    When the sequence editor gets to the breakpoint, select Step Into (F8) to step into the CVI code.
    Once in the CVI code, you can step through it and find out exactly what line the error is coming from.
    The fact that the drivers do not play well together is also strange, and raises a red flag, but it sounds to me like there is something wrong with the code that is being called (is it a .c or .dll file?)  Try out the above steps and let us know what you find.
    Chris_G
    Sr Test Engineer
    Medtronic, Inc.

  • I cannot change the font size on firefox. Works on other browsers but not on FF and writing is too small. Ctl+ works but its a nuisance each time

    Have windows 7 but even on Vista the fonts on FF are too small and I cannot change the size.

    You can use one of these extensions to adjust the default font size and page zoom on web pages:
    * Default FullZoom Level - https://addons.mozilla.org/firefox/addon/6965
    * NoSquint - https://addons.mozilla.org/firefox/addon/2592
    * http://kb.mozillazine.org/Zoom_text_of_web_pages

  • Mp3 playback bug after update (size greater than 8 MB & Bitrate 192...)

    okay, after the upgrade to the itunes version 7.4 something strange happened. I couldn't play some files any more. After some testing i figured out that the affected files had a pattern - namely:
    size > 8MB &
    Bitrate > 192 &
    No Album Picture
    This isn't a quicktime bug - quicktime can play these songs fine. I think that there is some error with the "pre" loading of the album artwork for files of that kind. I'd classify this as a serious bug because one of my favorite albums (nick cave) is affected from this bug
    regards,
    Georg

    I've solved it.
    The problem is that itunes can't read certain mp3 tag informations after the update (7.4) any more (although mostof these tags were creted with former itunes versions).
    What I did was to remove all mp3 tags in my library with a tool called mp3tag (http://www.mp3tag.de). Afterwards I let itunes recreate the mp3tags. It looks as if the metadata is stored twice: once in the mp3tag and in the database.
    anyhow. Itunes recreates the correct mp3tag out of its database if the tag was deleted from the file.
    that did the trick -without having to recreate the database.
    PS: Steve should send me a free mp3 player, because it took me 2 days to fix this problem.
    PPS: Use a script like the following to find all dead track before doing as said before:
    [snip]
    /* Rename me to FindDeadTracks.js
    Double Click in Explorer to run
    Script by Otto - http://ottodestruct.com */
    var ITTrackKindFile = 1;
    var iTunesApp = WScript.CreateObject("iTunes.Application");
    var deletedTracks = 0;
    var mainLibrary = iTunesApp.LibraryPlaylist;
    var tracks = mainLibrary.Tracks;
    var numTracks = tracks.Count;
    var i;
    var fso, tf;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    tf = fso.CreateTextFile("Dead Tracks.txt", true);
    while (numTracks != 0)
    var currTrack = tracks.Item(numTracks);
    // is this a file track?
    if (currTrack.Kind == ITTrackKindFile)
    // yes, does it have an empty location?
    if (currTrack.Location == "")
    // write info about the track to a file
    tf.WriteLine(currTrack.Artist + "," + currTrack.Album + "," + currTrack.Name);
    deletedTracks++;
    numTracks--;
    if (deletedTracks > 0)
    if (deletedTracks == 1)
    WScript.Echo("Found 1 dead track.");
    else
    WScript.Echo("Found " + deletedTracks + " dead tracks.");
    else
    WScript.Echo("No dead tracks were found.");
    tf.Close();
    [snip]

  • PRINTING more than one photo on one page but not at iPhoto's preset sizes

    Ahhh! This is so frustrating!
    I have several photos which have been downsized to 7.2 x 7.2 cms. I would like to print them all out on one page and eventually add them to a specific photoframe. By printing onto one page it saves expensive photopaper and the enviroment!
    However, Im stuck with iPhotos preset sizes which are no good to me! Why is there not a custom size option? Or just an option to print out the photos as the size they genually are?
    I would rather not guess the size and use 'N-UP' or 'Sampler'. I just want to print out several small phots onto one page.
    Please help me.
    Thanks.
    Tc

    Hi Tct,
    I use Portraits and Prints for my printing templates. There are a lot included with the program and the Pro version you can make your own templates to use.
    Portraits and Prints

  • VISA Set I/O Buffer Size fails with all but one value on Linux RT

    I was unable to initialize a serial port on a cRIO-9030 using a code that works fine on VxWorks and Windows, when I tracked it down to this somewhat strange behaviour;
    If you call VISA Set I/O Buffer Size on Linux RT (at least on the 9030 device) you will get error code 1073676424 for all size values other than 0.
    That is a bit strange (what will the buffer size be then I might add...), but something even uglier is that if you leave the function's buffer size unwire,  you will also get the error (because the function's default is 4096). 
    MTO

    Under the hood VISA is using the POSIX serial interface for Mac OS X (same as for Linux and Solaris). This interface does not support changing the buffer size. Hence, the buffer size is fixed to the internal OS buffer size. The only thing that changing the buffer size will do (for the out buffer) is to have VISA not flush the data after every write. This is a limitation in the serial API for Mac OS X. Therefore, VISA reports a warning.

Maybe you are looking for

  • Lightroom imports images with strange settings

    Hi people, I'm not new to LR at all. In fact, I teach LR and RAW image workflow. But this issue struck me cold with no answers. I took some photos with my D800 and a WhiBal (WB card). To my surprise, all the images turned out yellow when I imported t

  • Screen flicker. Should I be worried?

    I have a 2011 27" iMac. I looked around the forums and seems like, while there are some people with flickering issues, I have a different kind of flicker. At random times, the screen brightness on my iMac flickers from light-to dark. It's not one of

  • Events on iPhone 4 don't show on MacBook

    events entered on iPhone 4 don't show up on my MacBook ical

  • Error:Release outside field of responsibility

    Dear All, Error:Release outside field of responsibility in Function module:BAPI_PO_RELEASE I given the Inputs: Purchase Order:xXXXXXXXX PO_REL_CODE: 01 Exceptions: X it showa the Error:Error:Release outside field of responsibility can any one help me

  • Exchange Powershell - Export Mailbox Permissions

    Hi all, In our Exchange 2007 environment, I have this Powershell script which outputs mailboxes, which users have access to them and the type of access, such as Full Access, Delete Items etc. into a column called Access Permissions. Get-Mailbox -Resu