cogitate / guava-libraries

Automatically exported from code.google.com/p/guava-libraries
Apache License 2.0
0 stars 0 forks source link

put() for a computing map violates linearizability #527

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The specified behavior of MapMaker puts during computation was:

"If Map.put(K, V) is called before a computation completes, other threads 
waiting on the computation will wake up and return the stored value. When the 
computation completes, its new result will overwrite the value that was put in 
the map manually."

This definition violates the principle of linearizability.

We've fixed this and fixed the doc.

Original issue reported on code.google.com by kevinb@google.com on 24 Jan 2011 at 9:23

GoogleCodeExporter commented 9 years ago
This issue has been migrated to GitHub.

It can be found at https://github.com/google/guava/issues/<id>

Original comment by cgdecker@google.com on 1 Nov 2014 at 4:15

GoogleCodeExporter commented 9 years ago

Original comment by cgdecker@google.com on 3 Nov 2014 at 9:09