incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [5/6] Sorry for the huge commit, I was trying to unit test the cancel query method. I found a problem with how I was dealing with exception handling in the controller. So I created a enum type ErrorType in thrift and added to BlurException. So that's
Date Sun, 30 Jun 2013 02:10:38 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/blur-query/src/test/java/org/apache/blur/search/RandomSuperQueryTest.java
----------------------------------------------------------------------
diff --git a/blur-query/src/test/java/org/apache/blur/search/RandomSuperQueryTest.java b/blur-query/src/test/java/org/apache/blur/search/RandomSuperQueryTest.java
deleted file mode 100644
index 707916c..0000000
--- a/blur-query/src/test/java/org/apache/blur/search/RandomSuperQueryTest.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.apache.blur.search;
-
-/**
- * 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.
- */
-
-import static junit.framework.Assert.assertTrue;
-import static org.apache.blur.lucene.LuceneVersionConstant.LUCENE_VERSION;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-
-import org.apache.blur.thrift.generated.ScoreType;
-import org.apache.blur.lucene.search.SuperQuery;
-import org.apache.lucene.analysis.standard.StandardAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field.Store;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.queryparser.classic.ParseException;
-import org.apache.lucene.search.BooleanClause.Occur;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.LockObtainFailedException;
-import org.apache.lucene.store.RAMDirectory;
-import org.junit.Test;
-
-public class RandomSuperQueryTest {
-
-  private static final int MOD_COLS_USED_FOR_SKIPPING = 3;
-  private static final int MAX_NUM_OF_DOCS = 10000;// 10000
-  private static final int MIN_NUM_COL_FAM = 3;// 3
-  private static final int MAX_NUM_COL_FAM = 20;// 20
-  private static final int MAX_NUM_DOCS_PER_COL_FAM = 25;// 25
-  private static final int MAX_NUM_COLS = 21;// 21
-  private static final int MIN_NUM_COLS = 3;// 3
-  private static final int MAX_NUM_OF_WORDS = 1000;
-  private static final int MOD_USED_FOR_SAMPLING = 7;//
-  private static final String PRIME_DOC = "_p_";
-  private static final String PRIME_DOC_VALUE = "_true_";
-
-  private Random seedGen = new Random(1);
-
-  @Test
-  public void testRandomSuperQuery() throws CorruptIndexException, IOException, InterruptedException, ParseException {
-    long seed = seedGen.nextLong();
-
-    Random random = new Random(seed);
-    Collection<Query> sampler = new HashSet<Query>();
-    System.out.print("Creating index... ");
-    System.out.flush();
-    Directory directory = createIndex(random, sampler);
-    IndexReader reader = DirectoryReader.open(directory);
-    System.out.print("Running searches [" + sampler.size() + "]... ");
-    System.out.flush();
-    assertTrue(!sampler.isEmpty());
-    IndexSearcher searcher = new IndexSearcher(reader);
-    long s = System.currentTimeMillis();
-    for (Query query : sampler) {
-      TopDocs topDocs = searcher.search(query, 10);
-      assertTrue("seed [" + seed + "] {" + query + "} {" + s + "}", topDocs.totalHits > 0);
-    }
-    long e = System.currentTimeMillis();
-    System.out.println("Finished in [" + (e - s) + "] ms");
-  }
-
-  private Directory createIndex(Random random, Collection<Query> sampler) throws CorruptIndexException, LockObtainFailedException, IOException {
-    Directory directory = new RAMDirectory();
-    String[] columnFamilies = genWords(random, MIN_NUM_COL_FAM, MAX_NUM_COL_FAM, "colfam");
-    Map<String, String[]> columns = new HashMap<String, String[]>();
-    for (int i = 0; i < columnFamilies.length; i++) {
-      columns.put(columnFamilies[i], genWords(random, MIN_NUM_COLS, MAX_NUM_COLS, "col"));
-    }
-    IndexWriter writer = new IndexWriter(directory, new IndexWriterConfig(LUCENE_VERSION, new StandardAnalyzer(LUCENE_VERSION)));
-    int numberOfDocs = random.nextInt(MAX_NUM_OF_DOCS) + 1;
-    for (int i = 0; i < numberOfDocs; i++) {
-      writer.addDocuments(generatSuperDoc(random, columns, sampler));
-    }
-    writer.close();
-    return directory;
-  }
-
-  private String[] genWords(Random random, int min, int max, String prefix) {
-    int numberOfColFam = random.nextInt(max - min) + min;
-    String[] str = new String[numberOfColFam];
-    for (int i = 0; i < numberOfColFam; i++) {
-      str[i] = genWord(random, prefix);
-    }
-    return str;
-  }
-
-  private List<Document> generatSuperDoc(Random random, Map<String, String[]> columns, Collection<Query> sampler) {
-    List<Document> docs = new ArrayList<Document>();
-    BooleanQuery booleanQuery = new BooleanQuery();
-    for (String colFam : columns.keySet()) {
-      String[] cols = columns.get(colFam);
-      for (int i = 0; i < random.nextInt(MAX_NUM_DOCS_PER_COL_FAM); i++) {
-        Document doc = new Document();
-        for (String column : cols) {
-          if (random.nextInt() % MOD_COLS_USED_FOR_SKIPPING == 0) {
-            String word = genWord(random, "word");
-            doc.add(new StringField(colFam + "." + column, word, Store.YES));
-            if (random.nextInt() % MOD_USED_FOR_SAMPLING == 0) {
-              TermQuery termQuery = new TermQuery(new Term(colFam + "." + column, word));
-              SuperQuery query = new SuperQuery(termQuery, ScoreType.SUPER, new Term(PRIME_DOC, PRIME_DOC_VALUE));
-              booleanQuery.add(query, Occur.MUST);
-            }
-          }
-        }
-        docs.add(doc);
-      }
-    }
-    if (!booleanQuery.clauses().isEmpty()) {
-      sampler.add(booleanQuery);
-    }
-    Document document = docs.get(0);
-    document.add(new StringField(PRIME_DOC, PRIME_DOC_VALUE, Store.NO));
-    return docs;
-  }
-
-  private String genWord(Random random, String prefix) {
-    return prefix + random.nextInt(MAX_NUM_OF_WORDS);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/blur-query/src/test/java/org/apache/blur/search/SuperQueryTest.java
----------------------------------------------------------------------
diff --git a/blur-query/src/test/java/org/apache/blur/search/SuperQueryTest.java b/blur-query/src/test/java/org/apache/blur/search/SuperQueryTest.java
deleted file mode 100644
index 0574495..0000000
--- a/blur-query/src/test/java/org/apache/blur/search/SuperQueryTest.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.apache.blur.search;
-
-/**
- * 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.
- */
-
-import static junit.framework.Assert.assertEquals;
-import static org.apache.blur.lucene.LuceneVersionConstant.LUCENE_VERSION;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicLongArray;
-
-import org.apache.blur.lucene.search.FacetQuery;
-import org.apache.blur.lucene.search.SuperQuery;
-import org.apache.blur.thrift.generated.ScoreType;
-import org.apache.lucene.analysis.standard.StandardAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field.Store;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.IndexableField;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.BooleanClause.Occur;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.LockObtainFailedException;
-import org.apache.lucene.store.RAMDirectory;
-import org.junit.Test;
-
-public class SuperQueryTest {
-
-  private static final String PERSON_NAME = "person.name";
-  private static final String ADDRESS_STREET = "address.street";
-
-  private static final String PRIME_DOC = "_p_";
-  private static final String PRIME_DOC_VALUE = "_true_";
-
-  private static final String NAME1 = "jon";
-  private static final String NAME2 = "jane";
-  private static final String STREET2 = "main st";
-  private static final String STREET1 = "main";
-  private static final String ROW_ID = "rowid";
-
-  @Test
-  public void testSimpleSuperQuery() throws CorruptIndexException, IOException, InterruptedException {
-    BooleanQuery booleanQuery = new BooleanQuery();
-    booleanQuery.add(wrapSuper(new TermQuery(new Term(PERSON_NAME, NAME1))), Occur.MUST);
-    booleanQuery.add(wrapSuper(new TermQuery(new Term(ADDRESS_STREET, STREET1))), Occur.MUST);
-
-    Directory directory = createIndex();
-    IndexReader reader = DirectoryReader.open(directory);
-
-    IndexSearcher searcher = new IndexSearcher(reader);
-    TopDocs topDocs = searcher.search(booleanQuery, 10);
-    assertEquals(2, topDocs.totalHits);
-    assertEquals("1", searcher.doc(topDocs.scoreDocs[0].doc).get(ROW_ID));
-    assertEquals("3", searcher.doc(topDocs.scoreDocs[1].doc).get(ROW_ID));
-  }
-
-  @Test
-  public void testAggregateScoreTypes() throws Exception {
-    IndexSearcher searcher = createSearcher();
-    BooleanQuery booleanQuery = new BooleanQuery();
-    booleanQuery.add(wrapSuper(PERSON_NAME, NAME1, ScoreType.AGGREGATE), Occur.SHOULD);
-    booleanQuery.add(wrapSuper(ADDRESS_STREET, STREET1, ScoreType.AGGREGATE), Occur.MUST);
-    TopDocs topDocs = searcher.search(booleanQuery, 10);
-    printTopDocs(topDocs);
-    assertEquals(3, topDocs.totalHits);
-  }
-
-  @Test
-  public void testBestScoreTypes() throws Exception {
-    IndexSearcher searcher = createSearcher();
-    BooleanQuery booleanQuery = new BooleanQuery();
-    booleanQuery.add(wrapSuper(PERSON_NAME, NAME1, ScoreType.BEST), Occur.SHOULD);
-    booleanQuery.add(wrapSuper(ADDRESS_STREET, STREET1, ScoreType.BEST), Occur.MUST);
-    TopDocs topDocs = searcher.search(booleanQuery, 10);
-    assertEquals(3, topDocs.totalHits);
-    printTopDocs(topDocs);
-  }
-
-  private void printTopDocs(TopDocs topDocs) {
-    for (int i = 0; i < topDocs.totalHits; i++) {
-      System.out.println("doc " + i + " score " + topDocs.scoreDocs[i].score);
-    }
-
-  }
-
-  @Test
-  public void testConstantScoreTypes() throws Exception {
-    IndexSearcher searcher = createSearcher();
-    BooleanQuery booleanQuery = new BooleanQuery();
-    booleanQuery.add(wrapSuper(PERSON_NAME, NAME1, ScoreType.CONSTANT), Occur.SHOULD);
-    booleanQuery.add(wrapSuper(ADDRESS_STREET, STREET1, ScoreType.CONSTANT), Occur.MUST);
-    TopDocs topDocs = searcher.search(booleanQuery, 10);
-    assertEquals(3, topDocs.totalHits);
-    printTopDocs(topDocs);
-  }
-
-  @Test
-  public void testSuperScoreTypes() throws Exception {
-    IndexSearcher searcher = createSearcher();
-    BooleanQuery booleanQuery = new BooleanQuery();
-    booleanQuery.add(wrapSuper(PERSON_NAME, NAME1, ScoreType.SUPER), Occur.SHOULD);
-    booleanQuery.add(wrapSuper(ADDRESS_STREET, STREET1, ScoreType.SUPER), Occur.MUST);
-    TopDocs topDocs = searcher.search(booleanQuery, 10);
-    assertEquals(3, topDocs.totalHits);
-    printTopDocs(topDocs);
-  }
-
-  @Test
-  public void testSuperScoreTypesWithFacet() throws Exception {
-    IndexSearcher searcher = createSearcher();
-    BooleanQuery booleanQuery = new BooleanQuery();
-    booleanQuery.add(wrapSuper(PERSON_NAME, NAME1, ScoreType.SUPER), Occur.SHOULD);
-    booleanQuery.add(wrapSuper(ADDRESS_STREET, STREET1, ScoreType.SUPER), Occur.MUST);
-
-    BooleanQuery f1 = new BooleanQuery();
-    f1.add(new TermQuery(new Term(PERSON_NAME, NAME1)), Occur.MUST);
-    f1.add(new TermQuery(new Term(PERSON_NAME, NAME2)), Occur.MUST);
-
-    Query[] facets = new Query[] { new SuperQuery(f1, ScoreType.CONSTANT, new Term(PRIME_DOC, PRIME_DOC_VALUE)) };
-    AtomicLongArray counts = new AtomicLongArray(facets.length);
-    FacetQuery query = new FacetQuery(booleanQuery, facets, counts);
-
-    TopDocs topDocs = searcher.search(query, 10);
-    assertEquals(3, topDocs.totalHits);
-    printTopDocs(topDocs);
-  }
-
-  private static IndexSearcher createSearcher() throws Exception {
-    Directory directory = createIndex();
-    IndexReader reader = DirectoryReader.open(directory);
-    return new IndexSearcher(reader);
-  }
-
-  public static Directory createIndex() throws CorruptIndexException, LockObtainFailedException, IOException {
-    Directory directory = new RAMDirectory();
-    IndexWriter writer = new IndexWriter(directory, new IndexWriterConfig(LUCENE_VERSION, new StandardAnalyzer(
-        LUCENE_VERSION)));
-    writer.addDocuments(addPrime(Arrays.asList(
-        newDocument(newStringField(ROW_ID, "1"), newStringField(PERSON_NAME, NAME1)),
-        newDocument(newStringField(ROW_ID, "1"), newStringField(PERSON_NAME, NAME1)),
-        newDocument(newStringField(ROW_ID, "1"), newStringField(ADDRESS_STREET, STREET1)))));
-    writer.addDocuments(addPrime(Arrays.asList(
-        newDocument(newStringField(ROW_ID, "2"), newStringField(PERSON_NAME, NAME2)),
-        newDocument(newStringField(ROW_ID, "2"), newStringField(ADDRESS_STREET, STREET1)))));
-    writer.addDocuments(addPrime(Arrays.asList(
-        newDocument(newStringField(ROW_ID, "3"), newStringField(PERSON_NAME, NAME1)),
-        newDocument(newStringField(ROW_ID, "3"), newStringField(ADDRESS_STREET, STREET1)),
-        newDocument(newStringField(ROW_ID, "3"), newStringField(ADDRESS_STREET, STREET2)))));
-    writer.close();
-    return directory;
-  }
-
-  private static List<Document> addPrime(List<Document> docs) {
-    Document document = docs.get(0);
-    document.add(new StringField(PRIME_DOC, PRIME_DOC_VALUE, Store.NO));
-    return docs;
-  }
-
-  private static Document newDocument(IndexableField... fields) {
-    Document document = new Document();
-    for (IndexableField field : fields) {
-      document.add(field);
-    }
-    return document;
-  }
-
-  private static IndexableField newStringField(String name, String value) {
-    return new StringField(name, value, Store.YES);
-  }
-
-  private Query wrapSuper(Query query) {
-    return new SuperQuery(query, ScoreType.AGGREGATE, new Term(PRIME_DOC, PRIME_DOC_VALUE));
-  }
-
-  private Query wrapSuper(String field, String value, ScoreType scoreType) {
-    return new SuperQuery(new TermQuery(new Term(field, value)), scoreType, new Term(PRIME_DOC, PRIME_DOC_VALUE));
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/blur-query/src/test/java/org/apache/blur/search/TestingPagingCollector.java
----------------------------------------------------------------------
diff --git a/blur-query/src/test/java/org/apache/blur/search/TestingPagingCollector.java b/blur-query/src/test/java/org/apache/blur/search/TestingPagingCollector.java
deleted file mode 100644
index 5eaad3f..0000000
--- a/blur-query/src/test/java/org/apache/blur/search/TestingPagingCollector.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.blur.search;
-
-/**
- * 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.
- */
-
-import static org.apache.blur.lucene.LuceneVersionConstant.LUCENE_VERSION;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.apache.blur.lucene.search.IterablePaging;
-import org.apache.blur.lucene.search.IterablePaging.ProgressRef;
-import org.apache.blur.lucene.search.IterablePaging.TotalHitsRef;
-import org.apache.lucene.analysis.core.KeywordAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.store.RAMDirectory;
-import org.junit.Test;
-
-/**
- * Testing the paging collector.
- * 
- * @author Aaron McCurry
- */
-public class TestingPagingCollector {
-
-  @Test
-  public void testNothingYet() {
-
-  }
-
-  public static void main(String[] args) throws Exception {
-    IndexReader reader = getReaderFlatScore(13245);
-    IndexSearcher searcher = new IndexSearcher(reader);
-
-    TotalHitsRef totalHitsRef = new TotalHitsRef();
-    ProgressRef progressRef = new ProgressRef();
-
-    TermQuery query = new TermQuery(new Term("f1", "value"));
-    IterablePaging paging = new IterablePaging(new AtomicBoolean(true), searcher, query, 100, null, null);
-
-    for (ScoreDoc sd : paging.skipTo(90).gather(20).totalHits(totalHitsRef).progress(progressRef)) {
-
-      System.out.println("time [" + progressRef.queryTime() + "] " + "total hits [" + totalHitsRef.totalHits() + "] "
-          + "searches [" + progressRef.searchesPerformed() + "] " + "position [" + progressRef.currentHitPosition()
-          + "] " + "doc id [" + sd.doc + "] " + "score [" + sd.score + "]");
-    }
-  }
-
-  private static IndexReader getReaderFlatScore(int length) throws Exception {
-    RAMDirectory directory = new RAMDirectory();
-    IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig(LUCENE_VERSION, new KeywordAnalyzer()));
-    for (int i = 0; i < length; i++) {
-      Document document = new Document();
-      document.add(new Field("f1", "value", Store.NO, Index.ANALYZED_NO_NORMS));
-      indexWriter.addDocument(document);
-    }
-    indexWriter.close();
-    return IndexReader.open(directory);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/blur-thrift/src/main/java/org/apache/blur/thrift/BException.java
----------------------------------------------------------------------
diff --git a/blur-thrift/src/main/java/org/apache/blur/thrift/BException.java b/blur-thrift/src/main/java/org/apache/blur/thrift/BException.java
index f68a86f..40fad0c 100644
--- a/blur-thrift/src/main/java/org/apache/blur/thrift/BException.java
+++ b/blur-thrift/src/main/java/org/apache/blur/thrift/BException.java
@@ -21,6 +21,7 @@ import java.io.PrintWriter;
 import java.text.MessageFormat;
 
 import org.apache.blur.thrift.generated.BlurException;
+import org.apache.blur.thrift.generated.ErrorType;
 
 
 public class BException extends BlurException {
@@ -28,7 +29,7 @@ public class BException extends BlurException {
   private static final long serialVersionUID = 5846541677293727358L;
 
   public BException(String message, Throwable t) {
-    super(message, toString(t));
+    super(message, toString(t), ErrorType.UNKNOWN);
   }
 
   public BException(String message, Object... parameters) {

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BackPressureException.java
----------------------------------------------------------------------
diff --git a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BackPressureException.java b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BackPressureException.java
deleted file mode 100644
index 8a253c7..0000000
--- a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BackPressureException.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.0)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.blur.thrift.generated;
-
-/**
- * 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.
- */
-
-
-
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.IScheme;
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.SchemeFactory;
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.StandardScheme;
-
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.TupleScheme;
-import org.apache.blur.thirdparty.thrift_0_9_0.protocol.TTupleProtocol;
-import org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolException;
-import org.apache.blur.thirdparty.thrift_0_9_0.EncodingUtils;
-import org.apache.blur.thirdparty.thrift_0_9_0.TException;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-
-/**
- * BackPressureException that carries a message.
- */
-public class BackPressureException extends TException implements org.apache.blur.thirdparty.thrift_0_9_0.TBase<BackPressureException, BackPressureException._Fields>, java.io.Serializable, Cloneable {
-  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TStruct STRUCT_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TStruct("BackPressureException");
-
-  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField MESSAGE_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("message", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, (short)1);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new BackPressureExceptionStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new BackPressureExceptionTupleSchemeFactory());
-  }
-
-  /**
-   * The message in the exception.
-   */
-  public String message; // required
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.blur.thirdparty.thrift_0_9_0.TFieldIdEnum {
-    /**
-     * The message in the exception.
-     */
-    MESSAGE((short)1, "message");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // MESSAGE
-          return MESSAGE;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  public static final Map<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.MESSAGE, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("message", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
-        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData.addStructMetaDataMap(BackPressureException.class, metaDataMap);
-  }
-
-  public BackPressureException() {
-  }
-
-  public BackPressureException(
-    String message)
-  {
-    this();
-    this.message = message;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public BackPressureException(BackPressureException other) {
-    if (other.isSetMessage()) {
-      this.message = other.message;
-    }
-  }
-
-  public BackPressureException deepCopy() {
-    return new BackPressureException(this);
-  }
-
-  @Override
-  public void clear() {
-    this.message = null;
-  }
-
-  /**
-   * The message in the exception.
-   */
-  public String getMessage() {
-    return this.message;
-  }
-
-  /**
-   * The message in the exception.
-   */
-  public BackPressureException setMessage(String message) {
-    this.message = message;
-    return this;
-  }
-
-  public void unsetMessage() {
-    this.message = null;
-  }
-
-  /** Returns true if field message is set (has been assigned a value) and false otherwise */
-  public boolean isSetMessage() {
-    return this.message != null;
-  }
-
-  public void setMessageIsSet(boolean value) {
-    if (!value) {
-      this.message = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case MESSAGE:
-      if (value == null) {
-        unsetMessage();
-      } else {
-        setMessage((String)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case MESSAGE:
-      return getMessage();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case MESSAGE:
-      return isSetMessage();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof BackPressureException)
-      return this.equals((BackPressureException)that);
-    return false;
-  }
-
-  public boolean equals(BackPressureException that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_message = true && this.isSetMessage();
-    boolean that_present_message = true && that.isSetMessage();
-    if (this_present_message || that_present_message) {
-      if (!(this_present_message && that_present_message))
-        return false;
-      if (!this.message.equals(that.message))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  public int compareTo(BackPressureException other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-    BackPressureException typedOther = (BackPressureException)other;
-
-    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(typedOther.isSetMessage());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetMessage()) {
-      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.message, typedOther.message);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol iprot) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol oprot) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("BackPressureException(");
-    boolean first = true;
-
-    sb.append("message:");
-    if (this.message == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.message);
-    }
-    first = false;
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TCompactProtocol(new org.apache.blur.thirdparty.thrift_0_9_0.transport.TIOStreamTransport(out)));
-    } catch (org.apache.blur.thirdparty.thrift_0_9_0.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      read(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TCompactProtocol(new org.apache.blur.thirdparty.thrift_0_9_0.transport.TIOStreamTransport(in)));
-    } catch (org.apache.blur.thirdparty.thrift_0_9_0.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class BackPressureExceptionStandardSchemeFactory implements SchemeFactory {
-    public BackPressureExceptionStandardScheme getScheme() {
-      return new BackPressureExceptionStandardScheme();
-    }
-  }
-
-  private static class BackPressureExceptionStandardScheme extends StandardScheme<BackPressureException> {
-
-    public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol iprot, BackPressureException struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // MESSAGE
-            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING) {
-              struct.message = iprot.readString();
-              struct.setMessageIsSet(true);
-            } else { 
-              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          default:
-            org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
-      struct.validate();
-    }
-
-    public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol oprot, BackPressureException struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.message != null) {
-        oprot.writeFieldBegin(MESSAGE_FIELD_DESC);
-        oprot.writeString(struct.message);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class BackPressureExceptionTupleSchemeFactory implements SchemeFactory {
-    public BackPressureExceptionTupleScheme getScheme() {
-      return new BackPressureExceptionTupleScheme();
-    }
-  }
-
-  private static class BackPressureExceptionTupleScheme extends TupleScheme<BackPressureException> {
-
-    @Override
-    public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, BackPressureException struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetMessage()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetMessage()) {
-        oprot.writeString(struct.message);
-      }
-    }
-
-    @Override
-    public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, BackPressureException struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.message = iprot.readString();
-        struct.setMessageIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
----------------------------------------------------------------------
diff --git a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
index 170b6f6..88b8357 100644
--- a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
+++ b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
@@ -136,7 +136,7 @@ public class Blur {
      * @param table
      * @param blurQuery
      */
-    public BlurResults query(String table, BlurQuery blurQuery) throws BlurException, BackPressureException, org.apache.blur.thirdparty.thrift_0_9_0.TException;
+    public BlurResults query(String table, BlurQuery blurQuery) throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException;
 
     /**
      * Parses the given query and return the string represents the query.
@@ -194,7 +194,7 @@ public class Blur {
 
     public long recordFrequency(String table, String columnFamily, String columnName, String value) throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException;
 
-    public FetchResult fetchRow(String table, Selector selector) throws BlurException, BackPressureException, org.apache.blur.thirdparty.thrift_0_9_0.TException;
+    public FetchResult fetchRow(String table, Selector selector) throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException;
 
     public void mutate(RowMutation mutation) throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException;
 
@@ -507,7 +507,7 @@ public class Blur {
       throw new org.apache.blur.thirdparty.thrift_0_9_0.TApplicationException(org.apache.blur.thirdparty.thrift_0_9_0.TApplicationException.MISSING_RESULT, "describe failed: unknown result");
     }
 
-    public BlurResults query(String table, BlurQuery blurQuery) throws BlurException, BackPressureException, org.apache.blur.thirdparty.thrift_0_9_0.TException
+    public BlurResults query(String table, BlurQuery blurQuery) throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException
     {
       send_query(table, blurQuery);
       return recv_query();
@@ -521,7 +521,7 @@ public class Blur {
       sendBase("query", args);
     }
 
-    public BlurResults recv_query() throws BlurException, BackPressureException, org.apache.blur.thirdparty.thrift_0_9_0.TException
+    public BlurResults recv_query() throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException
     {
       query_result result = new query_result();
       receiveBase(result, "query");
@@ -531,9 +531,6 @@ public class Blur {
       if (result.ex != null) {
         throw result.ex;
       }
-      if (result.bpex != null) {
-        throw result.bpex;
-      }
       throw new org.apache.blur.thirdparty.thrift_0_9_0.TApplicationException(org.apache.blur.thirdparty.thrift_0_9_0.TApplicationException.MISSING_RESULT, "query failed: unknown result");
     }
 
@@ -804,7 +801,7 @@ public class Blur {
       throw new org.apache.blur.thirdparty.thrift_0_9_0.TApplicationException(org.apache.blur.thirdparty.thrift_0_9_0.TApplicationException.MISSING_RESULT, "recordFrequency failed: unknown result");
     }
 
-    public FetchResult fetchRow(String table, Selector selector) throws BlurException, BackPressureException, org.apache.blur.thirdparty.thrift_0_9_0.TException
+    public FetchResult fetchRow(String table, Selector selector) throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException
     {
       send_fetchRow(table, selector);
       return recv_fetchRow();
@@ -818,7 +815,7 @@ public class Blur {
       sendBase("fetchRow", args);
     }
 
-    public FetchResult recv_fetchRow() throws BlurException, BackPressureException, org.apache.blur.thirdparty.thrift_0_9_0.TException
+    public FetchResult recv_fetchRow() throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException
     {
       fetchRow_result result = new fetchRow_result();
       receiveBase(result, "fetchRow");
@@ -828,9 +825,6 @@ public class Blur {
       if (result.ex != null) {
         throw result.ex;
       }
-      if (result.bpex != null) {
-        throw result.bpex;
-      }
       throw new org.apache.blur.thirdparty.thrift_0_9_0.TApplicationException(org.apache.blur.thirdparty.thrift_0_9_0.TApplicationException.MISSING_RESULT, "fetchRow failed: unknown result");
     }
 
@@ -1364,7 +1358,7 @@ public class Blur {
         prot.writeMessageEnd();
       }
 
-      public BlurResults getResult() throws BlurException, BackPressureException, org.apache.blur.thirdparty.thrift_0_9_0.TException {
+      public BlurResults getResult() throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException {
         if (getState() != org.apache.blur.thirdparty.thrift_0_9_0.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1749,7 +1743,7 @@ public class Blur {
         prot.writeMessageEnd();
       }
 
-      public FetchResult getResult() throws BlurException, BackPressureException, org.apache.blur.thirdparty.thrift_0_9_0.TException {
+      public FetchResult getResult() throws BlurException, org.apache.blur.thirdparty.thrift_0_9_0.TException {
         if (getState() != org.apache.blur.thirdparty.thrift_0_9_0.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2339,8 +2333,6 @@ public class Blur {
           result.success = iface.query(args.table, args.blurQuery);
         } catch (BlurException ex) {
           result.ex = ex;
-        } catch (BackPressureException bpex) {
-          result.bpex = bpex;
         }
         return result;
       }
@@ -2606,8 +2598,6 @@ public class Blur {
           result.success = iface.fetchRow(args.table, args.selector);
         } catch (BlurException ex) {
           result.ex = ex;
-        } catch (BackPressureException bpex) {
-          result.bpex = bpex;
         }
         return result;
       }
@@ -9918,7 +9908,6 @@ public class Blur {
 
     private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField SUCCESS_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("success", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, (short)0);
     private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField EX_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("ex", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField BPEX_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("bpex", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -9928,13 +9917,11 @@ public class Blur {
 
     public BlurResults success; // required
     public BlurException ex; // required
-    public BackPressureException bpex; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.blur.thirdparty.thrift_0_9_0.TFieldIdEnum {
       SUCCESS((short)0, "success"),
-      EX((short)1, "ex"),
-      BPEX((short)2, "bpex");
+      EX((short)1, "ex");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -9953,8 +9940,6 @@ public class Blur {
             return SUCCESS;
           case 1: // EX
             return EX;
-          case 2: // BPEX
-            return BPEX;
           default:
             return null;
         }
@@ -10002,8 +9987,6 @@ public class Blur {
           new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.StructMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, BlurResults.class)));
       tmpMap.put(_Fields.EX, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("ex", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
           new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.BPEX, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("bpex", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
-          new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData.addStructMetaDataMap(query_result.class, metaDataMap);
     }
@@ -10013,13 +9996,11 @@ public class Blur {
 
     public query_result(
       BlurResults success,
-      BlurException ex,
-      BackPressureException bpex)
+      BlurException ex)
     {
       this();
       this.success = success;
       this.ex = ex;
-      this.bpex = bpex;
     }
 
     /**
@@ -10032,9 +10013,6 @@ public class Blur {
       if (other.isSetEx()) {
         this.ex = new BlurException(other.ex);
       }
-      if (other.isSetBpex()) {
-        this.bpex = new BackPressureException(other.bpex);
-      }
     }
 
     public query_result deepCopy() {
@@ -10045,7 +10023,6 @@ public class Blur {
     public void clear() {
       this.success = null;
       this.ex = null;
-      this.bpex = null;
     }
 
     public BlurResults getSuccess() {
@@ -10096,30 +10073,6 @@ public class Blur {
       }
     }
 
-    public BackPressureException getBpex() {
-      return this.bpex;
-    }
-
-    public query_result setBpex(BackPressureException bpex) {
-      this.bpex = bpex;
-      return this;
-    }
-
-    public void unsetBpex() {
-      this.bpex = null;
-    }
-
-    /** Returns true if field bpex is set (has been assigned a value) and false otherwise */
-    public boolean isSetBpex() {
-      return this.bpex != null;
-    }
-
-    public void setBpexIsSet(boolean value) {
-      if (!value) {
-        this.bpex = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -10138,14 +10091,6 @@ public class Blur {
         }
         break;
 
-      case BPEX:
-        if (value == null) {
-          unsetBpex();
-        } else {
-          setBpex((BackPressureException)value);
-        }
-        break;
-
       }
     }
 
@@ -10157,9 +10102,6 @@ public class Blur {
       case EX:
         return getEx();
 
-      case BPEX:
-        return getBpex();
-
       }
       throw new IllegalStateException();
     }
@@ -10175,8 +10117,6 @@ public class Blur {
         return isSetSuccess();
       case EX:
         return isSetEx();
-      case BPEX:
-        return isSetBpex();
       }
       throw new IllegalStateException();
     }
@@ -10212,15 +10152,6 @@ public class Blur {
           return false;
       }
 
-      boolean this_present_bpex = true && this.isSetBpex();
-      boolean that_present_bpex = true && that.isSetBpex();
-      if (this_present_bpex || that_present_bpex) {
-        if (!(this_present_bpex && that_present_bpex))
-          return false;
-        if (!this.bpex.equals(that.bpex))
-          return false;
-      }
-
       return true;
     }
 
@@ -10257,16 +10188,6 @@ public class Blur {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetBpex()).compareTo(typedOther.isSetBpex());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetBpex()) {
-        lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.bpex, typedOther.bpex);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -10302,14 +10223,6 @@ public class Blur {
         sb.append(this.ex);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("bpex:");
-      if (this.bpex == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.bpex);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -10374,15 +10287,6 @@ public class Blur {
                 org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // BPEX
-              if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT) {
-                struct.bpex = new BackPressureException();
-                struct.bpex.read(iprot);
-                struct.setBpexIsSet(true);
-              } else { 
-                org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -10408,11 +10312,6 @@ public class Blur {
           struct.ex.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.bpex != null) {
-          oprot.writeFieldBegin(BPEX_FIELD_DESC);
-          struct.bpex.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -10437,25 +10336,19 @@ public class Blur {
         if (struct.isSetEx()) {
           optionals.set(1);
         }
-        if (struct.isSetBpex()) {
-          optionals.set(2);
-        }
-        oprot.writeBitSet(optionals, 3);
+        oprot.writeBitSet(optionals, 2);
         if (struct.isSetSuccess()) {
           struct.success.write(oprot);
         }
         if (struct.isSetEx()) {
           struct.ex.write(oprot);
         }
-        if (struct.isSetBpex()) {
-          struct.bpex.write(oprot);
-        }
       }
 
       @Override
       public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, query_result struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(3);
+        BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           struct.success = new BlurResults();
           struct.success.read(iprot);
@@ -10466,11 +10359,6 @@ public class Blur {
           struct.ex.read(iprot);
           struct.setExIsSet(true);
         }
-        if (incoming.get(2)) {
-          struct.bpex = new BackPressureException();
-          struct.bpex.read(iprot);
-          struct.setBpexIsSet(true);
-        }
       }
     }
 
@@ -20117,7 +20005,6 @@ public class Blur {
 
     private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField SUCCESS_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("success", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, (short)0);
     private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField EX_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("ex", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField BPEX_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("bpex", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -20127,13 +20014,11 @@ public class Blur {
 
     public FetchResult success; // required
     public BlurException ex; // required
-    public BackPressureException bpex; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.blur.thirdparty.thrift_0_9_0.TFieldIdEnum {
       SUCCESS((short)0, "success"),
-      EX((short)1, "ex"),
-      BPEX((short)2, "bpex");
+      EX((short)1, "ex");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -20152,8 +20037,6 @@ public class Blur {
             return SUCCESS;
           case 1: // EX
             return EX;
-          case 2: // BPEX
-            return BPEX;
           default:
             return null;
         }
@@ -20201,8 +20084,6 @@ public class Blur {
           new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.StructMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, FetchResult.class)));
       tmpMap.put(_Fields.EX, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("ex", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
           new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.BPEX, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("bpex", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
-          new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData.addStructMetaDataMap(fetchRow_result.class, metaDataMap);
     }
@@ -20212,13 +20093,11 @@ public class Blur {
 
     public fetchRow_result(
       FetchResult success,
-      BlurException ex,
-      BackPressureException bpex)
+      BlurException ex)
     {
       this();
       this.success = success;
       this.ex = ex;
-      this.bpex = bpex;
     }
 
     /**
@@ -20231,9 +20110,6 @@ public class Blur {
       if (other.isSetEx()) {
         this.ex = new BlurException(other.ex);
       }
-      if (other.isSetBpex()) {
-        this.bpex = new BackPressureException(other.bpex);
-      }
     }
 
     public fetchRow_result deepCopy() {
@@ -20244,7 +20120,6 @@ public class Blur {
     public void clear() {
       this.success = null;
       this.ex = null;
-      this.bpex = null;
     }
 
     public FetchResult getSuccess() {
@@ -20295,30 +20170,6 @@ public class Blur {
       }
     }
 
-    public BackPressureException getBpex() {
-      return this.bpex;
-    }
-
-    public fetchRow_result setBpex(BackPressureException bpex) {
-      this.bpex = bpex;
-      return this;
-    }
-
-    public void unsetBpex() {
-      this.bpex = null;
-    }
-
-    /** Returns true if field bpex is set (has been assigned a value) and false otherwise */
-    public boolean isSetBpex() {
-      return this.bpex != null;
-    }
-
-    public void setBpexIsSet(boolean value) {
-      if (!value) {
-        this.bpex = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -20337,14 +20188,6 @@ public class Blur {
         }
         break;
 
-      case BPEX:
-        if (value == null) {
-          unsetBpex();
-        } else {
-          setBpex((BackPressureException)value);
-        }
-        break;
-
       }
     }
 
@@ -20356,9 +20199,6 @@ public class Blur {
       case EX:
         return getEx();
 
-      case BPEX:
-        return getBpex();
-
       }
       throw new IllegalStateException();
     }
@@ -20374,8 +20214,6 @@ public class Blur {
         return isSetSuccess();
       case EX:
         return isSetEx();
-      case BPEX:
-        return isSetBpex();
       }
       throw new IllegalStateException();
     }
@@ -20411,15 +20249,6 @@ public class Blur {
           return false;
       }
 
-      boolean this_present_bpex = true && this.isSetBpex();
-      boolean that_present_bpex = true && that.isSetBpex();
-      if (this_present_bpex || that_present_bpex) {
-        if (!(this_present_bpex && that_present_bpex))
-          return false;
-        if (!this.bpex.equals(that.bpex))
-          return false;
-      }
-
       return true;
     }
 
@@ -20456,16 +20285,6 @@ public class Blur {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetBpex()).compareTo(typedOther.isSetBpex());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetBpex()) {
-        lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.bpex, typedOther.bpex);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -20501,14 +20320,6 @@ public class Blur {
         sb.append(this.ex);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("bpex:");
-      if (this.bpex == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.bpex);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -20573,15 +20384,6 @@ public class Blur {
                 org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // BPEX
-              if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT) {
-                struct.bpex = new BackPressureException();
-                struct.bpex.read(iprot);
-                struct.setBpexIsSet(true);
-              } else { 
-                org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -20607,11 +20409,6 @@ public class Blur {
           struct.ex.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.bpex != null) {
-          oprot.writeFieldBegin(BPEX_FIELD_DESC);
-          struct.bpex.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -20636,25 +20433,19 @@ public class Blur {
         if (struct.isSetEx()) {
           optionals.set(1);
         }
-        if (struct.isSetBpex()) {
-          optionals.set(2);
-        }
-        oprot.writeBitSet(optionals, 3);
+        oprot.writeBitSet(optionals, 2);
         if (struct.isSetSuccess()) {
           struct.success.write(oprot);
         }
         if (struct.isSetEx()) {
           struct.ex.write(oprot);
         }
-        if (struct.isSetBpex()) {
-          struct.bpex.write(oprot);
-        }
       }
 
       @Override
       public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, fetchRow_result struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(3);
+        BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           struct.success = new FetchResult();
           struct.success.read(iprot);
@@ -20665,11 +20456,6 @@ public class Blur {
           struct.ex.read(iprot);
           struct.setExIsSet(true);
         }
-        if (incoming.get(2)) {
-          struct.bpex = new BackPressureException();
-          struct.bpex.read(iprot);
-          struct.setBpexIsSet(true);
-        }
       }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BlurException.java
----------------------------------------------------------------------
diff --git a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BlurException.java b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BlurException.java
index 6c79258..d4d120d 100644
--- a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BlurException.java
+++ b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/BlurException.java
@@ -58,6 +58,7 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
 
   private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField MESSAGE_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("message", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, (short)1);
   private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField STACK_TRACE_STR_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("stackTraceStr", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, (short)2);
+  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField ERROR_TYPE_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("errorType", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.I32, (short)3);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -73,6 +74,11 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
    * The original stack trace (if any).
    */
   public String stackTraceStr; // required
+  /**
+   * 
+   * @see ErrorType
+   */
+  public ErrorType errorType; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.blur.thirdparty.thrift_0_9_0.TFieldIdEnum {
@@ -83,7 +89,12 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
     /**
      * The original stack trace (if any).
      */
-    STACK_TRACE_STR((short)2, "stackTraceStr");
+    STACK_TRACE_STR((short)2, "stackTraceStr"),
+    /**
+     * 
+     * @see ErrorType
+     */
+    ERROR_TYPE((short)3, "errorType");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -102,6 +113,8 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
           return MESSAGE;
         case 2: // STACK_TRACE_STR
           return STACK_TRACE_STR;
+        case 3: // ERROR_TYPE
+          return ERROR_TYPE;
         default:
           return null;
       }
@@ -149,6 +162,8 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
         new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING)));
     tmpMap.put(_Fields.STACK_TRACE_STR, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("stackTraceStr", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
         new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING)));
+    tmpMap.put(_Fields.ERROR_TYPE, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("errorType", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
+        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.EnumMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.ENUM, ErrorType.class)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData.addStructMetaDataMap(BlurException.class, metaDataMap);
   }
@@ -158,11 +173,13 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
 
   public BlurException(
     String message,
-    String stackTraceStr)
+    String stackTraceStr,
+    ErrorType errorType)
   {
     this();
     this.message = message;
     this.stackTraceStr = stackTraceStr;
+    this.errorType = errorType;
   }
 
   /**
@@ -175,6 +192,9 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
     if (other.isSetStackTraceStr()) {
       this.stackTraceStr = other.stackTraceStr;
     }
+    if (other.isSetErrorType()) {
+      this.errorType = other.errorType;
+    }
   }
 
   public BlurException deepCopy() {
@@ -185,6 +205,7 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
   public void clear() {
     this.message = null;
     this.stackTraceStr = null;
+    this.errorType = null;
   }
 
   /**
@@ -247,6 +268,38 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
     }
   }
 
+  /**
+   * 
+   * @see ErrorType
+   */
+  public ErrorType getErrorType() {
+    return this.errorType;
+  }
+
+  /**
+   * 
+   * @see ErrorType
+   */
+  public BlurException setErrorType(ErrorType errorType) {
+    this.errorType = errorType;
+    return this;
+  }
+
+  public void unsetErrorType() {
+    this.errorType = null;
+  }
+
+  /** Returns true if field errorType is set (has been assigned a value) and false otherwise */
+  public boolean isSetErrorType() {
+    return this.errorType != null;
+  }
+
+  public void setErrorTypeIsSet(boolean value) {
+    if (!value) {
+      this.errorType = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case MESSAGE:
@@ -265,6 +318,14 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
       }
       break;
 
+    case ERROR_TYPE:
+      if (value == null) {
+        unsetErrorType();
+      } else {
+        setErrorType((ErrorType)value);
+      }
+      break;
+
     }
   }
 
@@ -276,6 +337,9 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
     case STACK_TRACE_STR:
       return getStackTraceStr();
 
+    case ERROR_TYPE:
+      return getErrorType();
+
     }
     throw new IllegalStateException();
   }
