On Wed, 30 Oct 2024 08:54:55 GMT, kabutz <d...@openjdk.org> wrote: > The ArrayBlockingQueue has had a readObject() method since Java 7, which > checks invariants of the deserialized object. However, it does not have a > writeObject() method. This means that the ArrayBlockingQueue could be > modified whilst it is being written, resulting in broken invariants. The > readObject() method's invariant checking is not exhaustive, which means that > it is possible to end up with ArrayBlockingQueue instances that contain null > values, leading to a difference between "size()" and how many objects would > be returned with "poll()". > > The ABQ should get a writeObject() method that is locking on the same locks > as the rest of the class.
Marked as reviewed by dmll...@github.com (no known OpenJDK username). ------------- PR Review: https://git.openjdk.org/jdk/pull/21783#pullrequestreview-2404508138