Folly
I just found out that Facebook's folly was released as open source (Here). It brings back memories as I worked on AtomicHashMap (which is mentioned in the link) and some other stuff. Not mentioned in the article is the fact that AtomicHashMap is used in a critical component of Facebook Messages. Part of my task as an intern last summer was to integrate AtomicHashMap and it was because I was using it at such a huge scale that I found a bug with the AtomicHashMap.
I remember vividly of that experience: I stayed back late in the night trying to debug the code. It was not easy as I didn't use AtomicHashMap directly but via JNI so I had to hook up the JVM with GDB to catch the cause of the irritating segmentation fault. In the end, I had to set breakpoints in the AtomicHashMap code (at the same time, trying to recall my rusty assembly) and step-through slowly.
The bug turns out to be quite dumb -- I mean which bug is not dumb. It was because instead of using a 64bit iterator (since my AtomicHashMap used more than 4GB memory), a 32bit iterator was used. I suspected that the search team never found out about it because they didn't use it at a scale as large as I did. After the bug was squashed, I was happy. However, it was still a bitch trying to get the search team people approve my fix. I remember being bitched by them.
Of course, I didn't just work on the above. I did more engineering work than the above.
Labels: programming

1 Comments:
keeep writing my friend :)
- hwee
Post a Comment
Subscribe to Post Comments [Atom]
<< Home