[ 
https://issues.apache.org/jira/browse/DERBY-6891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15346382#comment-15346382
 ] 

Knut Anders Hatlen commented on DERBY-6891:
-------------------------------------------

I'm wondering if the synchronization in DerbyObservable is quite right. Most of 
the methods synchronize implicitly on the Vector. But the notifyObservers() 
method synchronizes on "this" instead, which is the DerbyObservable instance. 
And setChanged() has no synchronization, even though it manipulates a flag 
which notifyObservers() checks inside a synchronized block.

> Investigate concurrency improvements to DerbyObservable and DerbyObserver
> -------------------------------------------------------------------------
>
>                 Key: DERBY-6891
>                 URL: https://issues.apache.org/jira/browse/DERBY-6891
>             Project: Derby
>          Issue Type: Improvement
>          Components: Store
>            Reporter: Rick Hillegas
>
> As part of derby-6856, we introduced a pair of classes which manage callbacks 
> between classes in the Store layer. The classes are DerbyObservable and 
> DerbyObserver. They replace the deprecated Observer and Observable classes in 
> the JVM and allow Derby to build without deprecation warnings. Right now, 
> callbacks are managed by a Vector. It is quite likely that the concurrency of 
> these classes (and therefore of the Store layer) could be boosted by using 
> some mechanism from java.util.concurrent.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to