• Tom (unregistered)

    Most boring WTF ever...

  • OMG (unregistered) in reply to Tom
    Tom:
    Most boring WTF ever...

    Indeed. So the story is, he wrote some code, and had an unexpected problem. And lots of Java code.

    Wow, I can feel the rush.

  • Stark_ (unregistered) in reply to OMG

    But what about a Cache that causes an OOM rather than uncache data?

  • Qwerky (unregistered)

    There are several WTF more noteworthy than having your result implement Serializable.

    1. Writing your own cacheing mechanism when there are some great caching tools that just work out of the box like ehcache.

    2. Passing the cache to another machine? Isn't that why you have a cache in the first place, to avoid having to do this?

    3. System.exit(1) in the exception catch block.

  • Matteo (unregistered)

    Solution to this: use Java's RMI instead of simple Serialization?

    Of course, you would have to refactor the code to avoid a lot of message-passing, and that would change the design of the system, but it should avoid this problem.

  • Zog (unregistered)

    That's not real Java....where's the multiple, nested AbstractFactoryPatternGenerator classes then??!?!!

    On the other hand, that probably saved gigabytes of source code let alone run-time....

  • TBD (unregistered)

    Well, the real and oly wtf in this meh wtf is that we still do not know what happened to Aargle ...

  • WL (unregistered)

    And that's why you always perform an extended load-test on a setup as will be deployed, not just on a single machine.

  • Java Expert (unregistered)
    • private Map<Long,NewReferenceData> localRefDataCacheHandle;
    • private transient Map<Long,NewReferenceData> localRefDataCacheHandle;

    Bug fixed. Maybe later a sensible design can be sought to avoid this entirely.

  • Smug Unix User (unregistered)

    Don T. Aargle was having a bad day working for the president's daughter Tye. He had to implement a cache solution in Java rather than his native language PHP.

  • Smug Unix User (unregistered)

    Don T. Aargle was having a bad day working for the president's daughter Tye. He had to implement a cache solution in Java rather than his native language PHP.

  • Mike (unregistered)

    So it's passing 100mb of data back and forth for every transaction, and nobody noticed it was a little sluggish?

    WTF!

  • cybaz7 (unregistered)

    Yo Dawg, I heard you like caches so I created a reference cache for the sub-cache of the master cache

  • (cs) in reply to Qwerky
    Qwerky:
    1. Writing your own cacheing mechanism when there are some great caching tools that just work out of the box like ehcache.
    If you can even call this a cache. Normally a cache has some kind of size limit and replacement strategy.
  • Charles F. (unregistered) in reply to Matteo
    Matteo:
    Solution to this: use Java's RMI instead of simple Serialization?
    RMI's IPC is based on serialization.

    I had to untangle a similar mess once that was used RMI. Because RMI calls look like ordinary Java calls, a sub-par programmer didn't see the data duplication caused by passing around huge Maps.

    I expect that by day's end, we'll see about 100 people chime in that they've seen this problem in some RPC-based project or another.

    I think every time you see something described as "transparent," you should imagine a plate-glass window. Then imagine what happens to an idiot who tries to walk through it. Best case: a bruise or two. Worst case: glass and blood everywhere.

  • Charles F. (unregistered) in reply to pjt33
    pjt33:
    Normally a cache has some kind of size limit and replacement strategy.
    There's nothing in the definition of a cache that mandates any kind of limitation strategy. That's just common sense. If common sense were common, this site would not exist.
  • GvS (unregistered)

    No manager to blame. This is bad.

  • Swaptor (unregistered)

    I'm calling dibs on naming this article 'Cacheception'.

    insert Xzibit meme

  • Steve (unregistered)

    Did you spot the WTF? I'll put it in 4chan terms:

    2013 using Java

  • Tractor (unregistered) in reply to Matteo

    What kind of cache is copied to another system and put in a cache there? Just send the data required for the remote call...

  • eVil (unregistered)

    Releasing the first half of a two parter, and following it up immediately with an unrelated episode, out of the intended running order, is the sort of thing Fox does in order to ruin something good.

    Have you admin people had enough of running this site now? I'd understand if you have, but wouldn't it just be better to either close up shop or hand it over to someone enthusiastic, rather than letting it gradually run itself down until everyone has left?

  • Agreed (unregistered) in reply to Tractor

    This is the biggest WTF in the story

  • TheSHEEEP (unregistered)

    tl;dr

    tl;dr

  • Resa (unregistered)

    Yeah yeah. What about Tye that Binds?

  • Tye (unregistered)

    I was supposed to read about Aargle!

    Are you doing this to defy me ?

    You better give me the rest of that story tomorrow, and you better do exactly as I say.

    Can you do that or do I need to find someone else who is able to do it?

    I WANT TO KNOW WHAT HAPPENED TO AARGLE!!!!

  • Paul Neumann (unregistered) in reply to Charles F.
    Charles F.:
    I think every time you see something described as "transparent," you should imagine a plate-glass window. Then imagine what happens to an idiot who tries to walk through it. Best Worst case: a bruise or two. Worst Best case: glass and blood everywhere.

    FTFY (what's the bbcode for strikethrough?)

  • Aargle's mom (unregistered)

    For those that still "WANT TO KNOW WHAT HAPPENED TO AARGLE"...

    --- spoiler alert ---

    Aargle re-wrote the code, it performed 1ms slower than the original code so he got sacked.

  • Ben Jammin (unregistered)

    Apparently some people didn't follow the link hidden way down in the depths of the page source (and comments.)

    Well, spoiler alert: Those headaches Aargle was getting are actually a genetic abnormality that heighten his senses and increase his heart rate to over 400x the normal rate, so he joins a group of assassins led by Morgan Freeman (mainly because who wouldn't let Angelina Jolie kidnap them in a Dodge Viper.)

    Tye, however, is targeted by some assassins (different group) who have taken her code and used it for nefarious purposes. Thank goodness Bruce Willis, a local detective with a stunning career of saving the nation from terrorists multiple time, was just about to arrest her, because together they stop this other group of assassins (Bruce by running a car into a helicopter, and Tye by slowing them down with her expensive, sluggish code.)

  • Ben Jammin (unregistered) in reply to Aargle's mom
    Aargle's mom:
    For those that still "WANT TO KNOW WHAT HAPPENED TO AARGLE"...

    --- spoiler alert ---

    Aargle re-wrote the code, it performed 1ms slower than the original code so he got sacked.

    I think we read drastically different follow-ups.

  • foo (unregistered) in reply to Ben Jammin
    Ben Jammin:
    Aargle's mom:
    For those that still "WANT TO KNOW WHAT HAPPENED TO AARGLE"...

    --- spoiler alert ---

    Aargle re-wrote the code, it performed 1ms slower than the original code so he got sacked.

    I think we read drastically different follow-ups.
    Not really, you just quoted different parts of it. Here's the full story:

    Those headaches Aargle was getting are actually a genetic abnormality that heighten his senses and increase his heart rate to over 400x the normal rate, so he joins a group of assassins led by Morgan Freeman (mainly because who wouldn't let Angelina Jolie kidnap them in a Dodge Viper) while he re-wrote the code.

    Tye, however, is targeted by some assassins (different group) who have taken her code and used it for nefarious purposes, finding out that it performed 1ms slower than the original code. Thank goodness Bruce Willis, a local detective with a stunning career of saving the nation from terrorists multiple time, was just about to arrest her, because together they stop this other group of assassins (Bruce by running a car into a helicopter, and Tye by slowing them down with her expensive, sluggish code.) Aargle got sacked.

  • eVil (unregistered)

    Incidentally - I'm pretty sure most of the people who are complaining (myself included) did already read the pre-published second part, but we're not going to let that stop us whinging about it; where would be the fun in that?

  • Valued Service (unregistered) in reply to foo
    foo:
    Ben Jammin:
    Aargle's mom:
    For those that still "WANT TO KNOW WHAT HAPPENED TO AARGLE"...

    --- spoiler alert ---

    Aargle re-wrote the code, it performed 1ms slower than the original code so he got sacked.

    I think we read drastically different follow-ups.
    Not really, you just quoted different parts of it. Here's the full story:

    Those headaches Aargle was getting are actually a genetic abnormality that heighten his senses and increase his heart rate to over 400x the normal rate, so he joins a group of assassins led by Morgan Freeman (mainly because who wouldn't let Angelina Jolie kidnap them in a Dodge Viper) while he re-wrote the code.

    Tye, however, is targeted by some assassins (different group) who have taken her code and used it for nefarious purposes, finding out that it performed 1ms slower than the original code. Thank goodness Bruce Willis, a local detective with a stunning career of saving the nation from terrorists multiple time, was just about to arrest her, because together they stop this other group of assassins (Bruce by running a car into a helicopter, and Tye by slowing them down with her expensive, sluggish code.) Aargle got sacked.

    Wait, the other assassin group weren't assassins at all. They were a couple of wannabe masked heroes posing as villains. One had a bunch of money and the other one could actually fight. Turns out, they can increase their heart rate too. Unfortunately for Angelina Jolie, poor scriptwriting would lead to their doom, because only an oriental can truly raise their heart-beat without misinterpreting binary patterns in a cloth because the loom is effed up and the contractor tried to fix it with PHP.

    Realizing the error of their ways, Angelina Jolie commits a multi-homicide-suicide and end their group, right as the rich loser from the other group learns that he too can raise his heart rate.

    Then the oriental kid from the 2nd group hits a switch on the car he made and it transforms revealing it's actually Stealth Jazz (a repaint of Jazz from the first movie for $14.99).

  • (cs)

    The funny thing is that this app is less bloated than Java itself.

  • foo (unregistered) in reply to eVil
    eVil:
    Incidentally - I'm pretty sure most of the people who are complaining (myself included) did already read the pre-published second part, but we're not going to let that stop us whinging about it; where would be the fun in that?
    Indeed. In particular since it said Thursday, and it's only Wednesday today. I WANT IT TO BE THURSDAY TODAY! DID I MAKE MYSELF CLEAR?
  • (cs)

    you guys who are complaining about having to wait for part2 of Argyle clearly have not been experiencing the Time comic over at xkcd these last few days! http://xkcd.com/1190/

  • Cloy McTrure (unregistered) in reply to cellocgw

    Cachey story, bro.

  • chris (unregistered) in reply to eVil
    eVil:
    Releasing the first half of a two parter, and following it up immediately with an unrelated episode, out of the intended running order, is the sort of thing Fox does in order to ruin something good.

    Have you admin people had enough of running this site now? I'd understand if you have, but wouldn't it just be better to either close up shop or hand it over to someone enthusiastic, rather than letting it gradually run itself down until everyone has left?

    They should have put in a back-door to get at part 2 early - like hiding a URL in the HTML comments for part 1, or something.

  • (cs)

    This is why I prefer to write my protocols.

  • chris (unregistered) in reply to chris
    chris:
    eVil:
    Releasing the first half of a two parter, and following it up immediately with an unrelated episode, out of the intended running order, is the sort of thing Fox does in order to ruin something good.

    Have you admin people had enough of running this site now? I'd understand if you have, but wouldn't it just be better to either close up shop or hand it over to someone enthusiastic, rather than letting it gradually run itself down until everyone has left?

    They should have put in a back-door to get at part 2 early - like hiding a URL in the HTML comments for part 1, or something.

    ... Ignore that...
  • IN-HOUSE-CHAMP (unregistered)

    If anyone thinks Java is bloated, point them to the .NET framework. :-)

  • (cs) in reply to IN-HOUSE-CHAMP
    IN-HOUSE-CHAMP:
    If anyone thinks Java is bloated, point them to the .NET framework. :-)

    I just literally spit out my water at my desk. o_O

    My favorite nerd joke:

    "Knock knock." "Who's there?"

    [20 seconds later]

    "Java."

  • Baboon (unregistered)

    Obviously he has never heard of the transient keyword ...

  • IN-HOUSE-CHAMP (unregistered) in reply to henke37
    henke37:
    This is why I prefer to write my protocols.

    Nice try Heimlich!

  • (cs)

    Script (for more information, see OS/VU):

       ALLOCATE NEW UNIVERSE UO1
       LOAD JVM INTO UO1
       LOAD CLASSES INTO UO1
       CONNECT WEB TO UO1
    

    Sometime later...but not that long...

       IEHG391I UNIVERSE UO1      MEMORY FAULT - OUT OF MEMORY
  • Tye (unregistered)

    Defrag.

    Fixed.

  • Darth Cacher (unregistered)

    I've cached the data. Pray I don't cache it any further...

  • (cs) in reply to Darth Cacher
    Darth Cacher:
    I've cached the data. Pray I don't cache it any further...

    When the server is out of memory, then you have my permission to cache.

  • Baboon (unregistered)

    The real WTF in this is the developer in question is obviously a junior developer and has no idea what they were doing.

    The other WTF was the company didn't have someone to review the approach

  • (cs) in reply to Baboon
    Baboon:
    The real WTF in this is the developer in question is obviously a junior developer and has no idea what they were doing.

    The other WTF was the company didn't have someone to review the approach

    So basically, the setup of every small company out there?

  • IN-HOUSE-CHAMP (unregistered) in reply to Baboon
    Baboon:
    The real WTF in this is the developer in question is obviously a junior developer and has no idea what they were doing.

    The other WTF was the company didn't have someone to review the approach

    All the reviewers were busy posting on WTF!

Leave a comment on “Hangin' On”

Log In or post as a guest

Replying to comment #:

« Return to Article