Merge latest changes in master branch to rolling restart branch

This is to bring the rolling restart branch to the same level as the master branch which is required to implement the Kafka rolling restart changes.