Skip to content

[Bug]: Concurrent ddl may break the timetick rule at rootcoord. #39002

Closed
@chyezh

Description

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version: master-11bfc936831ac1c4d1080ba8c9efcfeb3aa6c6bd
- Deployment mode(standalone or cluster):
- MQ type(rocksmq, pulsar or kafka):    
- SDK version(e.g. pymilvus v2.0.0rc2):
- OS(Ubuntu or CentOS): 
- CPU/Memory: 
- GPU: 
- Others:

Current Behavior

When enabling rootCoord.useLockScheduler, multiple ddl task may be executed concurrently.
The timetick of ddl may be rollback, breaks the timetick rule.

func (s *scheduler) executeTaskWithLock(task task, lockerKey LockerKey) error {
	if lockerKey == nil {
		if err := s.setID(task); err != nil {
			return err
		}
		if err := s.setTs(task); err != nil {
			return err
		}
		s.execute(task)
		return nil
	}

Expected Behavior

No response

Steps To Reproduce

No response

Milvus Log

No response

Anything else?

No response

Metadata

Assignees

Labels

kind/bugIssues or changes related a bugtriage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions