I have batch apex which updates Lead owner name,processing a huge number of records. Batch apex stops processing batches after some number of records are processed and finishes unexpectedly and shows Apex Job status = Completed. No error is reported, no exception is thrown. I check debug logs to see the value in count variable is less than what is expected. Here is what I am trying to do. Public class MassUpdateOwner implements Database.Batchable<SObject>,Database.Stateful { private Integer callCount = 0; Public ID targetUserId; //used to capture new User ID Public MassUpdateOwner (String ownerUsername) { User u = [select Id from User where Username = new user name limit 1]; TargetUserId = u.Id; } Public Database.QueryLocator START(Database.BatchableContext ctx) { Return Database.getQueryLocator([select OwnerId from Lead]); } Public void EXECUTE(Database.BatchableContext ctx, List<Lead> scope) { List<Lead> leads = (List<Lead>) scope; For (Lead l: leads) { l.OwnerId = targetUserId; } callcount++; } Public void finish (Database.BatchableContext ctx) { // Send an email or something } Id batch Job Id = Database.executeBatch(new MassUpdateOwner(), 1); My question is should I run the batch apex again? Pls let me know.