Skip to content

vttestserver doesn't respect -data_dir= unless -port= is also provided #7735

@hkdsun

Description

@hkdsun

Overview of the Issue

the vttestserver binary will only respect -data_dir argument if -port is also provided.

the code that needs to be changed is here.

	if basePort != 0 {
		if config.DataDir == "" {
			env, err = vttest.NewLocalTestEnv("", basePort)
			if err != nil {
				return
			}
		} else {
			env, err = vttest.NewLocalTestEnvWithDirectory("", basePort, config.DataDir)
			if err != nil {
				return
			}
		}
	}

Reproduction Steps

Steps to reproduce this issue, example:

  • docker run -it --volume=/tmp/vt:/tmp/vt/ vitess/vttestserver:mysql57 vttestserver -data_dir /tmp/vt -alsologtostderr

Expected behaviour: data for the mysql instance is stored in /tmp/vt

Current behaviour: data for the mysql instance is stored in /vt/vtdataroot/random_dir

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions