accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ctubb...@apache.org
Subject [1/6] ACCUMULO-1487, ACCUMULO-1491 Stop packaging docs for monitor
Date Fri, 28 Mar 2014 00:50:53 GMT
Repository: accumulo
Updated Branches:
  refs/heads/master 0721f8dca -> 5655a044e


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a20e19fc/server/monitor/src/main/resources/docs/isolation.html
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/resources/docs/isolation.html b/server/monitor/src/main/resources/docs/isolation.html
deleted file mode 100644
index d0e77cc..0000000
--- a/server/monitor/src/main/resources/docs/isolation.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<html>
-<head>
-<title>Accumulo Isolation</title>
-<link rel='stylesheet' type='text/css' href='documentation.css' media='screen'/>
-</head>
-<body>
-
-<h1>Apache Accumulo Documentation : Isolation</h1>
-
-<h3>Scanning</h3>
-
-<p>Accumulo supports the ability to present an isolated view of rows when scanning.
 There are three possible ways that a row could change in accumulo :  
-<ul>
- <li>a mutation applied to a table
- <li>iterators executed as part of a minor or major compaction 
- <li>bulk import of new files
-</ul>
-Isolation guarantees that either all or none of the changes made by these operations on a
row are seen.  Use the <a href='apidocs/org/apache/accumulo/core/client/IsolatedScanner.html'>IsolatedScanner</a>
to obtain an isolated view of an accumulo table.  When using the regular scanner it is possible
to see a non isolated view of a row.  For example if a mutation modifies three columns, it
is possible that you will only see two of those modifications.  With the isolated scanner
either all three of the changes are seen or none.  For an example of this try running the
<a href='apidocs/org/apache/accumulo/examples/simple/isolation/InterferenceTest.html'>InterferenceTest</a>
example.  
-
-<p>At this time there is no client side isolation support for the <a href='apidocs/org/apache/accumulo/core/client/BatchScanner.html'>BatchScanner</a>.
 You may consider using the <a href='apidocs/org/apache/accumulo/core/iterators/WholeRowIterator.html'>WholeRowIterator</a>
with the  <a href='apidocs/org/apache/accumulo/core/client/BatchScanner.html'>BatchScanner</a>
to achieve isolation though. This drawback of doing this is that entire rows are read into
memory on the server side.  If a row is too big, it may crash a tablet server.  The <a
href='apidocs/org/apache/accumulo/core/client/IsolatedScanner.html'>IsolatedScanner</a>
buffers rows on the client side so a large row will not crash a tablet server.
-
-<h3>Iterators</h3>
-<p>When writing server side iterators for accumulo isolation is something to be aware
of.  A scan time iterator in accumulo reads from a set of data sources.  While an iterator
is reading data it has an isolated view.  However, after it returns a key/value it is possible
that accumulo may switch data sources and re-seek the iterator.  This is done so that resources
may be reclaimed.  When the user does not request isolation this can occur after any key is
returned.  When a user request isolation this will only occur after a new row is returned,
in which case it will re-seek to the very beginning of the next possible row.

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a20e19fc/server/monitor/src/main/resources/docs/lgroups.html
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/resources/docs/lgroups.html b/server/monitor/src/main/resources/docs/lgroups.html
deleted file mode 100644
index 0012ffb..0000000
--- a/server/monitor/src/main/resources/docs/lgroups.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<html>
-<head>
-<title>Accumulo Locality Groups</title>
-<link rel='stylesheet' type='text/css' href='documentation.css' media='screen'/>
-</head>
-<body>
-
-<h1>Apache Accumulo Documentation : Locality Groups</h1>
-
-<p>Accumulo supports locality groups similar to those described in the Big Table paper.
 Locality groups allow vertical partitioning of data by column family.  This allows user to
configure their tables such that scans over a subset of column families are much faster. 
The Accumulo locality group model has the following features.
-
-<UL>
- <LI>There is a default locality group that holds all column families not in a declared
locality group.
- <LI>No requirement to declare locality groups or column families at table creation.
- <LI>Can change locality group configuration on the fly.
-</UL>
-
-
-<P>When the locality group configuration for a table is changed it has no effect on
existing data.  All minor and major compactions that occur after the change will organize
data into the new locality group structure.  As data is written into a table, it will cause
minor and major compactions to occur.  Over time this will result in all data being organized
according to the new locality groups.   If all data must be reorganized into the new locality
groups immediately, this can be accomplished by forcing a full major compaction of the table.
 Use the compact command in the shell to accomplish this. 
