The Tale of a Troublesome Weekend

I use Google Analytics for this web site. Recently, I found that the bounce rates had increased around 7 to 9% from the simple moving average for last two years. I was wondering what might be the reason. Suddenly, last week I saw my last post was truncated. I thought there must be some upload issues, but did not take it seriously. I uploaded it again and left the matter there. However, last Saturday morning when rechecking, I found the same truncation once more. So, there must be some serious issue. I checked other posts, and to my surprise, they all were the same. A big issue off course, and it was the first serious issue from the opening of the site. I was totally clueless.

I developed the site fully on Microsoft platform even though I switched to GNU/Linux platform for more than two years. The reason you can say, I purchased the hosting services before switching to GNU/Linux and there is no way I can install Java into the Microsoft shared hosting provided by Godaddy. I was started scratching my head, but was not able to recollect why my last update malfunctioning such a manner. Furthermore, I could not through away the possibilities of security hacks. I test my limited knowledge and found it is probably not a security vulnerability. Then?

Ads by

On my feature list, I had a task to reduce SQL dependency, due to my GNU/Linux development environment does not support MS SQL server. So I decided on completing the same as quickly as possible. Then, I came to know a horrible fact that NHibernate does not support saving large Strings out-of-the-box. It silently truncates strings more than 4000 characters. Knowing that I first roll back my last changes and then started the more harder part, restoration of all posts to its earlier state.

I will surely write a post on how to solve large string issues of NHibernate when I successfully implement the workarounds available. Now, let me talk about the later part, i.e., restoration process. It took some solid amount of time, more than I expected. I had a database backup of around six month old. Later posts are obviously saved into my offline post editor Blogilo. However, I could not be able to restore the full database as because it would reverse the last six months updates. So, I tried to restore the backup in a local system and create a script for restoring. Thing became harder when I found that SQL management studio 2008 still has the limitation of only 8192 characters in the result. So, Microsoft again fails to impress me.

It took sometime to identify a light-weight SQL client which doesn't have such a foolish limitation, and the answer was LINQPad. It was a nice program, size less than 5 MB and work perfectly for my job. I ran the script to generate the update scripts. Finally at the end of the day, I restored all the posts to its proper state. As I earlier told you that I am now on GNU/Linux platform, and I try to use MS products as less as possible, I could not review the full features of LINQPad. However, what I can say, if you are not interested in DBA jobs and your only focus is to do some serious query, leave MS and start using this product. Hope you will like it.

So, this is the tale of my weekend and all the dirty works I had to bear with. It is the first time I found a disappointed loophole in NHibernate. They should have documented it in a proper manner. In addition, my disappointment with Microsoft continues; they probably do not get time to resolve the real issues from their busy schedule for modeling how to fool people. Anyway, apologies to my reader for having poor experiences with the site for the last couple of weeks. Hope it runs smoothly now onwards. :)

Recommended Reading:
» BSNL Broadband on Netgear DG834G: Website Not Working
» Dont Panic! KDE font looks ugly suddenly

Tags: NHibernate, Large String Support, MS SQL Management Studio, High Bounce Rate