Problem solved. I instantiated the personalization service and personalization controller just after fragment is instantiated and it worked.
Note: In my case, the instantiation and activation of personalization controller happens prior to 'beforeOpen' method of table is called. Will post details in a separate blog soon.