You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2012/01/23 22:53:26 UTC
svn commit: r1235014 - in /hbase/branches/0.92: CHANGES.txt
src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
src/main/java/org/apache/hadoop/hbase/regionserver/OperationStatus.java
Author: tedyu
Date: Mon Jan 23 21:53:26 2012
New Revision: 1235014
URL: http://svn.apache.org/viewvc?rev=1235014&view=rev
Log:
HBASE-5255 Use singletons for OperationStatus to save memory (Benoit)
Modified:
hbase/branches/0.92/CHANGES.txt
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/OperationStatus.java
Modified: hbase/branches/0.92/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/CHANGES.txt?rev=1235014&r1=1235013&r2=1235014&view=diff
==============================================================================
--- hbase/branches/0.92/CHANGES.txt (original)
+++ hbase/branches/0.92/CHANGES.txt Mon Jan 23 21:53:26 2012
@@ -4,6 +4,7 @@ Release 0.92.1 - Unreleased
INCOMPATIBLE CHANGES
HBASE-5228 [REST] Rip out "transform" feature
HBASE-5231 Backport HBASE-3373 (per-table load balancing) to 0.92
+ HBASE-5255 Use singletons for OperationStatus to save memory (Benoit)
BUG FIXES
HBASE-5176 AssignmentManager#getRegion: logging nit adds a redundant '+' (Karthik K)
Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1235014&r1=1235013&r2=1235014&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Mon Jan 23 21:53:26 2012
@@ -1675,8 +1675,7 @@ public class HRegion implements HeapSize
public BatchOperationInProgress(T[] operations) {
this.operations = operations;
this.retCodeDetails = new OperationStatus[operations.length];
- Arrays.fill(this.retCodeDetails, new OperationStatus(
- OperationStatusCode.NOT_RUN));
+ Arrays.fill(this.retCodeDetails, OperationStatus.NOT_RUN);
}
public boolean isDone() {
@@ -1745,8 +1744,7 @@ public class HRegion implements HeapSize
if (coprocessorHost.prePut(put, walEdit, put.getWriteToWAL())) {
// pre hook says skip this Put
// mark as success and skip below
- batchOp.retCodeDetails[i] = new OperationStatus(
- OperationStatusCode.SUCCESS);
+ batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;
}
}
}
@@ -1894,8 +1892,7 @@ public class HRegion implements HeapSize
if (!success) {
for (int i = firstIndex; i < lastIndexExclusive; i++) {
if (batchOp.retCodeDetails[i].getOperationStatusCode() == OperationStatusCode.NOT_RUN) {
- batchOp.retCodeDetails[i] = new OperationStatus(
- OperationStatusCode.FAILURE);
+ batchOp.retCodeDetails[i] = OperationStatus.FAILURE;
}
}
}
Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/OperationStatus.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/OperationStatus.java?rev=1235014&r1=1235013&r2=1235014&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/OperationStatus.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/OperationStatus.java Mon Jan 23 21:53:26 2012
@@ -30,9 +30,21 @@ import org.apache.hadoop.hbase.HConstant
*/
public class OperationStatus {
- private OperationStatusCode code;
+ /** Singleton for successful operations. */
+ static final OperationStatus SUCCESS =
+ new OperationStatus(OperationStatusCode.SUCCESS);
- private String exceptionMsg;
+ /** Singleton for failed operations. */
+ static final OperationStatus FAILURE =
+ new OperationStatus(OperationStatusCode.FAILURE);
+
+ /** Singleton for operations not yet run. */
+ static final OperationStatus NOT_RUN =
+ new OperationStatus(OperationStatusCode.NOT_RUN);
+
+ private final OperationStatusCode code;
+
+ private final String exceptionMsg;
public OperationStatus(OperationStatusCode code) {
this(code, "");