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