accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject svn commit: r940401 - in /websites/staging/accumulo/trunk/content: ./ release_notes/1.6.2.html
Date Mon, 16 Feb 2015 21:44:51 GMT
Author: buildbot
Date: Mon Feb 16 21:44:51 2015
New Revision: 940401

Staging update by buildbot for accumulo

    websites/staging/accumulo/trunk/content/   (props changed)

Propchange: websites/staging/accumulo/trunk/content/
--- cms:source-revision (original)
+++ cms:source-revision Mon Feb 16 21:44:51 2015
@@ -1 +1 @@

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
 or DevOps-types to observe and act on scans which are running for excessive periods of time.
<a href="">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="">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="">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>.
+<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="">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="">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>
 <h2 id="performance-improvements">Performance Improvements</h2>
 <p>Apache Accumulo 1.6.2 includes a number of performance-related fixes over previous
 <h3 id="improvement-1">Improvement 1</h3>

View raw message