Repository: hbase-site Updated Branches: refs/heads/asf-site e8a9b2eef -> 21347dff7
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html index 4234db1..d760e64 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html @@ -81,43 +81,49 @@ <span class="sourceLineNo">073</span> }<a name="line.73"></a> <span class="sourceLineNo">074</span> }<a name="line.74"></a> <span class="sourceLineNo">075</span><a name="line.75"></a> -<span class="sourceLineNo">076</span> // get next compaction action to apply on compaction pipeline<a name="line.76"></a> -<span class="sourceLineNo">077</span> public abstract Action getAction(VersionedSegmentsList versionedList);<a name="line.77"></a> -<span class="sourceLineNo">078</span> // update policy stats based on the segment that replaced previous versioned list (in<a name="line.78"></a> -<span class="sourceLineNo">079</span> // compaction pipeline)<a name="line.79"></a> -<span class="sourceLineNo">080</span> public void updateStats(Segment replacement) {}<a name="line.80"></a> -<span class="sourceLineNo">081</span> // resets policy stats<a name="line.81"></a> -<span class="sourceLineNo">082</span> public void resetStats() {}<a name="line.82"></a> -<span class="sourceLineNo">083</span><a name="line.83"></a> -<span class="sourceLineNo">084</span> protected Action simpleMergeOrFlatten(VersionedSegmentsList versionedList, String strategy) {<a name="line.84"></a> -<span class="sourceLineNo">085</span> int numOfSegments = versionedList.getNumOfSegments();<a name="line.85"></a> -<span class="sourceLineNo">086</span> if (numOfSegments > pipelineThreshold) {<a name="line.86"></a> -<span class="sourceLineNo">087</span> // to avoid too many segments, merge now<a name="line.87"></a> -<span class="sourceLineNo">088</span> LOG.trace("Strategy={}, store={}; merging {} segments", strategy, cfName, numOfSegments);<a name="line.88"></a> -<span class="sourceLineNo">089</span> return getMergingAction();<a name="line.89"></a> -<span class="sourceLineNo">090</span> }<a name="line.90"></a> -<span class="sourceLineNo">091</span><a name="line.91"></a> -<span class="sourceLineNo">092</span> // just flatten a segment<a name="line.92"></a> -<span class="sourceLineNo">093</span> LOG.trace("Strategy={}, store={}; flattening a segment", strategy, cfName);<a name="line.93"></a> -<span class="sourceLineNo">094</span> return getFlattenAction();<a name="line.94"></a> -<span class="sourceLineNo">095</span> }<a name="line.95"></a> -<span class="sourceLineNo">096</span><a name="line.96"></a> -<span class="sourceLineNo">097</span> protected Action getMergingAction() {<a name="line.97"></a> -<span class="sourceLineNo">098</span> return Action.MERGE;<a name="line.98"></a> -<span class="sourceLineNo">099</span> }<a name="line.99"></a> -<span class="sourceLineNo">100</span><a name="line.100"></a> -<span class="sourceLineNo">101</span> protected Action getFlattenAction() {<a name="line.101"></a> -<span class="sourceLineNo">102</span> return Action.FLATTEN;<a name="line.102"></a> -<span class="sourceLineNo">103</span> }<a name="line.103"></a> -<span class="sourceLineNo">104</span><a name="line.104"></a> -<span class="sourceLineNo">105</span> protected Action compact(VersionedSegmentsList versionedList, String strategyInfo) {<a name="line.105"></a> -<span class="sourceLineNo">106</span> int numOfSegments = versionedList.getNumOfSegments();<a name="line.106"></a> -<span class="sourceLineNo">107</span> LOG.trace("{} in-memory compaction for store={} compacting {} segments", strategyInfo,<a name="line.107"></a> -<span class="sourceLineNo">108</span> cfName, numOfSegments);<a name="line.108"></a> -<span class="sourceLineNo">109</span> return Action.COMPACT;<a name="line.109"></a> +<span class="sourceLineNo">076</span> @Override<a name="line.76"></a> +<span class="sourceLineNo">077</span> public String toString() {<a name="line.77"></a> +<span class="sourceLineNo">078</span> return getName() + ", pipelineThreshold=" + this.pipelineThreshold;<a name="line.78"></a> +<span class="sourceLineNo">079</span> }<a name="line.79"></a> +<span class="sourceLineNo">080</span><a name="line.80"></a> +<span class="sourceLineNo">081</span> protected abstract String getName();<a name="line.81"></a> +<span class="sourceLineNo">082</span><a name="line.82"></a> +<span class="sourceLineNo">083</span> // get next compaction action to apply on compaction pipeline<a name="line.83"></a> +<span class="sourceLineNo">084</span> public abstract Action getAction(VersionedSegmentsList versionedList);<a name="line.84"></a> +<span class="sourceLineNo">085</span> // update policy stats based on the segment that replaced previous versioned list (in<a name="line.85"></a> +<span class="sourceLineNo">086</span> // compaction pipeline)<a name="line.86"></a> +<span class="sourceLineNo">087</span> public void updateStats(Segment replacement) {}<a name="line.87"></a> +<span class="sourceLineNo">088</span> // resets policy stats<a name="line.88"></a> +<span class="sourceLineNo">089</span> public void resetStats() {}<a name="line.89"></a> +<span class="sourceLineNo">090</span><a name="line.90"></a> +<span class="sourceLineNo">091</span> protected Action simpleMergeOrFlatten(VersionedSegmentsList versionedList, String strategy) {<a name="line.91"></a> +<span class="sourceLineNo">092</span> int numOfSegments = versionedList.getNumOfSegments();<a name="line.92"></a> +<span class="sourceLineNo">093</span> if (numOfSegments > pipelineThreshold) {<a name="line.93"></a> +<span class="sourceLineNo">094</span> // to avoid too many segments, merge now<a name="line.94"></a> +<span class="sourceLineNo">095</span> LOG.trace("Strategy={}, store={}; merging {} segments", strategy, cfName, numOfSegments);<a name="line.95"></a> +<span class="sourceLineNo">096</span> return getMergingAction();<a name="line.96"></a> +<span class="sourceLineNo">097</span> }<a name="line.97"></a> +<span class="sourceLineNo">098</span><a name="line.98"></a> +<span class="sourceLineNo">099</span> // just flatten a segment<a name="line.99"></a> +<span class="sourceLineNo">100</span> LOG.trace("Strategy={}, store={}; flattening a segment", strategy, cfName);<a name="line.100"></a> +<span class="sourceLineNo">101</span> return getFlattenAction();<a name="line.101"></a> +<span class="sourceLineNo">102</span> }<a name="line.102"></a> +<span class="sourceLineNo">103</span><a name="line.103"></a> +<span class="sourceLineNo">104</span> protected Action getMergingAction() {<a name="line.104"></a> +<span class="sourceLineNo">105</span> return Action.MERGE;<a name="line.105"></a> +<span class="sourceLineNo">106</span> }<a name="line.106"></a> +<span class="sourceLineNo">107</span><a name="line.107"></a> +<span class="sourceLineNo">108</span> protected Action getFlattenAction() {<a name="line.108"></a> +<span class="sourceLineNo">109</span> return Action.FLATTEN;<a name="line.109"></a> <span class="sourceLineNo">110</span> }<a name="line.110"></a> <span class="sourceLineNo">111</span><a name="line.111"></a> -<span class="sourceLineNo">112</span>}<a name="line.112"></a> +<span class="sourceLineNo">112</span> protected Action compact(VersionedSegmentsList versionedList, String strategyInfo) {<a name="line.112"></a> +<span class="sourceLineNo">113</span> int numOfSegments = versionedList.getNumOfSegments();<a name="line.113"></a> +<span class="sourceLineNo">114</span> LOG.trace("{} in-memory compaction for store={} compacting {} segments", strategyInfo,<a name="line.114"></a> +<span class="sourceLineNo">115</span> cfName, numOfSegments);<a name="line.115"></a> +<span class="sourceLineNo">116</span> return Action.COMPACT;<a name="line.116"></a> +<span class="sourceLineNo">117</span> }<a name="line.117"></a> +<span class="sourceLineNo">118</span>}<a name="line.118"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.html index 4234db1..d760e64 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.html @@ -81,43 +81,49 @@ <span class="sourceLineNo">073</span> }<a name="line.73"></a> <span class="sourceLineNo">074</span> }<a name="line.74"></a> <span class="sourceLineNo">075</span><a name="line.75"></a> -<span class="sourceLineNo">076</span> // get next compaction action to apply on compaction pipeline<a name="line.76"></a> -<span class="sourceLineNo">077</span> public abstract Action getAction(VersionedSegmentsList versionedList);<a name="line.77"></a> -<span class="sourceLineNo">078</span> // update policy stats based on the segment that replaced previous versioned list (in<a name="line.78"></a> -<span class="sourceLineNo">079</span> // compaction pipeline)<a name="line.79"></a> -<span class="sourceLineNo">080</span> public void updateStats(Segment replacement) {}<a name="line.80"></a> -<span class="sourceLineNo">081</span> // resets policy stats<a name="line.81"></a> -<span class="sourceLineNo">082</span> public void resetStats() {}<a name="line.82"></a> -<span class="sourceLineNo">083</span><a name="line.83"></a> -<span class="sourceLineNo">084</span> protected Action simpleMergeOrFlatten(VersionedSegmentsList versionedList, String strategy) {<a name="line.84"></a> -<span class="sourceLineNo">085</span> int numOfSegments = versionedList.getNumOfSegments();<a name="line.85"></a> -<span class="sourceLineNo">086</span> if (numOfSegments > pipelineThreshold) {<a name="line.86"></a> -<span class="sourceLineNo">087</span> // to avoid too many segments, merge now<a name="line.87"></a> -<span class="sourceLineNo">088</span> LOG.trace("Strategy={}, store={}; merging {} segments", strategy, cfName, numOfSegments);<a name="line.88"></a> -<span class="sourceLineNo">089</span> return getMergingAction();<a name="line.89"></a> -<span class="sourceLineNo">090</span> }<a name="line.90"></a> -<span class="sourceLineNo">091</span><a name="line.91"></a> -<span class="sourceLineNo">092</span> // just flatten a segment<a name="line.92"></a> -<span class="sourceLineNo">093</span> LOG.trace("Strategy={}, store={}; flattening a segment", strategy, cfName);<a name="line.93"></a> -<span class="sourceLineNo">094</span> return getFlattenAction();<a name="line.94"></a> -<span class="sourceLineNo">095</span> }<a name="line.95"></a> -<span class="sourceLineNo">096</span><a name="line.96"></a> -<span class="sourceLineNo">097</span> protected Action getMergingAction() {<a name="line.97"></a> -<span class="sourceLineNo">098</span> return Action.MERGE;<a name="line.98"></a> -<span class="sourceLineNo">099</span> }<a name="line.99"></a> -<span class="sourceLineNo">100</span><a name="line.100"></a> -<span class="sourceLineNo">101</span> protected Action getFlattenAction() {<a name="line.101"></a> -<span class="sourceLineNo">102</span> return Action.FLATTEN;<a name="line.102"></a> -<span class="sourceLineNo">103</span> }<a name="line.103"></a> -<span class="sourceLineNo">104</span><a name="line.104"></a> -<span class="sourceLineNo">105</span> protected Action compact(VersionedSegmentsList versionedList, String strategyInfo) {<a name="line.105"></a> -<span class="sourceLineNo">106</span> int numOfSegments = versionedList.getNumOfSegments();<a name="line.106"></a> -<span class="sourceLineNo">107</span> LOG.trace("{} in-memory compaction for store={} compacting {} segments", strategyInfo,<a name="line.107"></a> -<span class="sourceLineNo">108</span> cfName, numOfSegments);<a name="line.108"></a> -<span class="sourceLineNo">109</span> return Action.COMPACT;<a name="line.109"></a> +<span class="sourceLineNo">076</span> @Override<a name="line.76"></a> +<span class="sourceLineNo">077</span> public String toString() {<a name="line.77"></a> +<span class="sourceLineNo">078</span> return getName() + ", pipelineThreshold=" + this.pipelineThreshold;<a name="line.78"></a> +<span class="sourceLineNo">079</span> }<a name="line.79"></a> +<span class="sourceLineNo">080</span><a name="line.80"></a> +<span class="sourceLineNo">081</span> protected abstract String getName();<a name="line.81"></a> +<span class="sourceLineNo">082</span><a name="line.82"></a> +<span class="sourceLineNo">083</span> // get next compaction action to apply on compaction pipeline<a name="line.83"></a> +<span class="sourceLineNo">084</span> public abstract Action getAction(VersionedSegmentsList versionedList);<a name="line.84"></a> +<span class="sourceLineNo">085</span> // update policy stats based on the segment that replaced previous versioned list (in<a name="line.85"></a> +<span class="sourceLineNo">086</span> // compaction pipeline)<a name="line.86"></a> +<span class="sourceLineNo">087</span> public void updateStats(Segment replacement) {}<a name="line.87"></a> +<span class="sourceLineNo">088</span> // resets policy stats<a name="line.88"></a> +<span class="sourceLineNo">089</span> public void resetStats() {}<a name="line.89"></a> +<span class="sourceLineNo">090</span><a name="line.90"></a> +<span class="sourceLineNo">091</span> protected Action simpleMergeOrFlatten(VersionedSegmentsList versionedList, String strategy) {<a name="line.91"></a> +<span class="sourceLineNo">092</span> int numOfSegments = versionedList.getNumOfSegments();<a name="line.92"></a> +<span class="sourceLineNo">093</span> if (numOfSegments > pipelineThreshold) {<a name="line.93"></a> +<span class="sourceLineNo">094</span> // to avoid too many segments, merge now<a name="line.94"></a> +<span class="sourceLineNo">095</span> LOG.trace("Strategy={}, store={}; merging {} segments", strategy, cfName, numOfSegments);<a name="line.95"></a> +<span class="sourceLineNo">096</span> return getMergingAction();<a name="line.96"></a> +<span class="sourceLineNo">097</span> }<a name="line.97"></a> +<span class="sourceLineNo">098</span><a name="line.98"></a> +<span class="sourceLineNo">099</span> // just flatten a segment<a name="line.99"></a> +<span class="sourceLineNo">100</span> LOG.trace("Strategy={}, store={}; flattening a segment", strategy, cfName);<a name="line.100"></a> +<span class="sourceLineNo">101</span> return getFlattenAction();<a name="line.101"></a> +<span class="sourceLineNo">102</span> }<a name="line.102"></a> +<span class="sourceLineNo">103</span><a name="line.103"></a> +<span class="sourceLineNo">104</span> protected Action getMergingAction() {<a name="line.104"></a> +<span class="sourceLineNo">105</span> return Action.MERGE;<a name="line.105"></a> +<span class="sourceLineNo">106</span> }<a name="line.106"></a> +<span class="sourceLineNo">107</span><a name="line.107"></a> +<span class="sourceLineNo">108</span> protected Action getFlattenAction() {<a name="line.108"></a> +<span class="sourceLineNo">109</span> return Action.FLATTEN;<a name="line.109"></a> <span class="sourceLineNo">110</span> }<a name="line.110"></a> <span class="sourceLineNo">111</span><a name="line.111"></a> -<span class="sourceLineNo">112</span>}<a name="line.112"></a> +<span class="sourceLineNo">112</span> protected Action compact(VersionedSegmentsList versionedList, String strategyInfo) {<a name="line.112"></a> +<span class="sourceLineNo">113</span> int numOfSegments = versionedList.getNumOfSegments();<a name="line.113"></a> +<span class="sourceLineNo">114</span> LOG.trace("{} in-memory compaction for store={} compacting {} segments", strategyInfo,<a name="line.114"></a> +<span class="sourceLineNo">115</span> cfName, numOfSegments);<a name="line.115"></a> +<span class="sourceLineNo">116</span> return Action.COMPACT;<a name="line.116"></a> +<span class="sourceLineNo">117</span> }<a name="line.117"></a> +<span class="sourceLineNo">118</span>}<a name="line.118"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactor.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactor.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactor.html index e029191..d4e7e70 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactor.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MemStoreCompactor.html @@ -87,179 +87,184 @@ <span class="sourceLineNo">079</span> compactingMemStore.getFamilyName());<a name="line.79"></a> <span class="sourceLineNo">080</span> }<a name="line.80"></a> <span class="sourceLineNo">081</span><a name="line.81"></a> -<span class="sourceLineNo">082</span> /**----------------------------------------------------------------------<a name="line.82"></a> -<span class="sourceLineNo">083</span> * The request to dispatch the compaction asynchronous task.<a name="line.83"></a> -<span class="sourceLineNo">084</span> * The method returns true if compaction was successfully dispatched, or false if there<a name="line.84"></a> -<span class="sourceLineNo">085</span> * is already an ongoing compaction or no segments to compact.<a name="line.85"></a> -<span class="sourceLineNo">086</span> */<a name="line.86"></a> -<span class="sourceLineNo">087</span> public boolean start() throws IOException {<a name="line.87"></a> -<span class="sourceLineNo">088</span> if (!compactingMemStore.hasImmutableSegments()) { // no compaction on empty pipeline<a name="line.88"></a> -<span class="sourceLineNo">089</span> return false;<a name="line.89"></a> -<span class="sourceLineNo">090</span> }<a name="line.90"></a> -<span class="sourceLineNo">091</span><a name="line.91"></a> -<span class="sourceLineNo">092</span> // get a snapshot of the list of the segments from the pipeline,<a name="line.92"></a> -<span class="sourceLineNo">093</span> // this local copy of the list is marked with specific version<a name="line.93"></a> -<span class="sourceLineNo">094</span> versionedList = compactingMemStore.getImmutableSegments();<a name="line.94"></a> -<span class="sourceLineNo">095</span> LOG.trace("Speculative compaction starting on {}/{}",<a name="line.95"></a> -<span class="sourceLineNo">096</span> compactingMemStore.getStore().getHRegion().getRegionInfo().getEncodedName(),<a name="line.96"></a> -<span class="sourceLineNo">097</span> compactingMemStore.getStore().getColumnFamilyName());<a name="line.97"></a> -<span class="sourceLineNo">098</span> HStore store = compactingMemStore.getStore();<a name="line.98"></a> -<span class="sourceLineNo">099</span> RegionCoprocessorHost cpHost = store.getCoprocessorHost();<a name="line.99"></a> -<span class="sourceLineNo">100</span> if (cpHost != null) {<a name="line.100"></a> -<span class="sourceLineNo">101</span> cpHost.preMemStoreCompaction(store);<a name="line.101"></a> -<span class="sourceLineNo">102</span> }<a name="line.102"></a> -<span class="sourceLineNo">103</span> try {<a name="line.103"></a> -<span class="sourceLineNo">104</span> doCompaction();<a name="line.104"></a> -<span class="sourceLineNo">105</span> } finally {<a name="line.105"></a> -<span class="sourceLineNo">106</span> if (cpHost != null) {<a name="line.106"></a> -<span class="sourceLineNo">107</span> cpHost.postMemStoreCompaction(store);<a name="line.107"></a> -<span class="sourceLineNo">108</span> }<a name="line.108"></a> -<span class="sourceLineNo">109</span> }<a name="line.109"></a> -<span class="sourceLineNo">110</span> return true;<a name="line.110"></a> -<span class="sourceLineNo">111</span> }<a name="line.111"></a> -<span class="sourceLineNo">112</span><a name="line.112"></a> -<span class="sourceLineNo">113</span> /**----------------------------------------------------------------------<a name="line.113"></a> -<span class="sourceLineNo">114</span> * The request to cancel the compaction asynchronous task<a name="line.114"></a> -<span class="sourceLineNo">115</span> * The compaction may still happen if the request was sent too late<a name="line.115"></a> -<span class="sourceLineNo">116</span> * Non-blocking request<a name="line.116"></a> -<span class="sourceLineNo">117</span> */<a name="line.117"></a> -<span class="sourceLineNo">118</span> public void stop() {<a name="line.118"></a> -<span class="sourceLineNo">119</span> isInterrupted.compareAndSet(false, true);<a name="line.119"></a> -<span class="sourceLineNo">120</span> }<a name="line.120"></a> -<span class="sourceLineNo">121</span><a name="line.121"></a> -<span class="sourceLineNo">122</span><a name="line.122"></a> -<span class="sourceLineNo">123</span> public void resetStats() {<a name="line.123"></a> -<span class="sourceLineNo">124</span> strategy.resetStats();<a name="line.124"></a> +<span class="sourceLineNo">082</span> @Override<a name="line.82"></a> +<span class="sourceLineNo">083</span> public String toString() {<a name="line.83"></a> +<span class="sourceLineNo">084</span> return this.strategy + ", compactionCellMax=" + this.compactionKVMax;<a name="line.84"></a> +<span class="sourceLineNo">085</span> }<a name="line.85"></a> +<span class="sourceLineNo">086</span><a name="line.86"></a> +<span class="sourceLineNo">087</span> /**----------------------------------------------------------------------<a name="line.87"></a> +<span class="sourceLineNo">088</span> * The request to dispatch the compaction asynchronous task.<a name="line.88"></a> +<span class="sourceLineNo">089</span> * The method returns true if compaction was successfully dispatched, or false if there<a name="line.89"></a> +<span class="sourceLineNo">090</span> * is already an ongoing compaction or no segments to compact.<a name="line.90"></a> +<span class="sourceLineNo">091</span> */<a name="line.91"></a> +<span class="sourceLineNo">092</span> public boolean start() throws IOException {<a name="line.92"></a> +<span class="sourceLineNo">093</span> if (!compactingMemStore.hasImmutableSegments()) { // no compaction on empty pipeline<a name="line.93"></a> +<span class="sourceLineNo">094</span> return false;<a name="line.94"></a> +<span class="sourceLineNo">095</span> }<a name="line.95"></a> +<span class="sourceLineNo">096</span><a name="line.96"></a> +<span class="sourceLineNo">097</span> // get a snapshot of the list of the segments from the pipeline,<a name="line.97"></a> +<span class="sourceLineNo">098</span> // this local copy of the list is marked with specific version<a name="line.98"></a> +<span class="sourceLineNo">099</span> versionedList = compactingMemStore.getImmutableSegments();<a name="line.99"></a> +<span class="sourceLineNo">100</span> LOG.trace("Speculative compaction starting on {}/{}",<a name="line.100"></a> +<span class="sourceLineNo">101</span> compactingMemStore.getStore().getHRegion().getRegionInfo().getEncodedName(),<a name="line.101"></a> +<span class="sourceLineNo">102</span> compactingMemStore.getStore().getColumnFamilyName());<a name="line.102"></a> +<span class="sourceLineNo">103</span> HStore store = compactingMemStore.getStore();<a name="line.103"></a> +<span class="sourceLineNo">104</span> RegionCoprocessorHost cpHost = store.getCoprocessorHost();<a name="line.104"></a> +<span class="sourceLineNo">105</span> if (cpHost != null) {<a name="line.105"></a> +<span class="sourceLineNo">106</span> cpHost.preMemStoreCompaction(store);<a name="line.106"></a> +<span class="sourceLineNo">107</span> }<a name="line.107"></a> +<span class="sourceLineNo">108</span> try {<a name="line.108"></a> +<span class="sourceLineNo">109</span> doCompaction();<a name="line.109"></a> +<span class="sourceLineNo">110</span> } finally {<a name="line.110"></a> +<span class="sourceLineNo">111</span> if (cpHost != null) {<a name="line.111"></a> +<span class="sourceLineNo">112</span> cpHost.postMemStoreCompaction(store);<a name="line.112"></a> +<span class="sourceLineNo">113</span> }<a name="line.113"></a> +<span class="sourceLineNo">114</span> }<a name="line.114"></a> +<span class="sourceLineNo">115</span> return true;<a name="line.115"></a> +<span class="sourceLineNo">116</span> }<a name="line.116"></a> +<span class="sourceLineNo">117</span><a name="line.117"></a> +<span class="sourceLineNo">118</span> /**----------------------------------------------------------------------<a name="line.118"></a> +<span class="sourceLineNo">119</span> * The request to cancel the compaction asynchronous task<a name="line.119"></a> +<span class="sourceLineNo">120</span> * The compaction may still happen if the request was sent too late<a name="line.120"></a> +<span class="sourceLineNo">121</span> * Non-blocking request<a name="line.121"></a> +<span class="sourceLineNo">122</span> */<a name="line.122"></a> +<span class="sourceLineNo">123</span> public void stop() {<a name="line.123"></a> +<span class="sourceLineNo">124</span> isInterrupted.compareAndSet(false, true);<a name="line.124"></a> <span class="sourceLineNo">125</span> }<a name="line.125"></a> <span class="sourceLineNo">126</span><a name="line.126"></a> -<span class="sourceLineNo">127</span> /**----------------------------------------------------------------------<a name="line.127"></a> -<span class="sourceLineNo">128</span> * Reset the interruption indicator and clear the pointers in order to allow good<a name="line.128"></a> -<span class="sourceLineNo">129</span> * garbage collection<a name="line.129"></a> -<span class="sourceLineNo">130</span> */<a name="line.130"></a> -<span class="sourceLineNo">131</span> private void releaseResources() {<a name="line.131"></a> -<span class="sourceLineNo">132</span> isInterrupted.set(false);<a name="line.132"></a> -<span class="sourceLineNo">133</span> versionedList = null;<a name="line.133"></a> -<span class="sourceLineNo">134</span> }<a name="line.134"></a> -<span class="sourceLineNo">135</span><a name="line.135"></a> -<span class="sourceLineNo">136</span> /**----------------------------------------------------------------------<a name="line.136"></a> -<span class="sourceLineNo">137</span> * The worker thread performs the compaction asynchronously.<a name="line.137"></a> -<span class="sourceLineNo">138</span> * The solo (per compactor) thread only reads the compaction pipeline.<a name="line.138"></a> -<span class="sourceLineNo">139</span> * There is at most one thread per memstore instance.<a name="line.139"></a> -<span class="sourceLineNo">140</span> */<a name="line.140"></a> -<span class="sourceLineNo">141</span> private void doCompaction() {<a name="line.141"></a> -<span class="sourceLineNo">142</span> ImmutableSegment result = null;<a name="line.142"></a> -<span class="sourceLineNo">143</span> boolean resultSwapped = false;<a name="line.143"></a> -<span class="sourceLineNo">144</span> if (isInterrupted.get()) { // if the entire process is interrupted cancel flattening<a name="line.144"></a> -<span class="sourceLineNo">145</span> return; // the compaction also doesn't start when interrupted<a name="line.145"></a> -<span class="sourceLineNo">146</span> }<a name="line.146"></a> -<span class="sourceLineNo">147</span><a name="line.147"></a> -<span class="sourceLineNo">148</span> MemStoreCompactionStrategy.Action nextStep = strategy.getAction(versionedList);<a name="line.148"></a> -<span class="sourceLineNo">149</span> boolean merge =<a name="line.149"></a> -<span class="sourceLineNo">150</span> (nextStep == MemStoreCompactionStrategy.Action.MERGE ||<a name="line.150"></a> -<span class="sourceLineNo">151</span> nextStep == MemStoreCompactionStrategy.Action.MERGE_COUNT_UNIQUE_KEYS);<a name="line.151"></a> -<span class="sourceLineNo">152</span> try {<a name="line.152"></a> -<span class="sourceLineNo">153</span> if (nextStep == MemStoreCompactionStrategy.Action.NOOP) {<a name="line.153"></a> -<span class="sourceLineNo">154</span> return;<a name="line.154"></a> -<span class="sourceLineNo">155</span> }<a name="line.155"></a> -<span class="sourceLineNo">156</span> if (nextStep == MemStoreCompactionStrategy.Action.FLATTEN ||<a name="line.156"></a> -<span class="sourceLineNo">157</span> nextStep == MemStoreCompactionStrategy.Action.FLATTEN_COUNT_UNIQUE_KEYS) {<a name="line.157"></a> -<span class="sourceLineNo">158</span> // some Segment in the pipeline is with SkipList index, make it flat<a name="line.158"></a> -<span class="sourceLineNo">159</span> compactingMemStore.flattenOneSegment(versionedList.getVersion(), nextStep);<a name="line.159"></a> -<span class="sourceLineNo">160</span> return;<a name="line.160"></a> -<span class="sourceLineNo">161</span> }<a name="line.161"></a> -<span class="sourceLineNo">162</span><a name="line.162"></a> -<span class="sourceLineNo">163</span> // Create one segment representing all segments in the compaction pipeline,<a name="line.163"></a> -<span class="sourceLineNo">164</span> // either by compaction or by merge<a name="line.164"></a> -<span class="sourceLineNo">165</span> if (!isInterrupted.get()) {<a name="line.165"></a> -<span class="sourceLineNo">166</span> result = createSubstitution(nextStep);<a name="line.166"></a> -<span class="sourceLineNo">167</span> }<a name="line.167"></a> -<span class="sourceLineNo">168</span><a name="line.168"></a> -<span class="sourceLineNo">169</span> // Substitute the pipeline with one segment<a name="line.169"></a> +<span class="sourceLineNo">127</span><a name="line.127"></a> +<span class="sourceLineNo">128</span> public void resetStats() {<a name="line.128"></a> +<span class="sourceLineNo">129</span> strategy.resetStats();<a name="line.129"></a> +<span class="sourceLineNo">130</span> }<a name="line.130"></a> +<span class="sourceLineNo">131</span><a name="line.131"></a> +<span class="sourceLineNo">132</span> /**----------------------------------------------------------------------<a name="line.132"></a> +<span class="sourceLineNo">133</span> * Reset the interruption indicator and clear the pointers in order to allow good<a name="line.133"></a> +<span class="sourceLineNo">134</span> * garbage collection<a name="line.134"></a> +<span class="sourceLineNo">135</span> */<a name="line.135"></a> +<span class="sourceLineNo">136</span> private void releaseResources() {<a name="line.136"></a> +<span class="sourceLineNo">137</span> isInterrupted.set(false);<a name="line.137"></a> +<span class="sourceLineNo">138</span> versionedList = null;<a name="line.138"></a> +<span class="sourceLineNo">139</span> }<a name="line.139"></a> +<span class="sourceLineNo">140</span><a name="line.140"></a> +<span class="sourceLineNo">141</span> /**----------------------------------------------------------------------<a name="line.141"></a> +<span class="sourceLineNo">142</span> * The worker thread performs the compaction asynchronously.<a name="line.142"></a> +<span class="sourceLineNo">143</span> * The solo (per compactor) thread only reads the compaction pipeline.<a name="line.143"></a> +<span class="sourceLineNo">144</span> * There is at most one thread per memstore instance.<a name="line.144"></a> +<span class="sourceLineNo">145</span> */<a name="line.145"></a> +<span class="sourceLineNo">146</span> private void doCompaction() {<a name="line.146"></a> +<span class="sourceLineNo">147</span> ImmutableSegment result = null;<a name="line.147"></a> +<span class="sourceLineNo">148</span> boolean resultSwapped = false;<a name="line.148"></a> +<span class="sourceLineNo">149</span> if (isInterrupted.get()) { // if the entire process is interrupted cancel flattening<a name="line.149"></a> +<span class="sourceLineNo">150</span> return; // the compaction also doesn't start when interrupted<a name="line.150"></a> +<span class="sourceLineNo">151</span> }<a name="line.151"></a> +<span class="sourceLineNo">152</span><a name="line.152"></a> +<span class="sourceLineNo">153</span> MemStoreCompactionStrategy.Action nextStep = strategy.getAction(versionedList);<a name="line.153"></a> +<span class="sourceLineNo">154</span> boolean merge =<a name="line.154"></a> +<span class="sourceLineNo">155</span> (nextStep == MemStoreCompactionStrategy.Action.MERGE ||<a name="line.155"></a> +<span class="sourceLineNo">156</span> nextStep == MemStoreCompactionStrategy.Action.MERGE_COUNT_UNIQUE_KEYS);<a name="line.156"></a> +<span class="sourceLineNo">157</span> try {<a name="line.157"></a> +<span class="sourceLineNo">158</span> if (nextStep == MemStoreCompactionStrategy.Action.NOOP) {<a name="line.158"></a> +<span class="sourceLineNo">159</span> return;<a name="line.159"></a> +<span class="sourceLineNo">160</span> }<a name="line.160"></a> +<span class="sourceLineNo">161</span> if (nextStep == MemStoreCompactionStrategy.Action.FLATTEN ||<a name="line.161"></a> +<span class="sourceLineNo">162</span> nextStep == MemStoreCompactionStrategy.Action.FLATTEN_COUNT_UNIQUE_KEYS) {<a name="line.162"></a> +<span class="sourceLineNo">163</span> // some Segment in the pipeline is with SkipList index, make it flat<a name="line.163"></a> +<span class="sourceLineNo">164</span> compactingMemStore.flattenOneSegment(versionedList.getVersion(), nextStep);<a name="line.164"></a> +<span class="sourceLineNo">165</span> return;<a name="line.165"></a> +<span class="sourceLineNo">166</span> }<a name="line.166"></a> +<span class="sourceLineNo">167</span><a name="line.167"></a> +<span class="sourceLineNo">168</span> // Create one segment representing all segments in the compaction pipeline,<a name="line.168"></a> +<span class="sourceLineNo">169</span> // either by compaction or by merge<a name="line.169"></a> <span class="sourceLineNo">170</span> if (!isInterrupted.get()) {<a name="line.170"></a> -<span class="sourceLineNo">171</span> resultSwapped = compactingMemStore.swapCompactedSegments(versionedList, result, merge);<a name="line.171"></a> -<span class="sourceLineNo">172</span> if (resultSwapped) {<a name="line.172"></a> -<span class="sourceLineNo">173</span> // update compaction strategy<a name="line.173"></a> -<span class="sourceLineNo">174</span> strategy.updateStats(result);<a name="line.174"></a> -<span class="sourceLineNo">175</span> // update the wal so it can be truncated and not get too long<a name="line.175"></a> -<span class="sourceLineNo">176</span> compactingMemStore.updateLowestUnflushedSequenceIdInWAL(true); // only if greater<a name="line.176"></a> -<span class="sourceLineNo">177</span> }<a name="line.177"></a> -<span class="sourceLineNo">178</span> }<a name="line.178"></a> -<span class="sourceLineNo">179</span> } catch (IOException e) {<a name="line.179"></a> -<span class="sourceLineNo">180</span> LOG.trace("Interrupting in-memory compaction for store={}",<a name="line.180"></a> -<span class="sourceLineNo">181</span> compactingMemStore.getFamilyName());<a name="line.181"></a> -<span class="sourceLineNo">182</span> Thread.currentThread().interrupt();<a name="line.182"></a> -<span class="sourceLineNo">183</span> } finally {<a name="line.183"></a> -<span class="sourceLineNo">184</span> // For the MERGE case, if the result was created, but swap didn't happen,<a name="line.184"></a> -<span class="sourceLineNo">185</span> // we DON'T need to close the result segment (meaning its MSLAB)!<a name="line.185"></a> -<span class="sourceLineNo">186</span> // Because closing the result segment means closing the chunks of all segments<a name="line.186"></a> -<span class="sourceLineNo">187</span> // in the compaction pipeline, which still have ongoing scans.<a name="line.187"></a> -<span class="sourceLineNo">188</span> if (!merge && (result != null) && !resultSwapped) {<a name="line.188"></a> -<span class="sourceLineNo">189</span> result.close();<a name="line.189"></a> -<span class="sourceLineNo">190</span> }<a name="line.190"></a> -<span class="sourceLineNo">191</span> releaseResources();<a name="line.191"></a> -<span class="sourceLineNo">192</span> }<a name="line.192"></a> -<span class="sourceLineNo">193</span><a name="line.193"></a> -<span class="sourceLineNo">194</span> }<a name="line.194"></a> -<span class="sourceLineNo">195</span><a name="line.195"></a> -<span class="sourceLineNo">196</span> /**----------------------------------------------------------------------<a name="line.196"></a> -<span class="sourceLineNo">197</span> * Creation of the ImmutableSegment either by merge or copy-compact of the segments of the<a name="line.197"></a> -<span class="sourceLineNo">198</span> * pipeline, based on the Compactor Iterator. The new ImmutableSegment is returned.<a name="line.198"></a> -<span class="sourceLineNo">199</span> */<a name="line.199"></a> -<span class="sourceLineNo">200</span> private ImmutableSegment createSubstitution(MemStoreCompactionStrategy.Action action) throws<a name="line.200"></a> -<span class="sourceLineNo">201</span> IOException {<a name="line.201"></a> -<span class="sourceLineNo">202</span><a name="line.202"></a> -<span class="sourceLineNo">203</span> ImmutableSegment result = null;<a name="line.203"></a> -<span class="sourceLineNo">204</span> MemStoreSegmentsIterator iterator = null;<a name="line.204"></a> -<span class="sourceLineNo">205</span><a name="line.205"></a> -<span class="sourceLineNo">206</span> switch (action) {<a name="line.206"></a> -<span class="sourceLineNo">207</span> case COMPACT:<a name="line.207"></a> -<span class="sourceLineNo">208</span> iterator = new MemStoreCompactorSegmentsIterator(versionedList.getStoreSegments(),<a name="line.208"></a> -<span class="sourceLineNo">209</span> compactingMemStore.getComparator(),<a name="line.209"></a> -<span class="sourceLineNo">210</span> compactionKVMax, compactingMemStore.getStore());<a name="line.210"></a> -<span class="sourceLineNo">211</span><a name="line.211"></a> -<span class="sourceLineNo">212</span> result = SegmentFactory.instance().createImmutableSegmentByCompaction(<a name="line.212"></a> -<span class="sourceLineNo">213</span> compactingMemStore.getConfiguration(), compactingMemStore.getComparator(), iterator,<a name="line.213"></a> -<span class="sourceLineNo">214</span> versionedList.getNumOfCells(), compactingMemStore.getIndexType(), action);<a name="line.214"></a> -<span class="sourceLineNo">215</span> iterator.close();<a name="line.215"></a> -<span class="sourceLineNo">216</span> break;<a name="line.216"></a> -<span class="sourceLineNo">217</span> case MERGE:<a name="line.217"></a> -<span class="sourceLineNo">218</span> case MERGE_COUNT_UNIQUE_KEYS:<a name="line.218"></a> -<span class="sourceLineNo">219</span> iterator =<a name="line.219"></a> -<span class="sourceLineNo">220</span> new MemStoreMergerSegmentsIterator(versionedList.getStoreSegments(),<a name="line.220"></a> -<span class="sourceLineNo">221</span> compactingMemStore.getComparator(), compactionKVMax);<a name="line.221"></a> -<span class="sourceLineNo">222</span><a name="line.222"></a> -<span class="sourceLineNo">223</span> result = SegmentFactory.instance().createImmutableSegmentByMerge(<a name="line.223"></a> -<span class="sourceLineNo">224</span> compactingMemStore.getConfiguration(), compactingMemStore.getComparator(), iterator,<a name="line.224"></a> -<span class="sourceLineNo">225</span> versionedList.getNumOfCells(), versionedList.getStoreSegments(),<a name="line.225"></a> -<span class="sourceLineNo">226</span> compactingMemStore.getIndexType(), action);<a name="line.226"></a> -<span class="sourceLineNo">227</span> iterator.close();<a name="line.227"></a> -<span class="sourceLineNo">228</span> break;<a name="line.228"></a> -<span class="sourceLineNo">229</span> default:<a name="line.229"></a> -<span class="sourceLineNo">230</span> throw new RuntimeException("Unknown action " + action); // sanity check<a name="line.230"></a> -<span class="sourceLineNo">231</span> }<a name="line.231"></a> -<span class="sourceLineNo">232</span><a name="line.232"></a> -<span class="sourceLineNo">233</span> return result;<a name="line.233"></a> -<span class="sourceLineNo">234</span> }<a name="line.234"></a> -<span class="sourceLineNo">235</span><a name="line.235"></a> -<span class="sourceLineNo">236</span> @VisibleForTesting<a name="line.236"></a> -<span class="sourceLineNo">237</span> void initiateCompactionStrategy(MemoryCompactionPolicy compType,<a name="line.237"></a> -<span class="sourceLineNo">238</span> Configuration configuration, String cfName) throws IllegalArgumentIOException {<a name="line.238"></a> -<span class="sourceLineNo">239</span><a name="line.239"></a> -<span class="sourceLineNo">240</span> assert (compType !=MemoryCompactionPolicy.NONE);<a name="line.240"></a> -<span class="sourceLineNo">241</span><a name="line.241"></a> -<span class="sourceLineNo">242</span> switch (compType){<a name="line.242"></a> -<span class="sourceLineNo">243</span> case BASIC: strategy = new BasicMemStoreCompactionStrategy(configuration, cfName);<a name="line.243"></a> -<span class="sourceLineNo">244</span> break;<a name="line.244"></a> -<span class="sourceLineNo">245</span> case EAGER: strategy = new EagerMemStoreCompactionStrategy(configuration, cfName);<a name="line.245"></a> -<span class="sourceLineNo">246</span> break;<a name="line.246"></a> -<span class="sourceLineNo">247</span> case ADAPTIVE: strategy = new AdaptiveMemStoreCompactionStrategy(configuration, cfName);<a name="line.247"></a> -<span class="sourceLineNo">248</span> break;<a name="line.248"></a> -<span class="sourceLineNo">249</span> default:<a name="line.249"></a> -<span class="sourceLineNo">250</span> // sanity check<a name="line.250"></a> -<span class="sourceLineNo">251</span> throw new IllegalArgumentIOException("Unknown memory compaction type " + compType);<a name="line.251"></a> -<span class="sourceLineNo">252</span> }<a name="line.252"></a> -<span class="sourceLineNo">253</span> }<a name="line.253"></a> -<span class="sourceLineNo">254</span>}<a name="line.254"></a> +<span class="sourceLineNo">171</span> result = createSubstitution(nextStep);<a name="line.171"></a> +<span class="sourceLineNo">172</span> }<a name="line.172"></a> +<span class="sourceLineNo">173</span><a name="line.173"></a> +<span class="sourceLineNo">174</span> // Substitute the pipeline with one segment<a name="line.174"></a> +<span class="sourceLineNo">175</span> if (!isInterrupted.get()) {<a name="line.175"></a> +<span class="sourceLineNo">176</span> resultSwapped = compactingMemStore.swapCompactedSegments(versionedList, result, merge);<a name="line.176"></a> +<span class="sourceLineNo">177</span> if (resultSwapped) {<a name="line.177"></a> +<span class="sourceLineNo">178</span> // update compaction strategy<a name="line.178"></a> +<span class="sourceLineNo">179</span> strategy.updateStats(result);<a name="line.179"></a> +<span class="sourceLineNo">180</span> // update the wal so it can be truncated and not get too long<a name="line.180"></a> +<span class="sourceLineNo">181</span> compactingMemStore.updateLowestUnflushedSequenceIdInWAL(true); // only if greater<a name="line.181"></a> +<span class="sourceLineNo">182</span> }<a name="line.182"></a> +<span class="sourceLineNo">183</span> }<a name="line.183"></a> +<span class="sourceLineNo">184</span> } catch (IOException e) {<a name="line.184"></a> +<span class="sourceLineNo">185</span> LOG.trace("Interrupting in-memory compaction for store={}",<a name="line.185"></a> +<span class="sourceLineNo">186</span> compactingMemStore.getFamilyName());<a name="line.186"></a> +<span class="sourceLineNo">187</span> Thread.currentThread().interrupt();<a name="line.187"></a> +<span class="sourceLineNo">188</span> } finally {<a name="line.188"></a> +<span class="sourceLineNo">189</span> // For the MERGE case, if the result was created, but swap didn't happen,<a name="line.189"></a> +<span class="sourceLineNo">190</span> // we DON'T need to close the result segment (meaning its MSLAB)!<a name="line.190"></a> +<span class="sourceLineNo">191</span> // Because closing the result segment means closing the chunks of all segments<a name="line.191"></a> +<span class="sourceLineNo">192</span> // in the compaction pipeline, which still have ongoing scans.<a name="line.192"></a> +<span class="sourceLineNo">193</span> if (!merge && (result != null) && !resultSwapped) {<a name="line.193"></a> +<span class="sourceLineNo">194</span> result.close();<a name="line.194"></a> +<span class="sourceLineNo">195</span> }<a name="line.195"></a> +<span class="sourceLineNo">196</span> releaseResources();<a name="line.196"></a> +<span class="sourceLineNo">197</span> }<a name="line.197"></a> +<span class="sourceLineNo">198</span><a name="line.198"></a> +<span class="sourceLineNo">199</span> }<a name="line.199"></a> +<span class="sourceLineNo">200</span><a name="line.200"></a> +<span class="sourceLineNo">201</span> /**----------------------------------------------------------------------<a name="line.201"></a> +<span class="sourceLineNo">202</span> * Creation of the ImmutableSegment either by merge or copy-compact of the segments of the<a name="line.202"></a> +<span class="sourceLineNo">203</span> * pipeline, based on the Compactor Iterator. The new ImmutableSegment is returned.<a name="line.203"></a> +<span class="sourceLineNo">204</span> */<a name="line.204"></a> +<span class="sourceLineNo">205</span> private ImmutableSegment createSubstitution(MemStoreCompactionStrategy.Action action) throws<a name="line.205"></a> +<span class="sourceLineNo">206</span> IOException {<a name="line.206"></a> +<span class="sourceLineNo">207</span><a name="line.207"></a> +<span class="sourceLineNo">208</span> ImmutableSegment result = null;<a name="line.208"></a> +<span class="sourceLineNo">209</span> MemStoreSegmentsIterator iterator = null;<a name="line.209"></a> +<span class="sourceLineNo">210</span><a name="line.210"></a> +<span class="sourceLineNo">211</span> switch (action) {<a name="line.211"></a> +<span class="sourceLineNo">212</span> case COMPACT:<a name="line.212"></a> +<span class="sourceLineNo">213</span> iterator = new MemStoreCompactorSegmentsIterator(versionedList.getStoreSegments(),<a name="line.213"></a> +<span class="sourceLineNo">214</span> compactingMemStore.getComparator(),<a name="line.214"></a> +<span class="sourceLineNo">215</span> compactionKVMax, compactingMemStore.getStore());<a name="line.215"></a> +<span class="sourceLineNo">216</span><a name="line.216"></a> +<span class="sourceLineNo">217</span> result = SegmentFactory.instance().createImmutableSegmentByCompaction(<a name="line.217"></a> +<span class="sourceLineNo">218</span> compactingMemStore.getConfiguration(), compactingMemStore.getComparator(), iterator,<a name="line.218"></a> +<span class="sourceLineNo">219</span> versionedList.getNumOfCells(), compactingMemStore.getIndexType(), action);<a name="line.219"></a> +<span class="sourceLineNo">220</span> iterator.close();<a name="line.220"></a> +<span class="sourceLineNo">221</span> break;<a name="line.221"></a> +<span class="sourceLineNo">222</span> case MERGE:<a name="line.222"></a> +<span class="sourceLineNo">223</span> case MERGE_COUNT_UNIQUE_KEYS:<a name="line.223"></a> +<span class="sourceLineNo">224</span> iterator =<a name="line.224"></a> +<span class="sourceLineNo">225</span> new MemStoreMergerSegmentsIterator(versionedList.getStoreSegments(),<a name="line.225"></a> +<span class="sourceLineNo">226</span> compactingMemStore.getComparator(), compactionKVMax);<a name="line.226"></a> +<span class="sourceLineNo">227</span><a name="line.227"></a> +<span class="sourceLineNo">228</span> result = SegmentFactory.instance().createImmutableSegmentByMerge(<a name="line.228"></a> +<span class="sourceLineNo">229</span> compactingMemStore.getConfiguration(), compactingMemStore.getComparator(), iterator,<a name="line.229"></a> +<span class="sourceLineNo">230</span> versionedList.getNumOfCells(), versionedList.getStoreSegments(),<a name="line.230"></a> +<span class="sourceLineNo">231</span> compactingMemStore.getIndexType(), action);<a name="line.231"></a> +<span class="sourceLineNo">232</span> iterator.close();<a name="line.232"></a> +<span class="sourceLineNo">233</span> break;<a name="line.233"></a> +<span class="sourceLineNo">234</span> default:<a name="line.234"></a> +<span class="sourceLineNo">235</span> throw new RuntimeException("Unknown action " + action); // sanity check<a name="line.235"></a> +<span class="sourceLineNo">236</span> }<a name="line.236"></a> +<span class="sourceLineNo">237</span><a name="line.237"></a> +<span class="sourceLineNo">238</span> return result;<a name="line.238"></a> +<span class="sourceLineNo">239</span> }<a name="line.239"></a> +<span class="sourceLineNo">240</span><a name="line.240"></a> +<span class="sourceLineNo">241</span> @VisibleForTesting<a name="line.241"></a> +<span class="sourceLineNo">242</span> void initiateCompactionStrategy(MemoryCompactionPolicy compType,<a name="line.242"></a> +<span class="sourceLineNo">243</span> Configuration configuration, String cfName) throws IllegalArgumentIOException {<a name="line.243"></a> +<span class="sourceLineNo">244</span><a name="line.244"></a> +<span class="sourceLineNo">245</span> assert (compType !=MemoryCompactionPolicy.NONE);<a name="line.245"></a> +<span class="sourceLineNo">246</span><a name="line.246"></a> +<span class="sourceLineNo">247</span> switch (compType){<a name="line.247"></a> +<span class="sourceLineNo">248</span> case BASIC: strategy = new BasicMemStoreCompactionStrategy(configuration, cfName);<a name="line.248"></a> +<span class="sourceLineNo">249</span> break;<a name="line.249"></a> +<span class="sourceLineNo">250</span> case EAGER: strategy = new EagerMemStoreCompactionStrategy(configuration, cfName);<a name="line.250"></a> +<span class="sourceLineNo">251</span> break;<a name="line.251"></a> +<span class="sourceLineNo">252</span> case ADAPTIVE: strategy = new AdaptiveMemStoreCompactionStrategy(configuration, cfName);<a name="line.252"></a> +<span class="sourceLineNo">253</span> break;<a name="line.253"></a> +<span class="sourceLineNo">254</span> default:<a name="line.254"></a> +<span class="sourceLineNo">255</span> // sanity check<a name="line.255"></a> +<span class="sourceLineNo">256</span> throw new IllegalArgumentIOException("Unknown memory compaction type " + compType);<a name="line.256"></a> +<span class="sourceLineNo">257</span> }<a name="line.257"></a> +<span class="sourceLineNo">258</span> }<a name="line.258"></a> +<span class="sourceLineNo">259</span>}<a name="line.259"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/export_control.html ---------------------------------------------------------------------- diff --git a/export_control.html b/export_control.html index f33e181..24c0446 100644 --- a/export_control.html +++ b/export_control.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Export Control @@ -321,7 +321,7 @@ for more details.</p> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/index.html ---------------------------------------------------------------------- diff --git a/index.html b/index.html index 03243eb..2d5468c 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Apache HBase⢠Home</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -425,7 +425,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/integration.html ---------------------------------------------------------------------- diff --git a/integration.html b/integration.html index a0d2bfa..abadd64 100644 --- a/integration.html +++ b/integration.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – CI Management</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -281,7 +281,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/issue-tracking.html ---------------------------------------------------------------------- diff --git a/issue-tracking.html b/issue-tracking.html index 0258e78..d3c0079 100644 --- a/issue-tracking.html +++ b/issue-tracking.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Issue Management</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -278,7 +278,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/license.html ---------------------------------------------------------------------- diff --git a/license.html b/license.html index 380db0e..73bfa25 100644 --- a/license.html +++ b/license.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Project Licenses</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -481,7 +481,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/mail-lists.html ---------------------------------------------------------------------- diff --git a/mail-lists.html b/mail-lists.html index 01512e2..6820fd5 100644 --- a/mail-lists.html +++ b/mail-lists.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Project Mailing Lists</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -331,7 +331,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/metrics.html ---------------------------------------------------------------------- diff --git a/metrics.html b/metrics.html index c55012a..62f2c84 100644 --- a/metrics.html +++ b/metrics.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Apache HBase (TM) Metrics @@ -449,7 +449,7 @@ export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/old_news.html ---------------------------------------------------------------------- diff --git a/old_news.html b/old_news.html index 57a7c0a..40317a6 100644 --- a/old_news.html +++ b/old_news.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Old Apache HBase (TM) News @@ -404,7 +404,7 @@ under the License. --> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/plugin-management.html ---------------------------------------------------------------------- diff --git a/plugin-management.html b/plugin-management.html index 2e3f00e..b2a03cc 100644 --- a/plugin-management.html +++ b/plugin-management.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Project Plugin Management</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -430,7 +430,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/plugins.html ---------------------------------------------------------------------- diff --git a/plugins.html b/plugins.html index 4fb64a5..75c7a96 100644 --- a/plugins.html +++ b/plugins.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Project Plugins</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -365,7 +365,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/poweredbyhbase.html ---------------------------------------------------------------------- diff --git a/poweredbyhbase.html b/poweredbyhbase.html index 5db500d..e131856 100644 --- a/poweredbyhbase.html +++ b/poweredbyhbase.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Powered By Apache HBaseÂ</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -759,7 +759,7 @@ under the License. --> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/project-info.html ---------------------------------------------------------------------- diff --git a/project-info.html b/project-info.html index f47dffe..ff851fc 100644 --- a/project-info.html +++ b/project-info.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Project Information</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -325,7 +325,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/project-reports.html ---------------------------------------------------------------------- diff --git a/project-reports.html b/project-reports.html index 48fc8dd..627fe32 100644 --- a/project-reports.html +++ b/project-reports.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Generated Reports</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -295,7 +295,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/project-summary.html ---------------------------------------------------------------------- diff --git a/project-summary.html b/project-summary.html index fc3f4ba..15148bf 100644 --- a/project-summary.html +++ b/project-summary.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Project Summary</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -321,7 +321,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/pseudo-distributed.html ---------------------------------------------------------------------- diff --git a/pseudo-distributed.html b/pseudo-distributed.html index d684241..6aae482 100644 --- a/pseudo-distributed.html +++ b/pseudo-distributed.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Running Apache HBase (TM) in pseudo-distributed mode @@ -298,7 +298,7 @@ under the License. --> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/replication.html ---------------------------------------------------------------------- diff --git a/replication.html b/replication.html index e056031..c76d9bc 100644 --- a/replication.html +++ b/replication.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Apache HBase (TM) Replication @@ -293,7 +293,7 @@ under the License. --> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/resources.html ---------------------------------------------------------------------- diff --git a/resources.html b/resources.html index 967247f..a033e44 100644 --- a/resources.html +++ b/resources.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Other Apache HBase (TM) Resources</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -321,7 +321,7 @@ under the License. --> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/source-repository.html ---------------------------------------------------------------------- diff --git a/source-repository.html b/source-repository.html index 0c90cf4..54d9382 100644 --- a/source-repository.html +++ b/source-repository.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Source Code Management</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -289,7 +289,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/sponsors.html ---------------------------------------------------------------------- diff --git a/sponsors.html b/sponsors.html index bc1a075..e46ced4 100644 --- a/sponsors.html +++ b/sponsors.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Apache HBase Sponsors</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -323,7 +323,7 @@ under the License. --> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/supportingprojects.html ---------------------------------------------------------------------- diff --git a/supportingprojects.html b/supportingprojects.html index bcf313c..83c9545 100644 --- a/supportingprojects.html +++ b/supportingprojects.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Supporting Projects</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -510,7 +510,7 @@ under the License. --> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/team-list.html ---------------------------------------------------------------------- diff --git a/team-list.html b/team-list.html index 4c45f3a..692fad5 100644 --- a/team-list.html +++ b/team-list.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180401" /> + <meta name="Date-Revision-yyyymmdd" content="20180403" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Project Team</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" /> @@ -720,7 +720,7 @@ <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2018-04-01</li> + <li id="publishDate" class="pull-right">Last Published: 2018-04-03</li> </p> </div> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/21347dff/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyMemStoreCompactor.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyMemStoreCompactor.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyMemStoreCompactor.html index 8ce6485..fb98924 100644 --- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyMemStoreCompactor.html +++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyMemStoreCompactor.html @@ -196,14 +196,14 @@ extends org.apache.hadoop.hbase.regionserver.MemStoreCompactor</pre> <!-- --> </a> <h3>Methods inherited from class org.apache.hadoop.hbase.regionserver.MemStoreCompactor</h3> -<code>initiateCompactionStrategy, resetStats, stop</code></li> +<code>initiateCompactionStrategy, resetStats, stop, toString</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> -<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> +<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> </ul> </li> </ul>
