• NULLPTR (unregistered)

    version = nullptr;

  • P (unregistered)

    inb4 using Azure is TRWTF?

  • zen (unregistered)

    answer is simple - azure is a POS cloud

  • LCrawford (unregistered)

    "To help better assist you, can you please tell us your use case of why you need more than 4000 characters for your project?"

    You verbose developer, you! How dare you need so much detail just to deploy your YML?

  • bvs23bkv33 (unregistered)

    tuxedo middleware still can not pass buffer over 4000 charaters

  • Hans (unregistered)

    For the decoded comment, see https://thedailywtf.com/articles/the-4000-characters

  • my name is missing (unregistered)

    Arbitrary limits come from limited minds.

  • WTFguy (unregistered)

    This was certainly a WTF when released. Seems likely to me that the issue is strictly internal to the guts of Azure. So fixing it should not be visible to Azure's consumers and hence backcompat won't be an obstacle.

    Does anyone know if MSFT has fixed the problem?

    Those comments at MSDN are a little over a year old. Some quick Googling didn't find anything else on topic.Though it did find a search results poisoning site. Don't know whether it's an adware or malware site.

  • No one (unregistered)

    AZURE for anything Linux is junk. Ran away as fast as you can. Let's see what is wrong with it. Just a few things I know about.
    No console access. I hope your machine never crashes and needs an manual fsck on a mount point. (Word is this is getting fixed after years of bitching) Wrong directions for converting a RHEL image to work in azure ( has been fixed) Azure is not Azure. Some parts of Azure are special and way behind fixes and support from the public Azure. azure required disk driver that corrupted Oracle redo logs unless you had it on the premium storage (fixed) Azure agent that was using an RC2 signed certificate. Try seeing what happens when a system is in FIPS mode. (fixed)

  • Martin Slot (unregistered)

    Well maybe they shouldn't rely on preview features that might change a lot before going into GA. This isn't a WTF in my eyes.

  • Raj (unregistered)

    Docker compose only deploys containers on a single host. Why would someone use that in the cloud? To make sure that when the underlying host dies unexpectedly, all the containers die?

    If one insists on taking on-prem technologies in the cloud, it's not that much of a stretch to do it right and use kubernetes, and make sure the environment doesn't shit the bed every time Microsoft reboots an hyper-v host.

  • Dakhran (unregistered)

    TRWTF is that the 4000 character limit looks suspiciously like a VARCHAR2 limitation - why are they trying to stuff the contents of a YAML file into a varchar?

  • Prime Mover (unregistered)


    This takes me back a decade or so, when I took on ownership of a delightful little beast whose task it was to help maintain our products. It was a horrendously complicated beast, built by a couple of HPCs at the turn of the millennium when we migrated our business to java and SQL from the delightful picturesque little village of FORTRAN-on-the-VAX.

    The delightful little beast (whose name I won't divulge because it would instantly be recognised by the poor souls who may or may not still be working on it) maintained a "Notes" field in its overdesigned SQL schema, for allowing (and encouraging) the user to enter comments explaining what changes had been done from one year to the next. This was backed by a 4000-character column. Yes, you guessed, as soon as 4000 characters had been entered into the Notes field, it caused the app to crash when you saved your changes. The answer was to delete enough old comments before adding your new comments.

    That was just one of many of the troubles of this beast, another one being that we could not upgrade from java 1.4 because we were using a Tomcat package that broke in 1.5 (we were using ejb, and that introduced many fragilities).

    Another delight was that a previous colleague of mine, whose leaving the company led to my custodianship of this beast, had checked some code in before he left which caused something crucial to break. And I was not able to implement any changes of my own unless that change itself was fixed. And assembling a test case to prove it was fixed was challenging. And I could not liaise directly with the QA team, because they had been offshored.

    I gave up, and decided it was about time to leave for pastures new myself.

  • STrRedWolf (unregistered)

    4000 characters... Microsoft Asure...

    Storage is a NVARCHAR(4000) in a SQL Server database, which is the UTF-16 limit for NVARCHAR columns. This will need to be changed to NVARCHAR(MAX)... but given how many customers Asure may have, this would require extensive downtime to do the ALTER TABLE.

    And Microsoft didn't futureproof it. Woooo.

  • OldCHand (unregistered)

    "4000 characters ought to be enough for anybody"

  • (nodebb)

    Remember the old WIndows 95 slogan? "Where do you want to go today?"

    A quarter century later, and the real slogan is still "Where did you want to go today before you touched that bleeping computer?"

  • Foo AKA Fooo (unregistered)

    An arbitrary limit imposed by MS, too small for many practical uses? You don't say!

    I'm sure they'll come up with a creative solution, such as adding a second or more such fields, using parts of it for further fragments of the data, while officially marking them as deleted (see VFAT) or a linked list of "logical" fields each holding just a few bytes, then pointing to the next one (see DOS partitions).

    Why don't they just extend the size of the field generously, say by a factor of 160. That should give a nice round number that's surely enough for everyone.

  • ha ha proxy (unregistered)

    Just wait until you have to forward ports.

  • (nodebb) in reply to STrRedWolf

    Someone thought NVARCHAR(4000) was a suitable type in which to store a Linux version identifier.

  • NoLand (unregistered) in reply to Prime Mover

    This reminds me of a (very) old HTML-editor application. These were the early days of the WWW and this was even then, 25 years ago, a legacy application. The application in question was a CGI script, which consumed the HTML-file specified in the supplied path and would match any HTTP_USER against a file listing authorized editors for a given host. Then it would mangle the file by a few regular expressions into an HTML form, since content data and display template were all the same in a self-contained file. The script would search for a start and end tags (hidden in HTML comments), insert a form element, run a few a regular expressions on the enclosed text in order to transform paragraphs into linear text separated by blank lines and make a few guesses on the size (rows, cols) required to display this text without scrollbars. On submit, the most crucial HTML entities were escaped and the resulting text was split into paragraphs and finally replaced the content between the start and end tags. Then, the existing file received a backup extension to its filename and the new file was written in place. That is, there was just another small step before this: just before the closing end tag, the script inserted another comment, in which it kept the edit history by user and date.

    As an observant reader may expect, the edit history had some severe limits on its size (I think, it was less than 4K by any means), resulting in a crash of the script, when the max size was exceeded. Surely enough, this only happened after the old file was moved, resulting the magical vanishing of the page in question. In order to prevent this magic act from happening in front of critical audiences, for everyone to see, you had to check the edit history in those pages on a regular basis and delete some of the lines.

  • (nodebb) in reply to WTFguy

    Does anyone know if MSFT has fixed the problem? Those comments at MSDN are a little over a year old.

    (The comments actually are as recent as Nov 8.)

    I suspect this is mostly because that thread (and forum) has been locked, so people can enjoy the new shiny forum instead. And although the note on the old forum says the forum has been migrated to the new shiny, it just means the functionality has been migrated, not the content. But you can see all the new questions from October 31 onwards and that's the main thing, right?

  • Anonymous') OR 1=1; DROP TABLE wtf; -- (unregistered) in reply to NoLand

    Well, it could have been worse. You might have summoned Cthulhu for trying to edit HTML with regular expressions.

  • Rohan (unregistered)

    4000 characters sounds suspiciously like a B800 screen full of text (DOS games, shareware ones in particular, made prolific use of them as the last thing they showed on exit). Perhaps the space in the database was originally used for a text-mode welcome screen and later repurposed?

  • Алексей Тропин (unregistered) in reply to WTFguy

    No, they are not. I just faced it

Leave a comment on “The 4000 Characters”

Log In or post as a guest

Replying to comment #:

« Return to Article