答案是不一定。
我理解你所的场景就是旧的Leader还没复制到多数派,然后切新Leader的场景了对吧?如果是这种场景,那么有一定概率仍然会commit这个log。
新的Leader在正式提供服务前有一个流程:参见raft-5.4.2,可以认为是崩溃恢复流程。新的Leader会以current term提交一个事务,这会保证previous term的log跟着被commit。
重点来了:
1)如果新主拿到多数派的vote包括旧的Leader,那么在旧Leader上写入的log,会被commit;
2)如果新主拿到多数派的vote不包括旧的Leader,那么在旧Leader上写入的log,会被abort;
所以结论是不一定。注意:这里新的Leader和旧的Leader只是逻辑上的概念,有可能旧的Leader网络分区超时,触发选举导致旧的Leader step down以后重新选主又成为新的Leader。同一个节点,但是term不同。所以,1)是有可能的。