@@ -291,6 +355,8 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
       return isSetMessage();
     case STACK_TRACE_STR:
       return isSetStackTraceStr();
+    case ERROR_TYPE:
+      return isSetErrorType();
     }
     throw new IllegalStateException();
   }
@@ -326,6 +392,15 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
         return false;
     }
 
+    boolean this_present_errorType = true && this.isSetErrorType();
+    boolean that_present_errorType = true && that.isSetErrorType();
+    if (this_present_errorType || that_present_errorType) {
+      if (!(this_present_errorType && that_present_errorType))
+        return false;
+      if (!this.errorType.equals(that.errorType))
+        return false;
+    }
+
     return true;
   }
 
@@ -362,6 +437,16 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetErrorType()).compareTo(typedOther.isSetErrorType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetErrorType()) {
+      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.errorType, typedOther.errorType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -397,6 +482,14 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
       sb.append(this.stackTraceStr);
     }
     first = false;
+    if (!first) sb.append(", ");
+    sb.append("errorType:");
+    if (this.errorType == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.errorType);
+    }
+    first = false;
     sb.append(")");
     return sb.toString();
   }
@@ -456,6 +549,14 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
               org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 3: // ERROR_TYPE
+            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.I32) {
+              struct.errorType = ErrorType.findByValue(iprot.readI32());
+              struct.setErrorTypeIsSet(true);
+            } else { 
+              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -481,6 +582,11 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
         oprot.writeString(struct.stackTraceStr);
         oprot.writeFieldEnd();
       }
+      if (struct.errorType != null) {
+        oprot.writeFieldBegin(ERROR_TYPE_FIELD_DESC);
+        oprot.writeI32(struct.errorType.getValue());
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -505,19 +611,25 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
       if (struct.isSetStackTraceStr()) {
         optionals.set(1);
       }
-      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetErrorType()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
       if (struct.isSetMessage()) {
         oprot.writeString(struct.message);
       }
       if (struct.isSetStackTraceStr()) {
         oprot.writeString(struct.stackTraceStr);
       }
+      if (struct.isSetErrorType()) {
+        oprot.writeI32(struct.errorType.getValue());
+      }
     }
 
     @Override
     public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, BlurException struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(2);
+      BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
         struct.message = iprot.readString();
         struct.setMessageIsSet(true);
@@ -526,6 +638,10 @@ public class BlurException extends TException implements org.apache.blur.thirdpa
         struct.stackTraceStr = iprot.readString();
         struct.setStackTraceStrIsSet(true);
       }
+      if (incoming.get(2)) {
+        struct.errorType = ErrorType.findByValue(iprot.readI32());
+        struct.setErrorTypeIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/blur-thrift/src/main/java/org/apache/blur/thrift/generated/ErrorType.java
----------------------------------------------------------------------
diff --git a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/ErrorType.java b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/ErrorType.java
new file mode 100644
index 0000000..85a2970
--- /dev/null
+++ b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/ErrorType.java
@@ -0,0 +1,70 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.blur.thrift.generated;
+
+/**
+ * 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.
+ */
+
+
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.blur.thirdparty.thrift_0_9_0.TEnum;
+
+public enum ErrorType implements org.apache.blur.thirdparty.thrift_0_9_0.TEnum {
+  UNKNOWN(0),
+  QUERY_CANCEL(1),
+  QUERY_TIMEOUT(2),
+  BACK_PRESSURE(3);
+
+  private final int value;
+
+  private ErrorType(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static ErrorType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return UNKNOWN;
+      case 1:
+        return QUERY_CANCEL;
+      case 2:
+        return QUERY_TIMEOUT;
+      case 3:
+        return BACK_PRESSURE;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/distribution/src/main/scripts/interface/Blur.thrift
----------------------------------------------------------------------
diff --git a/distribution/src/main/scripts/interface/Blur.thrift b/distribution/src/main/scripts/interface/Blur.thrift
index c1a8d98..0fced24 100644
--- a/distribution/src/main/scripts/interface/Blur.thrift
+++ b/distribution/src/main/scripts/interface/Blur.thrift
@@ -19,6 +19,13 @@ namespace java org.apache.blur.thrift.generated
 namespace rb blur
 namespace perl Blur
 
+enum ErrorType {
+  UNKNOWN,
+  QUERY_CANCEL,
+  QUERY_TIMEOUT,
+  BACK_PRESSURE
+}
+
 /** 
   * BlurException that carries a message plus the original stack 
   * trace (if any). 
@@ -32,17 +39,9 @@ exception BlurException {
   /** 
    * The original stack trace (if any). 
    */
-  2:string stackTraceStr
-}
+  2:string stackTraceStr,
 
-/** 
-  * BackPressureException that carries a message.
-  */
-exception BackPressureException {
-  /** 
-   * The message in the exception. 
-   */
-  1:string message
+  3:ErrorType errorType
 }
 
 /** 
@@ -778,7 +777,7 @@ service Blur {
    * @param table the table name.
    * @param blurQuery the query to execute.
    */
-  BlurResults query(1:string table, 2:BlurQuery blurQuery) throws (1:BlurException ex, 2:BackPressureException bpex)
+  BlurResults query(1:string table, 2:BlurQuery blurQuery) throws (1:BlurException ex)
 
   /**
    * Parses the given query and return the string represents the query.
@@ -818,7 +817,7 @@ service Blur {
   list<string> terms(1:string table, 2:string columnFamily, 3:string columnName, 4:string startWith, 5:i16 size) throws (1:BlurException ex)
   i64 recordFrequency(1:string table, 2:string columnFamily, 3:string columnName, 4:string value) throws (1:BlurException ex)
 
-  FetchResult fetchRow(1:string table, 2:Selector selector) throws (1:BlurException ex, 2:BackPressureException bpex)
+  FetchResult fetchRow(1:string table, 2:Selector selector) throws (1:BlurException ex)
 
   void mutate(1:RowMutation mutation) throws (1:BlurException ex)
   void mutateBatch(1:list<RowMutation> mutations) throws (1:BlurException ex)

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/distribution/src/main/scripts/interface/gen-html/Blur.html
----------------------------------------------------------------------
diff --git a/distribution/src/main/scripts/interface/gen-html/Blur.html b/distribution/src/main/scripts/interface/gen-html/Blur.html
index bd033ed..e9cf79e 100644
--- a/distribution/src/main/scripts/interface/gen-html/Blur.html
+++ b/distribution/src/main/scripts/interface/gen-html/Blur.html
@@ -45,7 +45,6 @@
 </td>
 <td><a href="Blur.html#Struct_AlternateColumnDefinition">AlternateColumnDefinition</a><br/>
 <a href="Blur.html#Struct_AnalyzerDefinition">AnalyzerDefinition</a><br/>
-<a href="Blur.html#Struct_BackPressureException">BackPressureException</a><br/>
 <a href="Blur.html#Struct_BlurException">BlurException</a><br/>
 <a href="Blur.html#Struct_BlurQuery">BlurQuery</a><br/>
 <a href="Blur.html#Struct_BlurQueryStatus">BlurQueryStatus</a><br/>
@@ -56,6 +55,7 @@
 <a href="Blur.html#Struct_ColumnFamilyDefinition">ColumnFamilyDefinition</a><br/>
 <a href="Blur.html#Struct_ColumnPreCache">ColumnPreCache</a><br/>
 <a href="Blur.html#Struct_CpuTime">CpuTime</a><br/>
+<a href="Blur.html#Enum_ErrorType">ErrorType</a><br/>
 <a href="Blur.html#Struct_ExpertQuery">ExpertQuery</a><br/>
 <a href="Blur.html#Struct_Facet">Facet</a><br/>
 <a href="Blur.html#Struct_FetchRecordResult">FetchRecordResult</a><br/>
@@ -81,6 +81,13 @@
 <td></code></td>
 </tr></table>
 <hr/><h2 id="Enumerations">Enumerations</h2>
+<div class="definition"><h3 id="Enum_ErrorType">Enumeration: ErrorType</h3>
+<br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>UNKNOWN</code></td><td><code>0</code></td></tr>
+<tr><td><code>QUERY_CANCEL</code></td><td><code>1</code></td></tr>
+<tr><td><code>QUERY_TIMEOUT</code></td><td><code>2</code></td></tr>
+<tr><td><code>BACK_PRESSURE</code></td><td><code>3</code></td></tr>
+</table></div>
 <div class="definition"><h3 id="Enum_ScoreType">Enumeration: ScoreType</h3>
 The scoring type used during a SuperQuery to score multi Record hits within a ColumnFamily.<br/><br/>
 SUPER - During a multi Record match, a calculation of the best match Record plus how often it occurs within the match Row produces the score that is used in the scoring of the SuperQuery.<br/><br/>
@@ -143,13 +150,9 @@ See shardServerLayoutOptions method in the Blur service for details.
 </td><td>default</td><td></td></tr>
 <tr><td>2</td><td>stackTraceStr</td><td><code>string</code></td><td>The original stack trace (if any).
 </td><td>default</td><td></td></tr>
+<tr><td>3</td><td>errorType</td><td><code><a href="Blur.html#Enum_ErrorType">ErrorType</a></code></td><td></td><td>default</td><td></td></tr>
 </table><br/>BlurException that carries a message plus the original stack
 trace (if any).
-<br/></div><div class="definition"><h3 id="Struct_BackPressureException">Exception: BackPressureException</h3>
-<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
-<tr><td>1</td><td>message</td><td><code>string</code></td><td>The message in the exception.
-</td><td>default</td><td></td></tr>
-</table><br/>BackPressureException that carries a message.
 <br/></div><div class="definition"><h3 id="Struct_Column">Struct: Column</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>name</td><td><code>string</code></td><td>The name of the column.
@@ -524,7 +527,7 @@ the shard given the same situation.
 <br/></div><div class="definition"><h4 id="Fn_Blur_query">Function: Blur.query</h4>
 <pre><code><a href="Blur.html#Struct_BlurResults">BlurResults</a></code> query(<code>string</code> table,
                   <code><a href="Blur.html#Struct_BlurQuery">BlurQuery</a></code> blurQuery)
-    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>, <code><a href="Blur.html#Struct_BackPressureException">BackPressureException</a></code>
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
 </pre>Executes a query against a the given table and returns the results.  If this method is executed against a controller the results will contain the aggregated results from all the shards.  If this method is executed against a shard server the results will only contain aggregated results from the shards of the given table that are being served on the shard server, if any.
 @param table the table name.
 @param blurQuery the query to execute.
@@ -584,7 +587,7 @@ the shard given the same situation.
 </pre></div><div class="definition"><h4 id="Fn_Blur_fetchRow">Function: Blur.fetchRow</h4>
 <pre><code><a href="Blur.html#Struct_FetchResult">FetchResult</a></code> fetchRow(<code>string</code> table,
                      <code><a href="Blur.html#Struct_Selector">Selector</a></code> selector)
-    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>, <code><a href="Blur.html#Struct_BackPressureException">BackPressureException</a></code>
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
 </pre></div><div class="definition"><h4 id="Fn_Blur_mutate">Function: Blur.mutate</h4>
 <pre><code>void</code> mutate(<code><a href="Blur.html#Struct_RowMutation">RowMutation</a></code> mutation)
     throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/7a01385e/distribution/src/main/scripts/interface/gen-html/index.html
----------------------------------------------------------------------
diff --git a/distribution/src/main/scripts/interface/gen-html/index.html b/distribution/src/main/scripts/interface/gen-html/index.html
index 232e0e4..8ff76b0 100644
--- a/distribution/src/main/scripts/interface/gen-html/index.html
+++ b/distribution/src/main/scripts/interface/gen-html/index.html
@@ -41,7 +41,6 @@
 </td>
 <td><a href="Blur.html#Struct_AlternateColumnDefinition">AlternateColumnDefinition</a><br/>
 <a href="Blur.html#Struct_AnalyzerDefinition">AnalyzerDefinition</a><br/>
-<a href="Blur.html#Struct_BackPressureException">BackPressureException</a><br/>
 <a href="Blur.html#Struct_BlurException">BlurException</a><br/>
 <a href="Blur.html#Struct_BlurQuery">BlurQuery</a><br/>
 <a href="Blur.html#Struct_BlurQueryStatus">BlurQueryStatus</a><br/>
@@ -52,6 +51,7 @@
 <a href="Blur.html#Struct_ColumnFamilyDefinition">ColumnFamilyDefinition</a><br/>
 <a href="Blur.html#Struct_ColumnPreCache">ColumnPreCache</a><br/>
 <a href="Blur.html#Struct_CpuTime">CpuTime</a><br/>
+<a href="Blur.html#Enum_ErrorType">ErrorType</a><br/>
 <a href="Blur.html#Struct_ExpertQuery">ExpertQuery</a><br/>
 <a href="Blur.html#Struct_Facet">Facet</a><br/>
 <a href="Blur.html#Struct_FetchRecordResult">FetchRecordResult</a><br/>


Mime
View raw message