You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2013/03/20 21:06:51 UTC

svn commit: r1459026 - in /accumulo/trunk: ./ assemble/ core/ docs/src/user_manual/chapters/ examples/ fate/src/main/java/org/apache/accumulo/fate/ fate/src/main/java/org/apache/accumulo/fate/zookeeper/ server/ server/src/main/java/org/apache/accumulo/...

Author: kturner
Date: Wed Mar 20 20:06:51 2013
New Revision: 1459026

URL: http://svn.apache.org/r1459026
Log:
ACCUMULO-896 Added some info about automatic splitting to user manual.
ACCUMULO-1039 Added info about table creation and versioning iterator to docs.
ACCUMULO-1040 fixed code in documentation
ACCUMULO-804 another FileNotFoundException being thrown: going to keep it, though

Modified:
    accumulo/trunk/   (props changed)
    accumulo/trunk/assemble/   (props changed)
    accumulo/trunk/core/   (props changed)
    accumulo/trunk/docs/src/user_manual/chapters/clients.tex
    accumulo/trunk/docs/src/user_manual/chapters/design.tex
    accumulo/trunk/docs/src/user_manual/chapters/table_configuration.tex
    accumulo/trunk/examples/   (props changed)
    accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java   (props changed)
    accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java   (props changed)
    accumulo/trunk/server/   (props changed)
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/HadoopLogCloser.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/RecoveryManager.java
    accumulo/trunk/src/   (props changed)

Propchange: accumulo/trunk/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5:r1457994-1458250,1458252-1458253,1458255-1458334,1458336-1458343,1458345-1458387,1458389-1458528,1458530-1458836,1458838-1458975,1458977,1458979-1458980,1458982-1459022

Propchange: accumulo/trunk/assemble/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/assemble:r1457994-1458250,1458252-1458253,1458255-1458334,1458336-1458343,1458345-1458387,1458389-1458528,1458530-1458836,1458838-1458975,1458977,1458979-1458980,1458982-1459022

Propchange: accumulo/trunk/core/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/core:r1457994-1458250,1458252-1458253,1458255-1458334,1458336-1458343,1458345-1458387,1458389-1458528,1458530-1458836,1458838-1458975,1458977,1458979-1458980,1458982-1459022

Modified: accumulo/trunk/docs/src/user_manual/chapters/clients.tex
URL: http://svn.apache.org/viewvc/accumulo/trunk/docs/src/user_manual/chapters/clients.tex?rev=1459026&r1=1459025&r2=1459026&view=diff
==============================================================================
--- accumulo/trunk/docs/src/user_manual/chapters/clients.tex (original)
+++ accumulo/trunk/docs/src/user_manual/chapters/clients.tex Wed Mar 20 20:06:51 2013
@@ -139,8 +139,8 @@ scan.setRange(new Range("harry","john"))
 scan.fetchFamily("attributes");
 
 for(Entry<Key,Value> entry : scan) {
-    String row = e.getKey().getRow();
-    Value value = e.getValue();
+    String row = entry.getKey().getRow();
+    Value value = entry.getValue();
 }
 \end{verbatim}
 \normalsize
@@ -195,7 +195,7 @@ bscan.setRanges(ranges);
 bscan.fetchFamily("attributes");
 
 for(Entry<Key,Value> entry : scan)
-    System.out.println(e.getValue());
+    System.out.println(entry.getValue());
 \end{verbatim}
 \normalsize
 

Modified: accumulo/trunk/docs/src/user_manual/chapters/design.tex
URL: http://svn.apache.org/viewvc/accumulo/trunk/docs/src/user_manual/chapters/design.tex?rev=1459026&r1=1459025&r2=1459026&view=diff
==============================================================================
--- accumulo/trunk/docs/src/user_manual/chapters/design.tex (original)
+++ accumulo/trunk/docs/src/user_manual/chapters/design.tex Wed Mar 20 20:06:51 2013
@@ -62,12 +62,6 @@ TabletServers also perform recovery of a
 that was previously on a server that failed, reapplying any writes
 found in the write-ahead log to the tablet.
 
-\subsection{Loggers}
-
-The Loggers accept updates to Tablet servers and write them to local
-on-disk storage.  Each tablet server will write their updates to
-multiple loggers to preserve data in case of hardware failure.
-
 \subsection{Garbage Collector}
 
 Accumulo processes will share files stored in HDFS.  Periodically, the Garbage
@@ -129,6 +123,23 @@ by the Garbage Collector. This also prov
 remove deleted key-value pairs by omitting key-value pairs suppressed by a
 delete entry when the new file is created.
 
