Author: buildbot
Date: Mon Feb 16 21:44:51 2015
New Revision: 940401
Log:
Staging update by buildbot for accumulo
Modified:
websites/staging/accumulo/trunk/content/ (props changed)
websites/staging/accumulo/trunk/content/release_notes/1.6.2.html
Propchange: websites/staging/accumulo/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Feb 16 21:44:51 2015
@@ -1 +1 @@
-1660205
+1660210
Modified: websites/staging/accumulo/trunk/content/release_notes/1.6.2.html
==============================================================================
--- websites/staging/accumulo/trunk/content/release_notes/1.6.2.html (original)
+++ websites/staging/accumulo/trunk/content/release_notes/1.6.2.html Mon Feb 16
21:44:51 2015
@@ -223,6 +223,35 @@ the expected error conditions correctly.
is meant to represent all of the information that represents the scan and can
be useful to administrators
or DevOps-types to observe and act on scans which are running for excessive
periods of time. <a
href="https://issues.apache.org/jira/browse/ACCUMULO-2641">ACCUMULO-2641</a>
fixes <code>ActiveScan</code> to ensure that the internal identifier
<code>scanId</code> is properly set.</p>
+<h3 id="table-state-change-doesnt-wait-when-requested">Table state change
doesn't wait when requested</h3>
+<p>An Accumulo table has two states: <code>ONLINE</code> and
<code>OFFLINE</code>. An offline table in Accumulo consumes no TabletServer
+resources, only HDFS resources, which makes it useful to save infrequently
used data. The Accumulo methods provided
+to transition a state from <code>ONLINE</code> to <code>OFFLINE</code> and
vice versa did not respect the <code>wait=true</code> parameter
+when set. <a
href="https://issues.apache.org/jira/browse/ACCUMULO-3301">ACCUMULO-3301</a>
fixes the underlying implementation to ensure that when <code>wait=true</code>
is provided,
+the method will not return until the table's state transition has fully
completed.</p>
+<h3 id="keyvalue-doesnt-implement-hashcode-or-equals">KeyValue doesn't
implement <code>hashCode()</code> or <code>equals()</code></h3>
+<p>The <code>KeyValue</code> class is an implementation of
<code>Entry<Key,Value></code> which is returned by the classes like
+<code>Scanner</code> and <code>BatchScanner</code>. <a
href="https://issues.apache.org/jira/browse/ACCUMULO-3217">ACCUMULO-3217</a>
adds these methods which ensure that the returned
<code>Entry<Key,Value></code>
+operates as expected with <code>HashMaps</code> and <code>HashSets</code>. </p>
+<h3 id="potential-deadlock-in-tabletserver">Potential deadlock in
TabletServer</h3>
+<p>Internal to the TabletServer, there are methods to construct instances of
configuration objects for tables
+and namespaces. The locking on these methods was not correctly implemented
which created the possibility to
+have concurrent requests to a TabletServer to deadlock. <a
href="https://issues.apache.org/jira/browse/ACCUMULO-3372">ACCUMULO-3372</a>
found this problem while performing
+bulk imports of RFiles into Accumulo. Additional synchronization was added
server-side to prevent this deadlock
+from happening in the future.</p>
+<h3 id="the-datelexicoder-incorrectly-serialized-dates-prior-1970">The
<code>DateLexicoder</code> incorrectly serialized <code>Dates</code> prior
1970</h3>
+<p>The <code>DateLexicode</code>, a part of the <code>Lexicoders</code>
classes which implement methods to convert common type primitives
+into lexicographically sorting Strings/bytes, incorrectly converted
<code>Date</code> objects for dates prior to 1970.
+<a
href="https://issues.apache.org/jira/browse/ACCUMULO-3385">ACCUMULO-3385</a>
fixed the <code>DateLexicoder</code> to correctly (de)serialize data
<code>Date</code> objects. For users with
+data stored in Accumulo using the broken implementation, the following can be
performed to read the old data.</p>
+<div class="codehilite"><pre> <span class="n">Lexicoder</span> <span
class="n">lex</span> <span class="p">=</span> <span class="n">new</span> <span
class="n">ULongLexicoder</span><span class="p">();</span>
+ <span class="k">for</span> <span class="p">(</span><span
class="n">Entry</span><span class="o"><</span><span
class="n">Key</span><span class="p">,</span> <span class="n">Value</span><span
class="o">></span> <span class="n">e</span> <span class="p">:</span> <span
class="n">scanner</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">Date</span> <span class="n">d</span> <span
class="p">=</span> <span class="n">new</span> <span class="n">Date</span><span
class="p">(</span><span class="n">lex</span><span class="p">.</span><span
class="n">decode</span><span class="p">(</span><span
class="n">TextUtil</span><span class="p">.</span><span
class="n">getBytes</span><span class="p">(</span><span class="n">e</span><span
class="p">.</span><span class="n">getKey</span><span class="p">().</span><span
class="n">getRow</span><span class="p">())));</span>
+ <span class="o">//</span> <span class="p">...</span>
+ <span class="p">}</span>
+</pre></div>
+
+
<h2 id="performance-improvements">Performance Improvements</h2>
<p>Apache Accumulo 1.6.2 includes a number of performance-related fixes over
previous versions.</p>
<h3 id="improvement-1">Improvement 1</h3>