-
-<P>There are two ways to manipulate locality groups, via the shell or through the Java
API.  From the shell use the getgroups and setgroups commands.  Through the API, <a href='apidocs/org/apache/accumulo/core/client/admin/TableOperations.html'>TableOperations</a>
has the methods setLocalityGroups() and getLocalityGroups().
-
-<P>To limit scans to a set of locality groups, use the fetchColumnFamily() function
on  <a href='apidocs/org/apache/accumulo/core/client/Scanner.html'>Scanner</a>
or <a href='apidocs/org/apache/accumulo/core/client/BatchScanner.html'>BatchScanner</a>.
 From the shell use scan with the -c option.  
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a20e19fc/server/monitor/src/main/resources/docs/metrics.html
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/resources/docs/metrics.html b/server/monitor/src/main/resources/docs/metrics.html
deleted file mode 100644
index 00f0a5b..0000000
--- a/server/monitor/src/main/resources/docs/metrics.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<html>
-<head>
-<title>Accumulo Metrics</title>
-<link rel='stylesheet' type='text/css' href='documentation.css' media='screen'/>
-</head>
-<body>
-
-<h1>Apache Accumulo Documentation : Metrics</h1>
-
-As of version 1.2, metrics for the Master, Tablet Servers, and Loggers are available. A new
configuration file, accumulo-metrics.xml, is located in the conf directory and can
-be modified to turn metrics collection on or off, and to enable file logging if desired.
This file can be modified at runtime and the changes will be seen after a few seconds.
-Except where specified all time values are in milliseconds.
-<h1>Master Metrics</h1>
-<p>JMX Object Name: org.apache.accumulo.server.metrics:type=MasterMetricsMBean,name=
&lt;current thread name&gt;</p>
-<table>
-	<thead>
-		<tr><td>Method Name</td><td>Description</td></tr>
-	</thead>
-	<tbody>
-		<tr class="highlight"><td>public long getPingCount();</td><td>Number
of pings to tablet servers</td></tr>
-		<tr><td>public long getPingAvgTime();</td><td>Average time for
each ping</td></tr>
-		<tr class="highlight"><td>public long getPingMinTime();</td><td>Minimum
time for each ping</td></tr>
-		<tr><td>public long getPingMaxTime();</td><td>Maximum time for
each ping</td></tr>
-		<tr class="highlight"><td>public String getTServerWithHighestPingTime();</td><td>tablet
server with highest ping</td></tr>
-		<tr><td>public void reset();</td><td>Resets all counters to zero</td></tr>
-	</tbody>
-</table>
-<h1>Logging Server Metrics</h1>
-<p>JMX Object Name: org.apache.accumulo.server.metrics:type=LogWriterMBean,name= &lt;current
thread name&gt;</p>
-<table>
-	<thead>
-		<tr><td>Method Name</td><td>Description</td></tr>
-	</thead>
-	<tbody>
-		<tr class="highlight"><td>public long getCloseCount();</td><td>Number
of closed log files</td></tr>
-		<tr><td>public long getCloseAvgTime();</td><td>Average time to
close a log file</td></tr>
-		<tr class="highlight"><td>public long getCloseMinTime();</td><td>Minimum
time to close a log file</td></tr>
-		<tr><td>public long getCloseMaxTime();</td><td>Maximum time to
close a log file</td></tr>
-		<tr class="highlight"><td>public long getCopyCount();</td><td>Number
of log files copied</td></tr>
-		<tr><td>public long getCopyAvgTime();</td><td>Average time to copy
a log file</td></tr>
-		<tr class="highlight"><td>public long getCopyMinTime();</td><td>Minimum
time to copy a log file</td></tr>
-		<tr><td>public long getCopyMaxTime();</td><td>Maximum time to copy
a log file</td></tr>
-		<tr class="highlight"><td>public long getCreateCount();</td><td>Number
of log files created</td></tr>
-		<tr><td>public long getCreateMinTime();</td><td>Minimum time to
create a log file</td></tr>
-		<tr class="highlight"><td>public long getCreateMaxTime();</td><td>Maximum
time to create a log file</td></tr>
-		<tr><td>public long getCreateAvgTime();</td><td>Average time to
create a log file</td></tr>
-		<tr class="highlight"><td>public long getLogAppendCount();</td><td>Number
of times logs have been appended</td></tr>
-		<tr><td>public long getLogAppendMinTime();</td><td>Minimum time
to append to a log file</td></tr>
-		<tr class="highlight"><td>public long getLogAppendMaxTime();</td><td>Maximum
time to append to a log file</td></tr>
-		<tr><td>public long getLogAppendAvgTime();</td><td>Average time
to append to a log file</td></tr>
-		<tr class="highlight"><td>public long getLogFlushCount();</td><td>Number
of log file flushes</td></tr>
-		<tr><td>public long getLogFlushMinTime();</td><td>Minimum time
to flush a log file</td></tr>
-		<tr class="highlight"><td>public long getLogFlushMaxTime();</td><td>Maximum
time to flush a log file</td></tr>
-		<tr><td>public long getLogFlushAvgTime();</td><td>Average time
to flush a log file</td></tr>
-		<tr class="highlight"><td>public long getLogExceptionCount();</td><td>Number
of log exceptions</td></tr>
-		<tr><td>public void reset();</td><td>Resets all counters to zero</td></tr>
-	</tbody>
-</table>
-<h1>Tablet Server Metrics</h1>
-<p>JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerMBean,name=
&lt;current thread name&gt;</p>
-<table>
-	<thead>
-		<tr><td>Method Name</td><td>Description</td></tr>
-	</thead>
-	<tbody>
-		<tr class="highlight"><td>public int getOnlineCount();</td><td>Number
of tablets online</td></tr>
-		<tr><td>public int getOpeningCount();</td><td>Number of tablets
that are being opened</td></tr>
-		<tr class="highlight"><td>public int getUnopenedCount();</td><td>Number
or unopened tablets</td></tr>
-		<tr><td>public int getMajorCompactions();</td><td>Number of Major
Compactions currently running</td></tr>
-		<tr class="highlight"><td>public int getMajorCompactionsQueued();</td><td>Number
of Major Compactions yet to run</td></tr>
-		<tr><td>public int getMinorCompactions();</td><td>Number of Minor
Compactions currently running</td></tr>
-		<tr class="highlight"><td>public int getMinorCompactionsQueued();</td><td>Number
of Minor Compactions yet to run</td></tr>
-		<tr><td>public int getShutdownStage();</td><td>Current stage in
the shutdown process</td></tr>
-		<tr class="highlight"><td>public long getEntries();</td><td>Number
of entries in all the tablets</td></tr>
-		<tr><td>public long getEntriesInMemory();</td><td>Number of entries
in memory on all tablet servers</td></tr>
-		<tr class="highlight"><td>public long getQueries();</td><td>Number
of queries currently running on all the tablet servers</td></tr>
-		<tr><td>public long getIngest();</td><td>Number of entries currently
being ingested on all the tablet servers</td></tr>
-		<tr class="highlight"><td>public long getTotalMinorCompactions();</td><td>Number
of Minor Compactions completed</td></tr>
-		<tr><td>public double getHoldTime();</td><td>Number of seconds
that ingest is waiting for memory to be freed on tablet servers</td></tr>
-		<tr class="highlight"><td>public String getName();</td><td>Address
of the master</td></tr>
-	</tbody>
-</table>
-<h1>Tablet Server Minor Compaction Metrics</h1>
-<p>JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerMinCMetricsMBean,name=
&lt;current thread name&gt;</p>
-<table>
-	<thead>
-		<tr><td>Method Name</td><td>Description</td></tr>
-	</thead>
-	<tbody>
-		<tr class="highlight"><td>public long getMinorCompactionCount();</td><td>Number
of completed Minor Compactions on all tablet servers</td></tr>
-		<tr><td>public long getMinorCompactionAvgTime();</td><td>Average
time to complete Minor Compaction</td></tr>
-		<tr class="highlight"><td>public long getMinorCompactionMinTime();</td><td>Minimum
time to complete Minor Compaction</td></tr>
-		<tr><td>public long getMinorCompactionMaxTime();</td><td>Maximum
time to complete Minor Compaction</td></tr>
-		<tr class="highlight"><td>public long getMinorCompactionQueueCount();</td><td>Number
of Minor Compactions yet to be run</td></tr>
-		<tr><td>public long getMinorCompactionQueueAvgTime();</td><td>Average
time Minor Compaction is in the queue</td></tr>
-		<tr class="highlight"><td>public long getMinorCompactionQueueMinTime();</td><td>Minimum
time Minor Compaction is in the queue</td></tr>
-		<tr><td>public long getMinorCompactionQueueMaxTime();</td><td>Maximum
time Minor Compaction is in the queue</td></tr>
-		<tr class="highlight"><td>public void reset();</td><td>Resets all
counters to zero</td></tr>
-	</tbody>
-</table>
-<h1>Tablet Server Scan Metrics</h1>
-<p>JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerScanMetricsMBean,name=
&lt;current thread name&gt;</p>
-<table>
-	<thead>
-		<tr><td>Method Name</td><td>Description</td></tr>
-	</thead>
-	<tbody>
-		<tr class="highlight"><td>public long getScanCount();</td><td>Number
of scans completed</td></tr>
-		<tr><td>public long getScanAvgTime();</td><td>Average time for
scan operation</td></tr>
-		<tr class="highlight"><td>public long getScanMinTime();</td><td>Minimum
time for scan operation</td></tr>
-		<tr><td>public long getScanMaxTime();</td><td>Maximum time for
scan operation</td></tr>
-		<tr class="highlight"><td>public long getResultCount();</td><td>Number
of scans that returned a result</td></tr>
-		<tr><td>public long getResultAvgSize();</td><td>Average size of
scan result</td></tr>
-		<tr class="highlight"><td>public long getResultMinSize();</td><td>Minimum
size of scan result</td></tr>
-		<tr><td>public long getResultMaxSize();</td><td>Maximum size of
scan result</td></tr>
-		<tr class="highlight"><td>public void reset();</td><td>Resets all
counters to zero</td></tr>
-	</tbody>
-</table>
-<h1>Tablet Server Update Metrics</h1>
-<p>JMX Object Name: org.apache.accumulo.server.metrics:type=TabletServerUpdateMetricsMBean,name=
&lt;current thread name&gt;</p>
-<table>
-	<thead>
-		<tr><td>Method Name</td><td>Description</td></tr>
-	</thead>
-	<tbody>
-		<tr class="highlight"><td>public long getPermissionErrorCount();</td><td>Number
of permission errors</td></tr>
-		<tr><td>public long getUnknownTabletErrorCount();</td><td>Number
of unknown tablet errors</td></tr>
-		<tr class="highlight"><td>public long getMutationArrayAvgSize();</td><td>Average
size of mutation array</td></tr>
-		<tr><td>public long getMutationArrayMinSize();</td><td>Minimum
size of mutation array</td></tr>
-		<tr class="highlight"><td>public long getMutationArrayMaxSize();</td><td>Maximum
size of mutation array</td></tr>
-		<tr><td>public long getCommitPrepCount();</td><td>Number of commit
preparations</td></tr>
-		<tr class="highlight"><td>public long getCommitPrepMinTime();</td><td>Minimum
time for commit preparation</td></tr>
-		<tr><td>public long getCommitPrepMaxTime();</td><td>Maximum time
for commit preparatation</td></tr>
-		<tr class="highlight"><td>public long getCommitPrepAvgTime();</td><td>Average
time for commit preparation</td></tr>
-		<tr><td>public long getConstraintViolationCount();</td><td>Number
of constraint violations</td></tr>
-		<tr class="highlight"><td>public long getWALogWriteCount();</td><td>Number
of writes to the Write Ahead Log</td></tr>
-		<tr><td>public long getWALogWriteMinTime();</td><td>Minimum time
of a write to the Write Ahead Log</td></tr>
-		<tr class="highlight"><td>public long getWALogWriteMaxTime();</td><td>Maximum
time of a write to the Write Ahead Log</td></tr>
-		<tr><td>public long getWALogWriteAvgTime();</td><td>Average time
of a write to the Write Ahead Log</td></tr>
-		<tr class="highlight"><td>public long getCommitCount();</td><td>Number
of commits</td></tr>
-		<tr><td>public long getCommitMinTime();</td><td>Minimum time for
a commit</td></tr>
-		<tr class="highlight"><td>public long getCommitMaxTime();</td><td>Maximum
time for a commit</td></tr>
-		<tr><td>public long getCommitAvgTime();</td><td>Average time for
a commit</td></tr>
-		<tr class="highlight"><td>public void reset();</td><td>Resets all
counters to zero</td></tr>
-	</tbody>
-</table>
-<h1>Thrift Server Metrics</h1>
-<p>JMX Object Name: org.apache.accumulo.server.metrics:type=ThriftMetricsMBean,name=
&lt;thread name&gt;</p>
-<table>
-	<thead>
-		<tr><td>Method Name</td><td>Description</td></tr>
-	</thead>
-	<tbody>
-		<tr class="highlight"><td>public long getIdleCount();</td><td>Number
of times the Thrift server has been idle</td></tr>
-		<tr><td>public long getIdleMinTime();</td><td>Minimum amount of
time the Thrift server has been idle</td></tr>
-		<tr class="highlight"><td>public long getIdleMaxTime();</td><td>Maximum
amount of time the Thrift server has been idle</td></tr>
-		<tr><td>public long getIdleAvgTime();</td><td>Average time the
Thrift server has been idle</td></tr>
-		<tr class="highlight"><td>public long getExecutionCount();</td><td>Number
of calls processed by the Thrift server</td></tr>
-		<tr><td>public long getExecutionMinTime();</td><td>Minimum amount
of time executing method</td></tr>
-		<tr class="highlight"><td>public long getExecutionMaxTime();</td><td>Maximum
amount of time executing method</td></tr>
-		<tr><td>public long getExecutionAvgTime();</td><td>Average time
executing methods</td></tr>
-		<tr class="highlight"><td>public void reset();</td><td>Resets all
counters to zero</td></tr>
-	</tbody>
-</table>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a20e19fc/server/monitor/src/main/resources/docs/timestamps.html
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/resources/docs/timestamps.html b/server/monitor/src/main/resources/docs/timestamps.html
deleted file mode 100644
index 52290c7..0000000
--- a/server/monitor/src/main/resources/docs/timestamps.html
+++ /dev/null
@@ -1,160 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<html>
-<head>
-<title>Accumulo Timestamps</title>
-<link rel='stylesheet' type='text/css' href='documentation.css' media='screen'/>
-</head>
-<body>
-
-<h1>Apache Accumulo Documentation : Timestamps</h1>
-
-<p>Everything inserted into accumulo has a timestamp.  If the user does not
-set it, then the system will set the timestamp.  The timestamp is the last
-thing accumulo sorts on.  So when two keys have the same row, column family,
-column qualifier, and column visibility then the timestamp of the two keys is
-compared. 
-
-<p>Timestamps are sorted in descending order, so the most recent data comes
-first.  When a table is created in accumulo, by default it has a versioning
-iterator that only shows the most recent.  In the example below two identical
-things are inserted.  The scan after that only shows the most recent version.
-However when the versioning iterator configuration is changed, then both are
-seen.  When data is inserted with a lower timestamp than existing data, it will
-fall behind the existing data and may not be seen depending on the versioning
-settings.  This is why the insert made with a timestamp of 500 is not seen in
-the scan below.
-
-<p><pre>
-root@ac12&gt; createtable foo
-root@ac12 foo&gt; 
-root@ac12 foo&gt; 
-root@ac12 foo&gt; insert r1 cf1 cq1 value1                                   
-root@ac12 foo&gt; insert r1 cf1 cq1 value2
-root@ac12 foo&gt; scan -st
-r1 cf1:cq1 [] 1279906856203    value2
-root@ac12 foo&gt; config -t foo -f iterator                                  
----------+---------------------------------------------+-----------------------------------------------------------------------------------------------------
-SCOPE    | NAME                                        | VALUE
----------+---------------------------------------------+-----------------------------------------------------------------------------------------------------
-table    | table.iterator.majc.vers .................. | 20,org.apache.accumulo.core.iterators.VersioningIterator
-table    | table.iterator.majc.vers.opt.maxVersions .. | 1
-table    | table.iterator.minc.vers .................. | 20,org.apache.accumulo.core.iterators.VersioningIterator
-table    | table.iterator.minc.vers.opt.maxVersions .. | 1
-table    | table.iterator.scan.vers .................. | 20,org.apache.accumulo.core.iterators.VersioningIterator
-table    | table.iterator.scan.vers.opt.maxVersions .. | 1
----------+---------------------------------------------+-----------------------------------------------------------------------------------------------------
-root@ac12 foo&gt; config -t foo -s table.iterator.scan.vers.opt.maxVersions=3
-root@ac12 foo&gt; config -t foo -s table.iterator.minc.vers.opt.maxVersions=3
-root@ac12 foo&gt; config -t foo -s table.iterator.majc.vers.opt.maxVersions=3
-root@ac12 foo&gt; scan -st
-r1 cf1:cq1 [] 1279906856203    value2
-r1 cf1:cq1 [] 1279906853170    value1
-root@ac12 foo&gt; insert -t 600 r1 cf1 cq1 value3
-root@ac12 foo&gt; insert -t 500 r1 cf1 cq1 value4
-root@ac12 foo&gt; scan -st
-r1 cf1:cq1 [] 1279906856203    value2
-r1 cf1:cq1 [] 1279906853170    value1
-r1 cf1:cq1 [] 600    value3
-root@ac12 foo&gt;
-
-</pre>
-
-<p>Deletes are special keys in accumulo that get sorted along will all the other
-data.  When a delete key is inserted, accumulo will not show anything that has
-a timestamp less than or equal to the delete key.  In the example below an
-insert is made with timestamp 5 and then a delete is inserted with timestamp 3.
-The scan after that show that the delete marker does not hide the key.  However
-when a delete is inserted with timestamp 5, then nothing can be seen.  Once a
-delete marker is inserted, it is there until a full major compaction occurs.
-That is why the insert made after the delete can not be seen.  The insert after
-the flush and compact commands can be seen because the delete marker is gone.
-The flush forced a minor compaction and compact forced a full major compaction.
-
-<p><pre>
-root@ac12&gt; createtable bar
-root@ac12 bar&gt; insert -t 5 r1 cf1 cq1 val1
-root@ac12 bar&gt; scan -st
-r1 cf1:cq1 [] 5    val1
-root@ac12 bar&gt; delete -t 3 r1 cf1 cq1     
-root@ac12 bar&gt; scan
-r1 cf1:cq1 []    val1
-root@ac12 bar&gt; scan -st
-r1 cf1:cq1 [] 5    val1
-root@ac12 bar&gt; delete -t 5 r1 cf1 cq1
-root@ac12 bar&gt; scan -st              
-root@ac12 bar&gt; insert -t 5 r1 cf1 cq1 val2
-root@ac12 bar&gt; scan -st
-root@ac12 bar&gt; flush -t bar
-23 14:01:36,587 [shell.Shell] INFO : Flush of table bar initiated...
-root@ac12 bar&gt; compact -t bar
-23 14:02:00,042 [shell.Shell] INFO : Compaction of table bar scheduled for 20100723140200EDT
-root@ac12 bar&gt; insert -t 5 r1 cf1 cq1 val1
-root@ac12 bar&gt; scan
-r1 cf1:cq1 []    val1
-</pre>
-
-<p>If two inserts are made into accumulo with the same row, column, and
-timestamp, then the behavior is non-deterministic.
-
-<p>Accumulo 1.2 introduces the concept of logical time.  This ensures that
-timestamps set by accumulo always move forward.  There have been many problems
-caused by tablet servers with different system times.  In the case where a
-tablet servers time is in the future, tablets hosted on that tablet server and
-then migrated will have future timestamps in their data.  This can cause newer
-keys to fall behind existing keys, which can result in seeing older data or not
-seeing data if a new key falls behind on old delete.  Logical time prevents
-this by ensuring that accumulo set time stamps never go backwards, on a per
-tablet basis.  So if a tablet servers time is a year in the future, then any
-tablet hosted there will generate timestamps a year in the future even when
-later hosted on a server with correct time. Logical time can be configured on a
-per table basis to either set time in millis or to use a per tablet counter.
-The per tablet counter gives unique one up time stamps on a per mutation
-basis. When using time in millis, if two things arrive within the same
-millisecond then both receive the same timestamp. 
-
-<p>The example below shows a table created using a per tablet counter for
-timestamps.  Two inserts are made, the first gets timestamp 0 the second 1.
-After that the table is split into two tablets and two more inserts are made.
-These inserts get the same timestamp because they are made on different
-tablets.    When the original tablet is split into two, the two child tablets
-inherit the next timestamp of their parent and start from there. So do not
-expect this configuration to offer unique timestamps across a table.  Its only
-purpose is to uniquely order events within a tablet.
-
-<p><pre>
-root@ac12 foo&gt; createtable -tl logical
-root@ac12 logical&gt; insert 000892 person name "John Doe"
-root@ac12 logical&gt; insert 003042 person name "Jane Doe"
-root@ac12 logical&gt; scan -st
-000892 person:name [] 0    John Doe
-003042 person:name [] 1    Jane Doe
-root@ac12 logical&gt;
-root@ac12 logical&gt; addsplits -t logical 002000
-root@ac12 logical&gt; insert 003042 person address "123 Somewhere"
-root@ac12 logical&gt; insert 000892 person address "123 Nowhere"  
-root@ac12 logical&gt; scan -st
-000892 person:address [] 2    123 Nowhere
-000892 person:name [] 0    John Doe
-003042 person:address [] 2    123 Somewhere
-003042 person:name [] 1    Jane Doe
-root@ac12 logical&gt; 
- 
-</pre>
-
-</body>
-</html>


Mime
View raw message