diff --git a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/SnapshotDataStoreVO.java b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/SnapshotDataStoreVO.java index 8b68d6c9038..75b1d75dd6a 100644 --- a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/SnapshotDataStoreVO.java +++ b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/SnapshotDataStoreVO.java @@ -29,6 +29,8 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import org.apache.log4j.Logger; + import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.State; @@ -44,6 +46,8 @@ import com.cloud.utils.fsm.StateObject; @Entity @Table(name = "snapshot_store_ref") public class SnapshotDataStoreVO implements StateObject, DataObjectInStore { + private static final Logger s_logger = Logger.getLogger(SnapshotDataStoreVO.class); + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; @@ -272,7 +276,12 @@ public class SnapshotDataStoreVO implements StateObject 0) { + refCnt--; + } + else { + s_logger.warn("We should not try to decrement a zero reference count even though our code has guarded"); + } } public Long getVolumeId() { diff --git a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/TemplateDataStoreVO.java b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/TemplateDataStoreVO.java index 897fee0e4de..bb40bf5d11a 100755 --- a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/TemplateDataStoreVO.java +++ b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/TemplateDataStoreVO.java @@ -29,6 +29,8 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import org.apache.log4j.Logger; + import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.State; @@ -45,6 +47,8 @@ import com.cloud.utils.fsm.StateObject; @Entity @Table(name = "template_store_ref") public class TemplateDataStoreVO implements StateObject, DataObjectInStore { + private static final Logger s_logger = Logger.getLogger(TemplateDataStoreVO.class); + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; @@ -367,7 +371,12 @@ public class TemplateDataStoreVO implements StateObject 0) { + refCnt--; + } + else{ + s_logger.warn("We should not try to decrement a zero reference count even though our code has guarded"); + } } } diff --git a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/VolumeDataStoreVO.java b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/VolumeDataStoreVO.java index fe6aca4c3d2..588eae8ba57 100755 --- a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/VolumeDataStoreVO.java +++ b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/VolumeDataStoreVO.java @@ -29,6 +29,8 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import org.apache.log4j.Logger; + import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.State; @@ -44,6 +46,8 @@ import com.cloud.utils.fsm.StateObject; @Entity @Table(name = "volume_store_ref") public class VolumeDataStoreVO implements StateObject, DataObjectInStore { + private static final Logger s_logger = Logger.getLogger(VolumeDataStoreVO.class); + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; @@ -342,7 +346,12 @@ public class VolumeDataStoreVO implements StateObject 0) { + refCnt--; + } + else { + s_logger.warn("We should not try to decrement a zero reference count even though our code has guarded"); + } } public void incrRefCnt() {