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 2012/01/11 23:11:26 UTC

svn commit: r1230280 - in /incubator/accumulo/branches/1.4: docs/examples/README.isolation src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/isolation/InterferenceTest.java

Author: kturner
Date: Wed Jan 11 22:11:26 2012
New Revision: 1230280

URL: http://svn.apache.org/viewvc?rev=1230280&view=rev
Log:
ACCUMULO-284 ACCUMULO-308 Added example readme for isolation.  Fixed isolation example.

Added:
    incubator/accumulo/branches/1.4/docs/examples/README.isolation
Modified:
    incubator/accumulo/branches/1.4/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/isolation/InterferenceTest.java

Added: incubator/accumulo/branches/1.4/docs/examples/README.isolation
URL: http://svn.apache.org/viewvc/incubator/accumulo/branches/1.4/docs/examples/README.isolation?rev=1230280&view=auto
==============================================================================
--- incubator/accumulo/branches/1.4/docs/examples/README.isolation (added)
+++ incubator/accumulo/branches/1.4/docs/examples/README.isolation Wed Jan 11 22:11:26 2012
@@ -0,0 +1,50 @@
+Title: Isolation Example
+Notice:    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.
+
+
+Accumulo has an isolated scanners that ensures partial changes to rows are not
+seen.  Isolation is documented in ../docs/isolation.html and the user manual.  
+
+InterferenceTest is a simple example that shows the effects of scanning with
+and without isolation.  This program starts two threads.  One threads
+continually upates all of the values in a row to be the same thing, but
+different from what it used to be.  The other thread continually scans the
+table and checks that all values in a row are the same.  Without isolation the
+scanning thread will sometimes see different values, which is the result of
+reading the row at the same time a mutation is changing the row.
+
+Below, Interference Test is run without isolation enabled for 5000 iterations
+and it reports problems.
+
+    $ ./bin/accumulo org.apache.accumulo.examples.simple.isolation.InterferenceTest instance zookeepers username password isotest 5000 false
+    ERROR Columns in row 053 had multiple values [53, 4553]
+    ERROR Columns in row 061 had multiple values [561, 61]
+    ERROR Columns in row 070 had multiple values [570, 1070]
+    ERROR Columns in row 079 had multiple values [1079, 1579]
+    ERROR Columns in row 088 had multiple values [2588, 1588]
+    ERROR Columns in row 106 had multiple values [2606, 3106]
+    ERROR Columns in row 115 had multiple values [4615, 3115]
+    finished
+
+Below, Interference Test is run with isolation enabled for 5000 iterations and
+it reports no problems.
+
+    $ ./bin/accumulo org.apache.accumulo.examples.simple.isolation.InterferenceTest instance zookeepers username password isotest 5000 true
+    finished
+
+

Modified: incubator/accumulo/branches/1.4/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/isolation/InterferenceTest.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/branches/1.4/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/isolation/InterferenceTest.java?rev=1230280&r1=1230279&r2=1230280&view=diff
==============================================================================
--- incubator/accumulo/branches/1.4/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/isolation/InterferenceTest.java (original)
+++ incubator/accumulo/branches/1.4/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/isolation/InterferenceTest.java Wed Jan 11 22:11:26 2012
@@ -98,7 +98,7 @@ public class InterferenceTest {
     
     @Override
     public void run() {
-      while (stop) {
+      while (!stop) {
         ByteSequence row = null;
         int count = 0;