Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

l.cacheLock.RLock() is missing? #4369

Closed
mei-rune opened this issue Oct 8, 2015 · 3 comments
Closed

l.cacheLock.RLock() is missing? #4369

mei-rune opened this issue Oct 8, 2015 · 3 comments
Labels

Comments

@mei-rune
Copy link
Contributor

mei-rune commented Oct 8, 2015

RLock() is missing at https://github.com/influxdb/influxdb/blob/master/tsdb/engine/tsm1/wal.go#L624
and https://github.com/influxdb/influxdb/blob/master/tsdb/engine/tsm1/wal.go#L639

thread1 run at wal.go#L639 and yield.
thread2 run at enter cacheLock and write l.flushCache at wal.go#L596, then exit cacheLock and yield。
thread1 is continue, .at this time, cacheLock is newest, it is modified by the thread2.

Sorry, I am a Chinese, my English is very poor.

mei-rune added a commit to mei-rune/influxdb that referenced this issue Oct 10, 2015
mei-rune added a commit to mei-rune/influxdb that referenced this issue Oct 10, 2015
@jwilder
Copy link
Contributor

jwilder commented Oct 26, 2015

Fixed as part of #4538.

@jwilder jwilder closed this as completed Oct 26, 2015
@mei-rune
Copy link
Contributor Author

It isn't Fixed.

@otoolep
Copy link
Contributor

otoolep commented Oct 27, 2015

Can you elaborate @runner-mei ? That will help us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants