-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Labels
Comments
mei-rune
added a commit
to mei-rune/influxdb
that referenced
this issue
Oct 10, 2015
add Log.cacheLock.RLock(), fix influxdata#4369 and influxdata#4368
mei-rune
added a commit
to mei-rune/influxdb
that referenced
this issue
Oct 10, 2015
add Log.cacheLock.RLock(), fix influxdata#4369 and influxdata#4368
Fixed as part of #4538. |
It isn't Fixed. |
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
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.
The text was updated successfully, but these errors were encountered: