Hi Harpreet,
I know
JSF can annoying in these matters, However probably there could be two reasons for this either you have a validation errors that prevents the execution of your action, or the getter method for your datatable doesn't return the same number of records during postback.
My guess is the second one, however to make sure it is not the first one please add h:messages to your page to display all validation errors.
If you are sure there is no validation errors, add more logs or try to debug your getter method in the post back (when you click the commandLink) and make sure it returns the same rows it displayed before (especially the same number of rows).
Enjoy