Im working with one of our vendors who has a managed package installed in our org. They are currently using an @future method in the before context of a trigger on the Account object. We are investigating whether that setup is causing "Apex CPU time limit exceeded" errors when other processes try to update records in the Account object.
My concern is whether the @future in the before is locking the record and preventing the after context methods from completing in 60 seconds. If the @future is updating the same record as the trigger, shouldn't that be done in the AFTER context? Shouldn't any @future method be called from the AFTER and not BEFORE?
All input is appreciated. Thank you for your time.