This is an automated email from the ASF dual-hosted git repository.
kturner pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/fluo-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 8402dbd Jekyll build from gh-pages:0c391af
8402dbd is described below
commit 8402dbdb646e8b185f8f8ce8e4730d2c91670017
Author: Keith Turner <[email protected]>
AuthorDate: Tue Oct 1 16:18:31 2019 -0400
Jekyll build from gh-pages:0c391af
Scan exec blog post (#175)
---
.../2019/09/30/scan-executors/index.html | 168 +++++++++------------
.../1.0.0-incubating/export-queue/index.html | 2 +-
.../1.1.0-incubating/export-queue/index.html | 2 +-
feed.xml | 128 +++++++++-------
index.html | 10 +-
news/index.html | 11 ++
redirects.json | 2 +-
search_data.json | 8 +
8 files changed, 167 insertions(+), 164 deletions(-)
diff --git a/index.html b/blog/2019/09/30/scan-executors/index.html
similarity index 54%
copy from index.html
copy to blog/2019/09/30/scan-executors/index.html
index 5972543..7efab20 100644
--- a/index.html
+++ b/blog/2019/09/30/scan-executors/index.html
@@ -8,10 +8,10 @@
<link
href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/cosmo/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-h21C2fcDk/eFsW9sC9h0dhokq5pDinLNklTKoxIZRUn3+hvmgQSffLLQ4G4l2eEr"
crossorigin="anonymous">
<link
href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
rel="stylesheet"
integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN"
crossorigin="anonymous">
<link rel="stylesheet" href="/css/fluo.css">
- <link rel="canonical" href="https://fluo.apache.org//">
+ <link rel="canonical"
href="https://fluo.apache.org//blog/2019/09/30/scan-executors/">
<link rel="icon" type="image/png" href="/resources/favicon.png">
- <title>Apache Fluo - Large-scale Incremental Processing</title>
+ <title>How Fluo Leveraged Scan Executors | Apache Fluo</title>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
@@ -99,107 +99,77 @@
<div class="container">
<div class="row">
<div class="col-sm-12">
- <div class="row">
- <div class="col-sm-8">
- <div id="welcome-jumbotron" class="jumbotron" style="text-align: center">
- <h3>Apache Fluo™ is a distributed processing system that lets
users make incremental updates to large data sets</h3>
- <a style="margin-right: 20px" href="/releases/" class="btn btn-success
btn-sm navbar-btn"><i class="fa fa-download fa-lg"></i> Download</a>
- <a style="margin-right: 20px" href="https://github.com/apache/fluo"
target="_blank" class="btn btn-default btn-sm navbar-btn"><i class="fa
fa-github fa-lg"></i> GitHub</a>
- <a href="https://twitter.com/apachefluo" target="_blank" class="btn
btn-primary btn-sm navbar-btn"><i class="fa fa-twitter fa-lg"></i> Follow</a>
- </div>
- <h3 style="padding-top: 0px">Overview</h3>
- <p>With Apache Fluo, users can set up workflows that execute cross node
transactions when data changes. These workflows enable users to continuously
join new data into large existing data sets without reprocessing all data.
Apache Fluo is built on <a href="https://accumulo.apache.org/"
target="_blank">Apache Accumulo</a>.</p>
- <p>Take the <a href="/tour/">Fluo tour</a> if you are interested in
learning more. Feel free to <a href="/contactus/">contact us</a> if you have
questions.</p>
- </div>
- <div class="col-sm-4">
- <div class="row">
- <div class="col-sm-12 panel panel-default">
- <h3 id="news-header">Latest News</h3>
-
-
- <div class="post-header-home">
- <div class="row">
- <div class="col-sm-12">
- <p><a href="/release/fluo-yarn-1.0.0/">Apache Fluo YARN
1.0.0</a> <small class="text-muted">Mar 2018</small></p>
- </div>
- </div>
- </div>
-
- <div class="post-header-home">
- <div class="row">
- <div class="col-sm-12">
- <p><a href="/release/fluo-recipes-1.2.0/">Apache Fluo Recipes
1.2.0</a> <small class="text-muted">Mar 2018</small></p>
- </div>
- </div>
- </div>
-
- <div class="post-header-home">
- <div class="row">
- <div class="col-sm-12">
- <p><a href="/release/fluo-1.2.0/">Apache Fluo 1.2.0</a>
<small class="text-muted">Feb 2018</small></p>
- </div>
- </div>
- </div>
-
- <div class="post-header-home">
- <div class="row">
- <div class="col-sm-12">
- <p><a
href="/blog/2017/07/26/fluo-graduates-from-apache-incubator/">Fluo graduates
from the Apache incubator!</a> <small class="text-muted">Jul
2017</small></p>
- </div>
- </div>
- </div>
-
- <div class="post-header-home">
- <div class="row">
- <div class="col-sm-12">
- <p><a href="/release/fluo-recipes-1.1.0-incubating/">Apache Fluo
Recipes 1.1.0-incubating</a> <small class="text-muted">Jun
2017</small></p>
- </div>
- </div>
- </div>
-
- <div id="news-archive-link">
- View all posts in the <a href="/news/">news archive</a>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-sm-12">
- <a id="asf-current-event-logo"
href="https://www.apache.org/events/current-event.html"><img alt="ASF Current
Events" class="img-responsive center-block"
src="https://www.apache.org/events/current-event-234x60.png"/></a>
- </div>
- </div>
- </div>
+ <div id="post-header">
+ <h1>How Fluo Leveraged Scan Executors</h1>
+ <p class="text-muted">
+ Author : Keith Turner <br>
+
+ 30 Sep 2019
+ </p>
+ <p><a class="twitter-share-button"
href="https://twitter.com/intent/tweet?text=How Fluo Leveraged Scan
Executors&url=https://fluo.apache.org//blog/2019/09/30/scan-executors/&via=ApacheFluo&related=ApacheFluo"
rel="nofollow" target="_blank" title="Share on Twitter">Twitter</a></p>
</div>
+<div id="post-content">
+ <p>Accumulo 2.0 introduced <a
href="https://accumulo.apache.org/docs/2.x/administration/scan-executors">Scan
Executors</a> giving control over processing of
+scans in Accumulo tablet servers. Fluo has a good use case for scan executors:
+notification scans. Fluo workers continually scan for notifications to find
+transactions to execute. All workers continually scanning for notifications
+puts load on Accumulo tablet servers which could negatively impact
+transactions. Scan executors provides a way to limit this load.</p>
+
+<p>Fluo utilizes this feature by <a
href="https://github.com/apache/fluo/blob/57b154e13c5c0877bb565fcabf620aa0f30c9f24/modules/core/src/main/java/org/apache/fluo/core/worker/finder/hash/ScanTask.java#L197">setting
scan hints</a> for notification scans
+indicating <code class="highlighter-rouge">scan_type=fluo-ntfy</code>. These
hints are passed to Accumulo tablet
+servers and are ignored by default. For these scan types, Accumulo could be
+configured to either send them to a special thread pool and/or prioritize them
+differently within a thread pool. Below is an example of Accumulo shell
+commands that set up a special executor for notification scans.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>config -s tserver.scan.executors.fnotify.threads=1
+config -t fluo_table -s
table.scan.dispatcher=org.apache.accumulo.core.spi.scan.SimpleScanDispatcher
+config -t fluo_table -s table.scan.dispatcher.opts.executor.fluo-ntfy=fnotify
+</code></pre></div></div>
+
+<p>The system setting <code
class="highlighter-rouge">tserver.scan.executors.fnotify.threads=1</code>
creates a single-threaded
+scan executor in each tablet server named <code
class="highlighter-rouge">fnotify</code>. The two per-table
+settings configure a scan dispatcher (the <code
class="highlighter-rouge">SimpleScanDispatcher</code> is built into
+Accumulo) on the table <code class="highlighter-rouge">fluo_table</code>. The
scan dispatcher is configured such that when
+a scan hint of <code class="highlighter-rouge">scan_type=fluo-ntfy</code> is
seen, it runs on the executor <code class="highlighter-rouge">fnotify</code>.
+All other scans will run on the default executor. This has the effect running
+all notification scans on a single dedicated thread in each tablet server.</p>
+
+<p>The above setting were tested in a scenario where 20 Fluo worker were run
+against a single tablet server with 20 tablets. The Fluo stress test was run
+with a low ingest rate, resulting in continual notification scanning by the 20
+workers. While the test was running, <code
class="highlighter-rouge">jstack</code> and <code
class="highlighter-rouge">top</code> were used to inspect the
+tablet server. This inspection revealed that notification scans were all
+running in a single thread which was using 100% of a single core. This left
all
+of the other cores free to process transactions. Further testing to see how
+this impacts throughput is needed. Observing the worker debug logs, all of them
+seemed to complete notification scans, quickly finding new work.</p>
+
+<p>Fluo took a descriptive approach to using scan hints, where it described to
Accumulo
+the type of scan it was running. However, Fluo does not care what, if
+anything, Accumulo does with that information. This allows administrators to
+configure Accumulo in many different ways to handle notification scans, without
+any changes to Fluo.</p>
+
+<p>For my first pass at using scan executors, I tried a prescriptive approach.
I
+attempted to use scan hints to explicitly name an executor for notification
+scans. I realized this would require Fluo configuration to provide the name of
+the scan executor. Forcing a user to specify Accumulo and Fluo configuration
+was very cumbersome so I abandoned the prescriptive approach. The descriptive
+approach I settled on in its place is less cumbersome (it only requires
Accumulo
+config) and more flexible (it supports executors and/or prioritization instead
+of only executors).</p>
+
+<p>At the time of this writing, no released version of Fluo supports Accumulo
2.0.
+Once Fluo 1.3.0 is released with Accumulo 2.0, Hadoop 3.0, and Java 11 support,
+it will include support for scan executors.</p>
+
-<h3 style="padding-top:0px;">Major Features</h3>
-
-<div class="row">
- <div class="col-sm-4">
- <h4>Reduced Latency</h4>
- <p>When combining new data with existing data, Fluo offers reduced latency
when compared to batch processing frameworks (e.g Spark, MapReduce).</p>
- </div>
- <div class="col-sm-4">
- <h4>Reliable</h4>
- <p>Incremental updates are implemented using transactions which allow
thousands of updates to happen concurrently without corrupting data.</p>
- </div>
- <div class="col-sm-4">
- <h4>Core API</h4>
- <p>The core <a href="/docs/fluo/1.2/">Fluo API</a> supports simple,
cross-node transactional updates using get/set methods.</p>
- </div>
</div>
-<div class="row">
- <div class="col-sm-4">
- <h4>Avoid Reprocessing Data</h4>
- <p>Combine new data with existing data without having to reprocess the
entire dataset.</p>
- </div>
- <div class="col-sm-4">
- <h4>General Purpose</h4>
- <p>Fluo applications consist of a series of observers that execute user
code when observed data is updated.</p>
- </div>
- <div class="col-sm-4">
- <h4>Recipes API</h4>
- <p>The <a href="/docs/fluo-recipes/1.2/">Fluo Recipes API</a> builds on
the core API to offer complex transactional updates.</p>
- </div>
+<div>
+ <p class="text-muted">View all posts in the <a href="/news/">news
archive</a></p>
</div>
</div>
diff --git a/docs/fluo-recipes/1.0.0-incubating/export-queue/index.html
b/docs/fluo-recipes/1.0.0-incubating/export-queue/index.html
index ab707c3..4e9cb8e 100644
--- a/docs/fluo-recipes/1.0.0-incubating/export-queue/index.html
+++ b/docs/fluo-recipes/1.0.0-incubating/export-queue/index.html
@@ -224,7 +224,7 @@ data in the export queue. So the row range defined by the
export queue id
should not be used by anything else.</p>
<p>All data stored in an export queue is <a
href="/docs/fluo-recipes/1.0.0-incubating/transient/">transient</a>. When an
export
-queue is configured, it will recommend split points using the <a
href="/docs/fluo-recipes/1.0.0-incubating/table-optimization/">table
+queue is configured, it will recommend split points using the <a
href="table-optimization.md">table
optimization process</a>. The number of splits generated
by this process can be controlled by setting the number of buckets per tablet
when configuring an export queue.</p>
diff --git a/docs/fluo-recipes/1.1.0-incubating/export-queue/index.html
b/docs/fluo-recipes/1.1.0-incubating/export-queue/index.html
index d84683c..e2c194a 100644
--- a/docs/fluo-recipes/1.1.0-incubating/export-queue/index.html
+++ b/docs/fluo-recipes/1.1.0-incubating/export-queue/index.html
@@ -351,7 +351,7 @@ data in the export queue. So the row range defined by the
export queue id
should not be used by anything else.</p>
<p>All data stored in an export queue is <a
href="/docs/fluo-recipes/1.1.0-incubating/transient/">transient</a>. When an
export
-queue is configured, it will recommend split points using the <a
href="/docs/fluo-recipes/1.1.0-incubating/table-optimization/">table
+queue is configured, it will recommend split points using the <a
href="table-optimization.md">table
optimization process</a>. The number of splits generated
by this process can be controlled by setting the number of buckets per tablet
when configuring an export queue.</p>
diff --git a/feed.xml b/feed.xml
index dda1577..48ba21e 100644
--- a/feed.xml
+++ b/feed.xml
@@ -5,12 +5,80 @@
<description>Apache Fluo Website</description>
<link>https://fluo.apache.org//</link>
<atom:link href="https://fluo.apache.org//feed.xml" rel="self"
type="application/rss+xml" />
- <pubDate>Fri, 09 Aug 2019 21:38:47 +0000</pubDate>
- <lastBuildDate>Fri, 09 Aug 2019 21:38:47 +0000</lastBuildDate>
- <generator>Jekyll v3.7.4</generator>
+ <pubDate>Tue, 01 Oct 2019 20:18:23 +0000</pubDate>
+ <lastBuildDate>Tue, 01 Oct 2019 20:18:23 +0000</lastBuildDate>
+ <generator>Jekyll v3.8.5</generator>
<item>
+ <title>How Fluo Leveraged Scan Executors</title>
+ <description><p>Accumulo 2.0 introduced <a
href="https://accumulo.apache.org/docs/2.x/administration/scan-executors">Scan
Executors</a> giving control over processing of
+scans in Accumulo tablet servers. Fluo has a good use case for scan executors:
+notification scans. Fluo workers continually scan for notifications to find
+transactions to execute. All workers continually scanning for notifications
+puts load on Accumulo tablet servers which could negatively impact
+transactions. Scan executors provides a way to limit this load.</p>
+
+<p>Fluo utilizes this feature by <a
href="https://github.com/apache/fluo/blob/57b154e13c5c0877bb565fcabf620aa0f30c9f24/modules/core/src/main/java/org/apache/fluo/core/worker/finder/hash/ScanTask.java#L197">setting
scan hints</a> for notification scans
+indicating <code
class="highlighter-rouge">scan_type=fluo-ntfy</code>. These
hints are passed to Accumulo tablet
+servers and are ignored by default. For these scan types, Accumulo could be
+configured to either send them to a special thread pool and/or prioritize them
+differently within a thread pool. Below is an example of Accumulo shell
+commands that set up a special executor for notification scans.</p>
+
+<div class="highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>config -s
tserver.scan.executors.fnotify.threads=1
+config -t fluo_table -s
table.scan.dispatcher=org.apache.accumulo.core.spi.scan.SimpleScanDispatcher
+config -t fluo_table -s table.scan.dispatcher.opts.executor.fluo-ntfy=fnotify
+</code></pre></div></div>
+
+<p>The system setting <code
class="highlighter-rouge">tserver.scan.executors.fnotify.threads=1</code>
creates a single-threaded
+scan executor in each tablet server named <code
class="highlighter-rouge">fnotify</code>. The two per-table
+settings configure a scan dispatcher (the <code
class="highlighter-rouge">SimpleScanDispatcher</code> is
built into
+Accumulo) on the table <code
class="highlighter-rouge">fluo_table</code>. The scan
dispatcher is configured such that when
+a scan hint of <code
class="highlighter-rouge">scan_type=fluo-ntfy</code> is
seen, it runs on the executor <code
class="highlighter-rouge">fnotify</code>.
+All other scans will run on the default executor. This has the effect running
+all notification scans on a single dedicated thread in each tablet
server.</p>
+
+<p>The above setting were tested in a scenario where 20 Fluo worker were
run
+against a single tablet server with 20 tablets. The Fluo stress test was run
+with a low ingest rate, resulting in continual notification scanning by the 20
+workers. While the test was running, <code
class="highlighter-rouge">jstack</code> and <code
class="highlighter-rouge">top</code> were used to inspect the
+tablet server. This inspection revealed that notification scans were all
+running in a single thread which was using 100% of a single core. This left
all
+of the other cores free to process transactions. Further testing to see how
+this impacts throughput is needed. Observing the worker debug logs, all of them
+seemed to complete notification scans, quickly finding new work.</p>
+
+<p>Fluo took a descriptive approach to using scan hints, where it
described to Accumulo
+the type of scan it was running. However, Fluo does not care what, if
+anything, Accumulo does with that information. This allows administrators to
+configure Accumulo in many different ways to handle notification scans, without
+any changes to Fluo.</p>
+
+<p>For my first pass at using scan executors, I tried a prescriptive
approach. I
+attempted to use scan hints to explicitly name an executor for notification
+scans. I realized this would require Fluo configuration to provide the name of
+the scan executor. Forcing a user to specify Accumulo and Fluo configuration
+was very cumbersome so I abandoned the prescriptive approach. The descriptive
+approach I settled on in its place is less cumbersome (it only requires
Accumulo
+config) and more flexible (it supports executors and/or prioritization instead
+of only executors).</p>
+
+<p>At the time of this writing, no released version of Fluo supports
Accumulo 2.0.
+Once Fluo 1.3.0 is released with Accumulo 2.0, Hadoop 3.0, and Java 11 support,
+it will include support for scan executors.</p>
+
+</description>
+ <pubDate>Mon, 30 Sep 2019 11:50:00 +0000</pubDate>
+ <link>https://fluo.apache.org//blog/2019/09/30/scan-executors/</link>
+ <guid
isPermaLink="true">https://fluo.apache.org//blog/2019/09/30/scan-executors/</guid>
+
+
+ <category>blog</category>
+
+ </item>
+
+ <item>
<title>Apache Fluo YARN 1.0.0</title>
<description><p>This is the first release of the <a
href="https://github.com/apache/fluo-yarn">Apache Fluo YARN
launcher</a> which runs Fluo applications in
<a
href="https://hadoop.apache.org/docs/r2.8.0/hadoop-yarn/hadoop-yarn-site/YARN.html">Hadoop
YARN</a>. The YARN launcher was originally distributed with <a
href="https://github.com/apache/fluo">Fluo</a>. It has been
@@ -1206,59 +1274,5 @@ would not be needed.</p>
</item>
- <item>
- <title>Apache Fluo Recipes 1.0.0-incubating</title>
- <description><p>Apache Fluo Recipes builds on the Apache Fluo
API to provide libraries of common code for Fluo developers.</p>
-
-<p>Apache Fluo Recipes 1.0.0-incubating is the first release of Fluo
Recipes as an Apache project and the third
-release for the project.</p>
-
-<p>Below are resources for this release:</p>
-
-<ul>
- <li>
- <p>Download a release tarball and verify by these <a
href="https://www.apache.org/info/verification">procedures</a>
using these <a
href="https://www.apache.org/dist/incubator/fluo/KEYS">KEYS</a></p>
-
- <table>
- <tbody>
- <tr>
- <td><a
href="https://www.apache.org/dyn/closer.lua/incubator/fluo/fluo-recipes/1.0.0-incubating/fluo-recipes-1.0.0-incubating-source-release.tar.gz">fluo-recipes-1.0.0-incubating-source-release.tar.gz</a></td>
- <td><a
href="https://www.apache.org/dist/incubator/fluo/fluo-recipes/1.0.0-incubating/fluo-recipes-1.0.0-incubating-source-release.tar.gz.asc">ASC</a>
<a
href="https://www.apache.org/dist/incubator/fluo/fluo-recipes/1.0.0-incubating/MD5SUM">MD5</a>
<a
href="https://www.apache.org/dist/incubator/fluo/fluo-recipes/1.0.0-incubating/SHA1SUM">SHA1</a></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li>View the <a
href="/docs/fluo-recipes/1.0.0-incubating">documentation</a></li>
- <li>Read the javadocs: <a
href="https://javadoc.io/doc/org.apache.fluo/fluo-recipes-core/1.0.0-incubating/"
target="_blank">core</a>, <a
href="https://javadoc.io/doc/org.apache.fluo/fluo-recipes-accumulo/1.0.0-incubating/"
target="_blank">accumulo</a>, <a
href="https://javadoc.io/doc/org.apache.fluo/fluo-recipes-kryo/1.0.0-incubating/"
target="_blank">kryo</a>, <a href="https:/ [...]
- <li>Jars are available in <a
href="http://search.maven.org/#search|ga|1|fluo-recipes">Maven
Central</a>.</li>
-</ul>
-
-<h2 id="changes-of-interest-since-last-release">Changes of
interest since last release</h2>
-
-<ul>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/112">#112</a>
- Avoid allocating collection in AccumuloExporter</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/107">#107</a>
- Added standard way to setup per exporter configuration</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/102">#102</a>
- Simplified Accumulo export queue recipe</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/92">#92</a>
- Added dependency analysis plugin</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/82">#82</a>
- Moved TypeLayer from Fluo API to Fluo Recipes</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/76">#76</a>
- Made compact transient command retry when calling compact throws an
exception</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/75">#75</a>
- Construct export queue row that falls in bucket</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/73">#73</a>
- Make compact transient sleep for each range</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/70">#70</a>
- Collision Free Map not behaving well when processing backs up</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/69">#69</a>
- Compact transient command has negative impact when processing falls
behind</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/67">#67</a>
- Added option to control number of buckets per tablet</li>
- <li><a
href="https://github.com/apache/incubator-fluo-recipes/issues/50">#50</a>
- Renamed Pirto to TableOptimizations</li>
-</ul>
-
-</description>
- <pubDate>Fri, 28 Oct 2016 10:30:00 +0000</pubDate>
-
<link>https://fluo.apache.org//release/fluo-recipes-1.0.0-incubating/</link>
- <guid
isPermaLink="true">https://fluo.apache.org//release/fluo-recipes-1.0.0-incubating/</guid>
-
-
- <category>release</category>
-
- </item>
-
</channel>
</rss>
diff --git a/index.html b/index.html
index 5972543..e552c0c 100644
--- a/index.html
+++ b/index.html
@@ -120,7 +120,7 @@
<div class="post-header-home">
<div class="row">
<div class="col-sm-12">
- <p><a href="/release/fluo-yarn-1.0.0/">Apache Fluo YARN
1.0.0</a> <small class="text-muted">Mar 2018</small></p>
+ <p><a href="/blog/2019/09/30/scan-executors/">How Fluo Leveraged
Scan Executors</a> <small class="text-muted">Sep 2019</small></p>
</div>
</div>
</div>
@@ -128,7 +128,7 @@
<div class="post-header-home">
<div class="row">
<div class="col-sm-12">
- <p><a href="/release/fluo-recipes-1.2.0/">Apache Fluo Recipes
1.2.0</a> <small class="text-muted">Mar 2018</small></p>
+ <p><a href="/release/fluo-yarn-1.0.0/">Apache Fluo YARN
1.0.0</a> <small class="text-muted">Mar 2018</small></p>
</div>
</div>
</div>
@@ -136,7 +136,7 @@
<div class="post-header-home">
<div class="row">
<div class="col-sm-12">
- <p><a href="/release/fluo-1.2.0/">Apache Fluo 1.2.0</a>
<small class="text-muted">Feb 2018</small></p>
+ <p><a href="/release/fluo-recipes-1.2.0/">Apache Fluo Recipes
1.2.0</a> <small class="text-muted">Mar 2018</small></p>
</div>
</div>
</div>
@@ -144,7 +144,7 @@
<div class="post-header-home">
<div class="row">
<div class="col-sm-12">
- <p><a
href="/blog/2017/07/26/fluo-graduates-from-apache-incubator/">Fluo graduates
from the Apache incubator!</a> <small class="text-muted">Jul
2017</small></p>
+ <p><a href="/release/fluo-1.2.0/">Apache Fluo 1.2.0</a>
<small class="text-muted">Feb 2018</small></p>
</div>
</div>
</div>
@@ -152,7 +152,7 @@
<div class="post-header-home">
<div class="row">
<div class="col-sm-12">
- <p><a href="/release/fluo-recipes-1.1.0-incubating/">Apache Fluo
Recipes 1.1.0-incubating</a> <small class="text-muted">Jun
2017</small></p>
+ <p><a
href="/blog/2017/07/26/fluo-graduates-from-apache-incubator/">Fluo graduates
from the Apache incubator!</a> <small class="text-muted">Jul
2017</small></p>
</div>
</div>
</div>
diff --git a/news/index.html b/news/index.html
index d8aaf05..99b176a 100644
--- a/news/index.html
+++ b/news/index.html
@@ -107,6 +107,17 @@
<hr>
+ <h3 class="archive-section-header">2019</h3>
+
+ <div class="row">
+ <div class="col-md-1"><p>Sep 30</div>
+ <div class="col-md-10"><p><a href="/blog/2019/09/30/scan-executors/"
class="post-title-archive">How Fluo Leveraged Scan Executors</a></div>
+ </div>
+
+
+
+
+ <hr>
<h3 class="archive-section-header">2018</h3>
<div class="row">
diff --git a/redirects.json b/redirects.json
index 71f5eb3..2ba2ad7 100644
--- a/redirects.json
+++ b/redirects.json
@@ -1 +1 @@
-{"/1.0.0-alpha-1-release/":"https://fluo.apache.org//release/fluo-1.0.0-alpha-1/","/1.0.0-alpha-1-release-notes/":"https://fluo.apache.org//release/fluo-1.0.0-alpha-1/","/release-notes/1.0.0-alpha-1/":"https://fluo.apache.org//release/fluo-1.0.0-alpha-1/","/stress-test-long-run/":"https://fluo.apache.org//blog/2014/12/30/stress-test-long-run/","/fluo-talk-at-accumulo-summit/":"https://fluo.apache.org//blog/2015/05/22/fluo-talk-at-accumulo-summit/","/1.0.0-beta-1-release/":"https://fluo.a
[...]
\ No newline at end of file
+{"/1.0.0-alpha-1-release/":"https://fluo.apache.org//release/fluo-1.0.0-alpha-1/","/1.0.0-alpha-1-release-notes/":"https://fluo.apache.org//release/fluo-1.0.0-alpha-1/","/release-notes/1.0.0-alpha-1/":"https://fluo.apache.org//release/fluo-1.0.0-alpha-1/","/stress-test-long-run/":"https://fluo.apache.org//blog/2014/12/30/stress-test-long-run/","/fluo-talk-at-accumulo-summit/":"https://fluo.apache.org//blog/2015/05/22/fluo-talk-at-accumulo-summit/","/1.0.0-beta-1-release/":"https://fluo.a
[...]
\ No newline at end of file
diff --git a/search_data.json b/search_data.json
index 74f3056..a725f39 100644
--- a/search_data.json
+++ b/search_data.json
@@ -170,6 +170,14 @@
},
+ "blog-2019-09-30-scan-executors": {
+ "title": "How Fluo Leveraged Scan Executors",
+ "content" : "Accumulo 2.0 introduced Scan Executors giving
control over processing ofscans in Accumulo tablet servers. Fluo has a good use
case for scan executors:notification scans. Fluo workers continually scan for
notifications to findtransactions to execute. All workers continually scanning
for notificationsputs load on Accumulo tablet servers which could negatively
impacttransactions. Scan executors provides a way to limit this load.Fluo
utilizes this feature by setting sca [...]
+ "url": " /blog/2019/09/30/scan-executors/",
+ "categories": "blog"
+ }
+ ,
+
"release-fluo-yarn-1-0-0": {
"title": "Apache Fluo YARN 1.0.0",
"content" : "This is the first release of the Apache Fluo YARN
launcher which runs Fluo applications inHadoop YARN. The YARN launcher was
originally distributed with Fluo. It has beenmoved to its own project as Fluo
has multiple application launchers. Moving the code outsimplified Fluo and
reduced its dependencies.This release of the Fluo YARN launcher requires Fluo
1.2.0 or above. Future releases of Fluo shouldwork with this release as the
YARN launcher uses minimal Fluo API. If [...]