+\section{Splitting}
+
+When a table is created it has one tablet.  As the table grows its initial
+tablet eventually splits into two tablets.   Its likely that one of these
+tablets will migrate to another tablet server.  As the table continues to grow,
+its tablets will continue to split and be migrated.  The decision to
+automatically split a tablet is based on the size of a tablets files.   The
+size threshold at which a tablet splits is configurable per table.  In addition
+to automatic splitting, a user can manually add split points to a table to
+create new tablets.  Manually splitting a new table can parallelize reads and
+writes giving better initial performance without waiting for automatic
+splitting.
+
+As data is deleted from a table, tablets may shrink.  Over time this can lead
+to small or empty tablets.   To deal with this, merging of tablets was
+introduced in Accumulo 1.4.  This is discussed in more detail later.
+
 \section{Fault-Tolerance}
 
 If a TabletServer fails, the Master detects it and automatically reassigns the tablets

Modified: accumulo/trunk/docs/src/user_manual/chapters/table_configuration.tex
URL: http://svn.apache.org/viewvc/accumulo/trunk/docs/src/user_manual/chapters/table_configuration.tex?rev=1459026&r1=1459025&r2=1459026&view=diff
==============================================================================
--- accumulo/trunk/docs/src/user_manual/chapters/table_configuration.tex (original)
+++ accumulo/trunk/docs/src/user_manual/chapters/table_configuration.tex Wed Mar 20 20:06:51 2013
@@ -230,6 +230,18 @@ table.iterator.majc.vers.opt.maxVersions
 \end{verbatim}
 \normalsize
 
+When a table is created, by default its configured to use the
+VersioningIterator and keep one version.  A table can be created without the
+VersioningIterator with the -ndi option in the shell.  Also the Java API
+has the following method 
+
+\small
+\begin{verbatim}
+connector.tableOperations.create(String tableName, boolean limitVersion).
+\end{verbatim}
+\normalsize
+
+
 \subsubsection{Logical Time}
 
 Accumulo 1.2 introduces the concept of logical time. This ensures that timestamps
@@ -691,4 +703,4 @@ splits, and logical time.  Tables are ex
 distcp command.  To export a table, it must be offline and stay offline while
 discp runs.  The reason it needs to stay offline is to prevent files from being
 deleted.  A table can be cloned and the clone taken offline inorder to avoid
-losing access to the table.  See docs/examples/README.example for an example.
+losing access to the table.  See docs/examples/README.export for an example.

Propchange: accumulo/trunk/examples/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/examples:r1457994-1458250,1458252-1458253,1458255-1458334,1458336-1458343,1458345-1458387,1458389-1458528,1458530-1458836,1458838-1458975,1458977,1458979-1458980,1458982-1459022

Propchange: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:r1457994-1458250,1458252-1458253,1458255-1458334,1458336-1458343,1458345-1458387,1458389-1458528,1458530-1458836,1458838-1458975,1458977,1458979-1458980,1458982-1459022

Propchange: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java:r1457994-1458250,1458252-1458253,1458255-1458334,1458336-1458343,1458345-1458387,1458389-1458528,1458530-1458836,1458838-1458975,1458977,1458979-1458980,1458982-1459022

Propchange: accumulo/trunk/server/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/server:r1457994-1458250,1458252-1458253,1458255-1458334,1458336-1458343,1458345-1458387,1458389-1458528,1458530-1458836,1458838-1458975,1458977,1458979-1458980,1458982-1459022

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/HadoopLogCloser.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/HadoopLogCloser.java?rev=1459026&r1=1459025&r2=1459026&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/HadoopLogCloser.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/HadoopLogCloser.java Wed Mar 20 20:06:51 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.server.master.recovery;
 
+import java.io.FileNotFoundException;
 import java.io.IOException;
 
 import org.apache.hadoop.fs.FileSystem;
@@ -40,6 +41,8 @@ public class HadoopLogCloser implements 
         }
         log.info("Recovered lease on " + source.toString());
         return 0;
+      } catch (FileNotFoundException ex) {
+        throw ex;
       } catch (Exception ex) {
         log.warn("Error recovery lease on " + source.toString(), ex);
       }

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/RecoveryManager.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/RecoveryManager.java?rev=1459026&r1=1459025&r2=1459026&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/RecoveryManager.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/RecoveryManager.java Wed Mar 20 20:06:51 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.server.master.recovery;
 
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.Collection;
 import java.util.HashMap;
@@ -92,7 +93,8 @@ public class RecoveryManager {
         } else {
           initiateSort(host, filename);
         }
-        
+      } catch (FileNotFoundException e) {
+        log.debug("Unable to initate log sort for " + filename + ": " + e);
       } catch (Exception e) {
         log.warn("Failed to initiate log sort " + filename, e);
       } finally {

Propchange: accumulo/trunk/src/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/src:r1457994-1458250,1458252-1458253,1458255-1458334,1458336-1458343,1458345-1458387,1458389-1458528,1458530-1458836,1458838-1458975,1458977,1458979-1458980,1458982-1459022