I have a large table that my users sort frequently on different columns. Sorting on a column typically takes 10-15 seconds. The problem is that when a users sorts a column by clicking the header there is no visual change to indicate that sorting is occuring. For example I would expect the cursor to change to an hourglass. My users often think nothing is happening and click the header again causing a double sort (takes twice as long and sorts in the wrong direction).
Are you using client side or server side sorting?
Client side sorting works in synchronous way. Browser will not do any changes in DOM till operation is finished.
Server side sorting works in asynchronous way. In such case you can catch moment when operation started and finished and show any notification. Also server side sorting works faster then client side sorting.