In the question
Question: How does Terraform protect itself where concurrent operations are run against the same configuration?
correct option: Terraform will lock your state for all operations that could write state, if supported by your backend
My question: Terraform also locks the state even when we run plan not just applying(writing to the state)
Lab link: MCQ - Terraform State - KodeKloud
From the documentation
State locking happens automatically on all operations that could write state… if the backend supports it.
plan does not ever change the state. It only compares the state with the resources deployed and reports any differences - thus is a read-only operation.
If the state in a remote backend is write locked by another terraform process (e.g. one that is applying), then
plan may have to wait till the lock is released to get a copy of the state.
I tried running plan and apply on same resource
apply failed with Error: Error acquiring the state lock when
plan was running.