lightblue-platform / lightblue-rest

Data access layer as service REST API
GNU General Public License v3.0
9 stars 16 forks source link

CID 160919: Concurrent data access violations (GUARDED_BY_VIOLATION) #280

Open jewzaam opened 7 years ago

jewzaam commented 7 years ago

*** CID 160919: Concurrent data access violations (GUARDED_BY_VIOLATION) /lightblue-rest/common/src/main/java/com/redhat/lightblue/rest/RestConfiguration.java: 70 in com.redhat.lightblue.rest.RestConfiguration.getSavedSearchCache()()

64
65         public static DataSourcesConfiguration getDatasources() {
66             return datasources;
67         }
68
69         public static SavedSearchCache getSavedSearchCache() {
>>>     CID 160919:  Concurrent data access violations  (GUARDED_BY_VIOLATION)
>>>     Accessing "com.redhat.lightblue.rest.RestConfiguration.savedSearchCache" without holding lock "RestConfiguration.class". Elsewhere, "com.redhat.lightblue.rest.RestConfiguration.savedSearchCache" is accessed with "RestConfiguration.class" held 3 out of 4 times.
70             SavedSearchCache c=savedSearchCache;
71             if(c==null) {
72                 synchronized(RestConfiguration.class) {
73                     if(savedSearchCache==null) {
74                         try {
75                             savedSearchCache=new SavedSearchCache(getFactory().getCrudConfiguration().getSavedSearch());