You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/10/11 04:22:05 UTC
svn commit: r1181578 - in
/hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase:
ipc/HRegionInterface.java regionserver/HRegionServer.java
regionserver/wal/HLog.java
Author: nspiegelberg
Date: Tue Oct 11 02:22:04 2011
New Revision: 1181578
URL: http://svn.apache.org/viewvc?rev=1181578&view=rev
Log:
Added a method to return a list of HLog files
Summary:
1. Added a method in HLog to return a list of HLog files.
2. Exposed that via HRegionServer + HRegionInterface.
3. Pass true / false : depending on whether current HLog should be rolled.
Test Plan:
Tested on dev cluster
Reviewed By: kannan
Reviewers: kannan, nspiegelberg, jgray
Commenters: jgray
CC: pritam, aaiyer, kranganathan, madhuvaidya, jgray, kannan
Differential Revision: 270044
Modified:
hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
Modified: hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java?rev=1181578&r1=1181577&r2=1181578&view=diff
==============================================================================
--- hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java (original)
+++ hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java Tue Oct 11 02:22:04 2011
@@ -83,6 +83,13 @@ public interface HRegionInterface extend
throws IllegalArgumentException;
/**
+ * @param rollCurrentHLog if true, the current HLog is rolled and will be
+ * included in the list returned
+ * @return list of HLog files
+ */
+ public List<String> getHLogsList(boolean rollCurrentHLog) throws IOException;
+
+ /**
* Perform Get operation.
* @param regionName name of region to get from
* @param get Get operation
Modified: hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1181578&r1=1181577&r2=1181578&view=diff
==============================================================================
--- hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Tue Oct 11 02:22:04 2011
@@ -1176,6 +1176,16 @@ public class HRegionServer implements HR
}
/**
+ * @param rollCurrentHLog if true, the current HLog is rolled and will be
+ * included in the list returned
+ * @return list of HLog files
+ */
+ public List<String> getHLogsList(boolean rollCurrentHLog) throws IOException {
+ if (rollCurrentHLog) this.hlog.rollWriter();
+ return this.hlog.getHLogsList();
+ }
+
+ /**
* Sets a flag that will cause all the HRegionServer threads to shut down
* in an orderly fashion. Used by unit tests.
*/
Modified: hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java?rev=1181578&r1=1181577&r2=1181578&view=diff
==============================================================================
--- hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (original)
+++ hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java Tue Oct 11 02:22:04 2011
@@ -441,6 +441,17 @@ public class HLog implements Syncable {
}
/**
+ * @return list of all log files
+ */
+ public List<String> getHLogsList() {
+ List<String> hLogsList = new ArrayList<String>(this.outputfiles.size());
+ for (Path hlog : this.outputfiles.values()) {
+ hLogsList.add(hlog.toString());
+ }
+ return hLogsList;
+ }
+
+ /**
* Roll the log writer. That is, start writing log messages to a new file.
*
* Because a log cannot be rolled during a cache flush, and a cache flush