You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org> on 2016/02/25 01:45:27 UTC
Change in asterixdb[master]: Coverity Fix for Bad Lock Object
Michael Blow has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/665
Change subject: Coverity Fix for Bad Lock Object
......................................................................
Coverity Fix for Bad Lock Object
CID 68477: Bad choice of lock object (BAD_LOCK_OBJECT)
- boxed_lock:
Boxing a primitive may or may not return a canonical boxed
representation depending upon the value of the primitive being boxed.
Thus, using a boxed primitive as a lock is dangerous.
Change-Id: Ib993d94bfae6b788b5b56d388fa7a33ec958dee4
---
M asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
1 file changed, 9 insertions(+), 8 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/65/665/1
diff --git a/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java b/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
index aa35383..5b3828d 100644
--- a/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
+++ b/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
@@ -60,6 +60,7 @@
protected static Scheduler hdfsScheduler;
protected static IndexingScheduler indexingScheduler;
protected static Boolean initialized = false;
+ protected static final Object initLock = new Object();
protected List<ExternalFile> files;
protected Map<String, String> configuration;
protected Class<?> recordClass;
@@ -70,9 +71,7 @@
@Override
public void configure(Map<String, String> configuration) throws Exception {
- if (!HDFSDataSourceFactory.initialized) {
- HDFSDataSourceFactory.initialize();
- }
+ initialize();
this.configuration = configuration;
JobConf conf = HDFSUtils.configureHDFSJobConf(configuration);
confFactory = new ConfFactory(conf);
@@ -146,11 +145,13 @@
* HDFS
*/
private static void initialize() {
- synchronized (initialized) {
- if (!initialized) {
- hdfsScheduler = HDFSUtils.initializeHDFSScheduler();
- indexingScheduler = HDFSUtils.initializeIndexingHDFSScheduler();
- initialized = true;
+ if (!initialized) {
+ synchronized (initLock) {
+ if (!initialized) {
+ hdfsScheduler = HDFSUtils.initializeHDFSScheduler();
+ indexingScheduler = HDFSUtils.initializeIndexingHDFSScheduler();
+ initialized = true;
+ }
}
}
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/665
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib993d94bfae6b788b5b56d388fa7a33ec958dee4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mi...@couchbase.com>
Change in asterixdb[master]: Coverity Fix for Bad Lock Object
Posted by "abdullah alamoudi (Code Review)" <do...@asterixdb.incubator.apache.org>.
abdullah alamoudi has posted comments on this change.
Change subject: Coverity Fix for Bad Lock Object
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://asterix-gerrit.ics.uci.edu/665
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib993d94bfae6b788b5b56d388fa7a33ec958dee4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mi...@couchbase.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-Reviewer: abdullah alamoudi <ba...@gmail.com>
Gerrit-HasComments: No
Change in asterixdb[master]: Coverity Fix for Bad Lock Object
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: Coverity Fix for Bad Lock Object
......................................................................
Patch Set 1: Verified+1
Build Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/878/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/665
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib993d94bfae6b788b5b56d388fa7a33ec958dee4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mi...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: abdullah alamoudi <ba...@gmail.com>
Gerrit-HasComments: No
Change in asterixdb[master]: Coverity Fix for Bad Lock Object
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: Coverity Fix for Bad Lock Object
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/878/
--
To view, visit https://asterix-gerrit.ics.uci.edu/665
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib993d94bfae6b788b5b56d388fa7a33ec958dee4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mi...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: Coverity Fix for Bad Lock Object
Posted by "abdullah alamoudi (Code Review)" <do...@asterixdb.incubator.apache.org>.
abdullah alamoudi has submitted this change and it was merged.
Change subject: Coverity Fix for Bad Lock Object
......................................................................
Coverity Fix for Bad Lock Object
CID 68477: Bad choice of lock object (BAD_LOCK_OBJECT)
- boxed_lock:
Boxing a primitive may or may not return a canonical boxed
representation depending upon the value of the primitive being boxed.
Thus, using a boxed primitive as a lock is dangerous.
Change-Id: Ib993d94bfae6b788b5b56d388fa7a33ec958dee4
Reviewed-on: https://asterix-gerrit.ics.uci.edu/665
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Ian Maxon <im...@apache.org>
Reviewed-by: abdullah alamoudi <ba...@gmail.com>
---
M asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
1 file changed, 9 insertions(+), 8 deletions(-)
Approvals:
abdullah alamoudi: Looks good to me, approved
Ian Maxon: Looks good to me, but someone else must approve
Jenkins: Verified
diff --git a/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java b/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
index aa35383..5b3828d 100644
--- a/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
+++ b/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
@@ -60,6 +60,7 @@
protected static Scheduler hdfsScheduler;
protected static IndexingScheduler indexingScheduler;
protected static Boolean initialized = false;
+ protected static final Object initLock = new Object();
protected List<ExternalFile> files;
protected Map<String, String> configuration;
protected Class<?> recordClass;
@@ -70,9 +71,7 @@
@Override
public void configure(Map<String, String> configuration) throws Exception {
- if (!HDFSDataSourceFactory.initialized) {
- HDFSDataSourceFactory.initialize();
- }
+ initialize();
this.configuration = configuration;
JobConf conf = HDFSUtils.configureHDFSJobConf(configuration);
confFactory = new ConfFactory(conf);
@@ -146,11 +145,13 @@
* HDFS
*/
private static void initialize() {
- synchronized (initialized) {
- if (!initialized) {
- hdfsScheduler = HDFSUtils.initializeHDFSScheduler();
- indexingScheduler = HDFSUtils.initializeIndexingHDFSScheduler();
- initialized = true;
+ if (!initialized) {
+ synchronized (initLock) {
+ if (!initialized) {
+ hdfsScheduler = HDFSUtils.initializeHDFSScheduler();
+ indexingScheduler = HDFSUtils.initializeIndexingHDFSScheduler();
+ initialized = true;
+ }
}
}
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/665
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib993d94bfae6b788b5b56d388fa7a33ec958dee4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mi...@couchbase.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-Reviewer: abdullah alamoudi <ba...@gmail.com>
Change in asterixdb[master]: Coverity Fix for Bad Lock Object
Posted by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ian Maxon has posted comments on this change.
Change subject: Coverity Fix for Bad Lock Object
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://asterix-gerrit.ics.uci.edu/665
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib993d94bfae6b788b5b56d388fa7a33ec958dee4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mi...@couchbase.com>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-Reviewer: abdullah alamoudi <ba...@gmail.com>
Gerrit-HasComments: No