EntityCommandBuffer.PlayBack didn't wait other job complete?

I have seen EntityCommandBuffer.PlayBack source code, when it playback command like AddEntity, It didn’t CALL CompleteAllJobs like other EntityManager’s API. So seem it didn’t guarantee determinate ? Is it a bug or feature, or i have misunderstand something?

You should just complete the jobs that are relevant to that ECB. Why would you complete ALL jobs?

Because other job may excuting quering or operation on the same entity type which ECB add

That shouldn’t be an issue.

Are you using
EntityCommandBufferSystem.AddJobHandleForProducer?

So if a ECB is going to add a entity, the jobs run before the ECB must AddJobHandleForProducer to this ECB?

            handle = new InitializeObservationsJob
                {
                    TeamToEntity = this.teamToEntityMap,
                    EntityCommandBuffer = this.barrier.CreateCommandBuffer().ToConcurrent(),
                }
                .Schedule(this, handle);

            this.barrier.AddJobHandleForProducer(handle);

Should look something like this