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&lt;Key,Value&gt;</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&lt;Key,Value&gt;</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">&lt;</span><span 
class="n">Key</span><span class="p">,</span> <span class="n">Value</span><span 
class="o">&gt;</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>


Reply via email to