fix bug: 1. primary might receive invoke() due to role change; 2. invoke() might receive old vs and we should ignore it; ALL TEST PASSED