Misc release prep cleanup 113/head
authorKeith Turner <kturner@apache.org>
Fri, 14 Oct 2016 21:04:59 +0000 (17:04 -0400)
committerKeith Turner <kturner@apache.org>
Fri, 14 Oct 2016 21:43:06 +0000 (17:43 -0400)
41 files changed:
README.md
docs/accumulo-export-queue.md
docs/cfm.md
docs/export-queue.md
docs/recording-tx.md
docs/row-hasher.md
docs/serialization.md
docs/table-optimization.md
docs/testing.md
docs/transient.md
modules/accumulo/pom.xml
modules/core/pom.xml
modules/core/src/main/java/org/apache/fluo/recipes/core/common/TableOptimizations.java
modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportBucket.java
modules/core/src/main/java/org/apache/fluo/recipes/core/impl/BucketUtil.java [deleted file]
modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java
modules/core/src/test/java/org/apache/fluo/recipes/core/export/OptionsTest.java
modules/core/src/test/java/org/apache/fluo/recipes/core/export/it/DocumentLoader.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/export/DocumentLoader.java with 96% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/export/it/DocumentObserver.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/export/DocumentObserver.java with 92% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/export/it/ExportBufferIT.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/export/ExportBufferIT.java with 97% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/export/it/ExportQueueIT.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/export/ExportQueueIT.java with 98% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/export/it/ExportTestBase.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/export/ExportTestBase.java with 97% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/export/it/GsonSerializer.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/export/GsonSerializer.java with 96% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/export/it/RefInfo.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/export/RefInfo.java with 95% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/export/it/RefUpdates.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/export/RefUpdates.java with 96% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/map/SplitsTest.java
modules/core/src/test/java/org/apache/fluo/recipes/core/map/it/BigUpdateIT.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/map/BigUpdateIT.java with 96% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/map/it/CollisionFreeMapIT.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/map/CollisionFreeMapIT.java with 99% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/map/it/DocumentLoader.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/map/DocumentLoader.java with 96% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/map/it/DocumentObserver.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/map/DocumentObserver.java with 96% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/map/it/TestSerializer.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/map/TestSerializer.java with 97% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/map/it/WordCountCombiner.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/map/WordCountCombiner.java with 92% similarity]
modules/core/src/test/java/org/apache/fluo/recipes/core/map/it/WordCountObserver.java [moved from modules/core/src/test/java/org/apache/fluo/recipes/core/map/WordCountObserver.java with 92% similarity]
modules/kryo/pom.xml
modules/kryo/src/main/java/org/apache/fluo/recipes/kryo/KryoSimplerSerializer.java
modules/kryo/src/test/java/org/apache/fluo/recipes/kryo/KryoSimpleSerializerTest.java [moved from modules/kryo/src/test/java/org/apache/fluo/recipes/core/serialization/KryoSimpleSerializerTest.java with 94% similarity]
modules/spark/pom.xml
modules/spark/src/test/java/org/apache/fluo/recipes/spark/it/FluoSparkHelperIT.java [moved from modules/spark/src/test/java/org/apache/fluo/recipes/spark/FluoSparkHelperIT.java with 95% similarity]
modules/test/pom.xml
modules/test/src/main/java/org/apache/fluo/recipes/test/AccumuloExportITBase.java
pom.xml

index b592204..e5d3a5a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # Apache Fluo Recipes
 
 [![Build Status][ti]][tl] [![Apache License][li]][ll]
index b880d58..8b4bf39 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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 Export Queue Specialization
 
 ## Background
index 7b3a2ac..85b05b0 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # Collision Free Map Recipe
 
 ## Background
index c366e9d..7ad931f 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # Export Queue Recipe
 
 ## Background
index 0dca693..7a6fb8e 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # RecordingTransaction recipe
 
 A `RecordingTransaction` is an implementation of `Transaction` that logs all transaction operations
index 1f5158d..d6d603b 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # Row hash prefix recipe
 
 ## Background
index 9b664a0..25b9d83 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # Serializing Data
 
 Various Fluo Recipes deal with POJOs and need to serialize them.  The
index 7235981..f170b77 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # Fluo Table Optimization
 
 ## Background
index 520fd1d..0908857 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # Testing
 
 Fluo includes MiniFluo which makes it possible to write an integeration test that
index d0ac845..a73a197 100644 (file)
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 # Transient data
 
 ## Background
index 945b9fc..751fbee 100644 (file)
@@ -17,7 +17,7 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.fluo</groupId>
-    <artifactId>fluo-recipes-parent</artifactId>
+    <artifactId>fluo-recipes</artifactId>
     <version>1.0.0-incubating-SNAPSHOT</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
index 4d6893d..720d5f0 100644 (file)
@@ -17,7 +17,7 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.fluo</groupId>
-    <artifactId>fluo-recipes-parent</artifactId>
+    <artifactId>fluo-recipes</artifactId>
     <version>1.0.0-incubating-SNAPSHOT</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
index 3f0e5f2..f2833c6 100644 (file)
@@ -77,7 +77,7 @@ public class TableOptimizations {
    * initialization. After Fluo is initialized, the optimizations can be retrieved by calling
    * {@link #getConfiguredOptimizations(FluoConfiguration)}.
    * 
-   * @param application config, likely obtained from calling
+   * @param appConfig config, likely obtained from calling
    *        {@link FluoConfiguration#getAppConfiguration()}
    * @param key A unique identifier for the optimization
    * @param clazz The optimization factory type.
index 6dadb8c..8100b37 100644 (file)
@@ -18,6 +18,7 @@ package org.apache.fluo.recipes.core.export;
 import java.util.Iterator;
 
 import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
 import org.apache.fluo.api.client.TransactionBase;
 import org.apache.fluo.api.client.scanner.CellScanner;
 import org.apache.fluo.api.data.Bytes;
@@ -25,7 +26,6 @@ import org.apache.fluo.api.data.Column;
 import org.apache.fluo.api.data.RowColumn;
 import org.apache.fluo.api.data.RowColumnValue;
 import org.apache.fluo.api.data.Span;
-import org.apache.fluo.recipes.core.impl.BucketUtil;
 import org.apache.fluo.recipes.core.types.StringEncoder;
 import org.apache.fluo.recipes.core.types.TypeLayer;
 import org.apache.fluo.recipes.core.types.TypedTransactionBase;
@@ -47,8 +47,18 @@ class ExportBucket {
   private final String qid;
   private final Bytes bucketRow;
 
+  static String genBucketId(int bucket, int maxBucket) {
+    Preconditions.checkArgument(bucket >= 0);
+    Preconditions.checkArgument(maxBucket > 0);
+
+    int bits = 32 - Integer.numberOfLeadingZeros(maxBucket);
+    int bucketLen = bits / 4 + (bits % 4 > 0 ? 1 : 0);
+
+    return Strings.padStart(Integer.toHexString(bucket), bucketLen, '0');
+  }
+
   static Bytes generateBucketRow(String qid, int bucket, int numBuckets) {
-    return Bytes.of(qid + ":" + BucketUtil.genBucketId(bucket, numBuckets));
+    return Bytes.of(qid + ":" + genBucketId(bucket, numBuckets));
   }
 
   ExportBucket(TransactionBase tx, String qid, int bucket, int numBuckets) {
diff --git a/modules/core/src/main/java/org/apache/fluo/recipes/core/impl/BucketUtil.java b/modules/core/src/main/java/org/apache/fluo/recipes/core/impl/BucketUtil.java
deleted file mode 100644 (file)
index be28878..0000000
+++ /dev/null
@@ -1,31 +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.
- */
-
-package org.apache.fluo.recipes.core.impl;
-
-import com.google.common.base.Preconditions;
-import com.google.common.base.Strings;
-
-public class BucketUtil {
-  public static String genBucketId(int bucket, int maxBucket) {
-    Preconditions.checkArgument(bucket >= 0);
-    Preconditions.checkArgument(maxBucket > 0);
-
-    int bits = 32 - Integer.numberOfLeadingZeros(maxBucket);
-    int bucketLen = bits / 4 + (bits % 4 > 0 ? 1 : 0);
-
-    return Strings.padStart(Integer.toHexString(bucket), bucketLen, '0');
-  }
-}
index d551096..715d330 100644 (file)
@@ -29,6 +29,7 @@ import java.util.Set;
 import java.util.regex.Pattern;
 
 import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterators;
 import com.google.common.collect.Sets;
@@ -48,7 +49,6 @@ import org.apache.fluo.recipes.core.common.TableOptimizations;
 import org.apache.fluo.recipes.core.common.TableOptimizations.TableOptimizationsFactory;
 import org.apache.fluo.recipes.core.common.RowRange;
 import org.apache.fluo.recipes.core.common.TransientRegistry;
-import org.apache.fluo.recipes.core.impl.BucketUtil;
 import org.apache.fluo.recipes.core.serialization.SimpleSerializer;
 
 /**
@@ -290,7 +290,7 @@ public class CollisionFreeMap<K, V> {
     byte[] k = serializer.serialize(key);
 
     int hash = Hashing.murmur3_32().hashBytes(k).asInt();
-    String bucketId = BucketUtil.genBucketId(Math.abs(hash % numBuckets), numBuckets);
+    String bucketId = genBucketId(Math.abs(hash % numBuckets), numBuckets);
 
 
     BytesBuilder rowBuilder = Bytes.builder();
@@ -352,7 +352,7 @@ public class CollisionFreeMap<K, V> {
     for (Entry<K, V> entry : updates.entrySet()) {
       byte[] k = serializer.serialize(entry.getKey());
       int hash = Hashing.murmur3_32().hashBytes(k).asInt();
-      String bucketId = BucketUtil.genBucketId(Math.abs(hash % numBuckets), numBuckets);
+      String bucketId = genBucketId(Math.abs(hash % numBuckets), numBuckets);
 
       // reset to the common row prefix
       rowBuilder.setLength(prefixLength);
@@ -377,6 +377,16 @@ public class CollisionFreeMap<K, V> {
     }
   }
 
+  static String genBucketId(int bucket, int maxBucket) {
+    Preconditions.checkArgument(bucket >= 0);
+    Preconditions.checkArgument(maxBucket > 0);
+
+    int bits = 32 - Integer.numberOfLeadingZeros(maxBucket);
+    int bucketLen = bits / 4 + (bits % 4 > 0 ? 1 : 0);
+
+    return Strings.padStart(Integer.toHexString(bucket), bucketLen, '0');
+  }
+
   public static <K2, V2> CollisionFreeMap<K2, V2> getInstance(String mapId,
       SimpleConfiguration appConf) {
     Options opts = new Options(mapId, appConf);
@@ -424,7 +434,7 @@ public class CollisionFreeMap<K, V> {
     public RowColumnValue convert(K2 key, V2 val) {
       byte[] k = serializer.serialize(key);
       int hash = Hashing.murmur3_32().hashBytes(k).asInt();
-      String bucketId = BucketUtil.genBucketId(Math.abs(hash % numBuckets), numBuckets);
+      String bucketId = genBucketId(Math.abs(hash % numBuckets), numBuckets);
 
       BytesBuilder bb = Bytes.builder();
       Bytes row = bb.append(mapId).append(":d:").append(bucketId).append(":").append(k).toBytes();
@@ -605,7 +615,7 @@ public class CollisionFreeMap<K, V> {
 
       List<Bytes> dataSplits = new ArrayList<>();
       for (int i = opts.getBucketsPerTablet(); i < opts.numBuckets; i += opts.getBucketsPerTablet()) {
-        String bucketId = BucketUtil.genBucketId(i, opts.numBuckets);
+        String bucketId = genBucketId(i, opts.numBuckets);
         rowBuilder.setLength(mapId.length());
         dataSplits.add(rowBuilder.append(":d:").append(bucketId).toBytes());
       }
@@ -613,7 +623,7 @@ public class CollisionFreeMap<K, V> {
 
       List<Bytes> updateSplits = new ArrayList<>();
       for (int i = opts.getBucketsPerTablet(); i < opts.numBuckets; i += opts.getBucketsPerTablet()) {
-        String bucketId = BucketUtil.genBucketId(i, opts.numBuckets);
+        String bucketId = genBucketId(i, opts.numBuckets);
         rowBuilder.setLength(mapId.length());
         updateSplits.add(rowBuilder.append(":u:").append(bucketId).toBytes());
       }
index 60982bd..376223b 100644 (file)
@@ -17,6 +17,7 @@ package org.apache.fluo.recipes.core.export;
 
 import org.apache.fluo.api.config.FluoConfiguration;
 import org.apache.fluo.api.config.SimpleConfiguration;
+import org.apache.fluo.recipes.core.export.ExportQueue;
 import org.apache.fluo.recipes.core.export.ExportQueue.Options;
 import org.junit.Assert;
 import org.junit.Test;
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.export;
+package org.apache.fluo.recipes.core.export.it;
 
 import org.apache.fluo.recipes.core.types.TypedLoader;
 import org.apache.fluo.recipes.core.types.TypedTransactionBase;
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.export;
+package org.apache.fluo.recipes.core.export.it;
 
 import java.util.Arrays;
 import java.util.HashSet;
@@ -21,7 +21,8 @@ import java.util.Set;
 
 import org.apache.fluo.api.data.Bytes;
 import org.apache.fluo.api.data.Column;
-import org.apache.fluo.recipes.core.export.ExportTestBase.RefExporter;
+import org.apache.fluo.recipes.core.export.ExportQueue;
+import org.apache.fluo.recipes.core.export.it.ExportTestBase.RefExporter;
 import org.apache.fluo.recipes.core.types.TypedObserver;
 import org.apache.fluo.recipes.core.types.TypedTransactionBase;
 
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.export;
+package org.apache.fluo.recipes.core.export.it;
 
 import java.util.HashMap;
 import java.util.HashSet;
@@ -23,6 +23,7 @@ import java.util.Set;
 import org.apache.fluo.api.client.FluoClient;
 import org.apache.fluo.api.client.FluoFactory;
 import org.apache.fluo.api.client.Transaction;
+import org.apache.fluo.recipes.core.export.ExportQueue;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.export;
+package org.apache.fluo.recipes.core.export.it;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -41,6 +41,9 @@ import org.apache.fluo.api.data.Column;
 import org.apache.fluo.api.data.ColumnValue;
 import org.apache.fluo.api.data.Span;
 import org.apache.fluo.api.mini.MiniFluo;
+import org.apache.fluo.recipes.core.export.ExportQueue;
+import org.apache.fluo.recipes.core.export.Exporter;
+import org.apache.fluo.recipes.core.export.SequencedExport;
 import org.apache.fluo.recipes.core.serialization.SimpleSerializer;
 import org.junit.After;
 import org.junit.Assert;
index 37a2443..30f93ff 100644 (file)
@@ -25,6 +25,7 @@ import org.apache.fluo.api.config.FluoConfiguration;
 import org.apache.fluo.api.data.Bytes;
 import org.apache.fluo.recipes.core.common.TableOptimizations;
 import org.apache.fluo.recipes.core.map.CollisionFreeMap.Options;
+import org.apache.fluo.recipes.core.map.it.WordCountCombiner;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.map;
+package org.apache.fluo.recipes.core.map.it;
 
 import java.io.File;
 import java.util.HashMap;
@@ -37,6 +37,10 @@ import org.apache.fluo.api.data.Column;
 import org.apache.fluo.api.data.ColumnValue;
 import org.apache.fluo.api.data.Span;
 import org.apache.fluo.api.mini.MiniFluo;
+import org.apache.fluo.recipes.core.map.CollisionFreeMap;
+import org.apache.fluo.recipes.core.map.Combiner;
+import org.apache.fluo.recipes.core.map.Update;
+import org.apache.fluo.recipes.core.map.UpdateObserver;
 import org.apache.fluo.recipes.core.serialization.SimpleSerializer;
 import org.apache.fluo.recipes.core.types.StringEncoder;
 import org.apache.fluo.recipes.core.types.TypeLayer;
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.map;
+package org.apache.fluo.recipes.core.map.it;
 
 import java.io.File;
 import java.util.HashMap;
@@ -34,6 +34,7 @@ import org.apache.fluo.api.data.Column;
 import org.apache.fluo.api.data.RowColumnValue;
 import org.apache.fluo.api.data.Span;
 import org.apache.fluo.api.mini.MiniFluo;
+import org.apache.fluo.recipes.core.map.CollisionFreeMap;
 import org.apache.fluo.recipes.core.serialization.SimpleSerializer;
 import org.junit.After;
 import org.junit.Assert;
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.map;
+package org.apache.fluo.recipes.core.map.it;
 
 import org.apache.fluo.recipes.core.types.TypedLoader;
 import org.apache.fluo.recipes.core.types.TypedTransactionBase;
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.map;
+package org.apache.fluo.recipes.core.map.it;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -22,6 +22,7 @@ import com.google.common.collect.MapDifference;
 import com.google.common.collect.Maps;
 import org.apache.fluo.api.data.Bytes;
 import org.apache.fluo.api.data.Column;
+import org.apache.fluo.recipes.core.map.CollisionFreeMap;
 import org.apache.fluo.recipes.core.types.TypedObserver;
 import org.apache.fluo.recipes.core.types.TypedTransactionBase;
 
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.map;
+package org.apache.fluo.recipes.core.map.it;
 
 import org.apache.fluo.api.config.SimpleConfiguration;
 import org.apache.fluo.recipes.core.serialization.SimpleSerializer;
  * the License.
  */
 
-package org.apache.fluo.recipes.core.map;
+package org.apache.fluo.recipes.core.map.it;
 
 import java.util.Iterator;
 import java.util.Optional;
 
+import org.apache.fluo.recipes.core.map.Combiner;
+
 public class WordCountCombiner implements Combiner<String, Long> {
   @Override
   public Optional<Long> combine(String key, Iterator<Long> updates) {
@@ -13,7 +13,7 @@
  * the License.
  */
 
-package org.apache.fluo.recipes.core.map;
+package org.apache.fluo.recipes.core.map.it;
 
 import java.util.Iterator;
 import java.util.Optional;
@@ -21,6 +21,8 @@ import java.util.Optional;
 import org.apache.fluo.api.client.TransactionBase;
 import org.apache.fluo.api.data.Bytes;
 import org.apache.fluo.api.data.Column;
+import org.apache.fluo.recipes.core.map.Update;
+import org.apache.fluo.recipes.core.map.UpdateObserver;
 
 public class WordCountObserver extends UpdateObserver<String, Long> {
 
index fe00f96..eaed2ee 100644 (file)
@@ -17,7 +17,7 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.fluo</groupId>
-    <artifactId>fluo-recipes-parent</artifactId>
+    <artifactId>fluo-recipes</artifactId>
     <version>1.0.0-incubating-SNAPSHOT</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
index aff9e7c..e8d7997 100644 (file)
@@ -110,7 +110,7 @@ public class KryoSimplerSerializer implements SimpleSerializer, Serializable {
   public KryoSimplerSerializer() {}
 
   /**
-   * Can call this method to create a serializer w/o calling {@link #init(Configuration)}
+   * Can call this method to create a serializer w/o calling {@link #init(SimpleConfiguration)}
    */
   public KryoSimplerSerializer(KryoFactory factory) {
     factoryType = factory.getClass().getName();
  * the License.
  */
 
-package org.apache.fluo.recipes.core.serialization;
+package org.apache.fluo.recipes.kryo;
 
 import com.esotericsoftware.kryo.pool.KryoFactory;
 import org.apache.fluo.api.data.Bytes;
 import org.apache.fluo.api.data.Column;
+import org.apache.fluo.recipes.core.serialization.SimpleSerializer;
 import org.apache.fluo.recipes.kryo.KryoSimplerSerializer;
 import org.junit.Assert;
 import org.junit.Test;
index 1a0969e..5cb80a4 100644 (file)
@@ -17,7 +17,7 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.fluo</groupId>
-    <artifactId>fluo-recipes-parent</artifactId>
+    <artifactId>fluo-recipes</artifactId>
     <version>1.0.0-incubating-SNAPSHOT</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
  * the License.
  */
 
-package org.apache.fluo.recipes.spark;
+package org.apache.fluo.recipes.spark.it;
 
 import java.util.List;
 
 import org.apache.fluo.api.client.FluoFactory;
 import org.apache.fluo.api.data.RowColumnValue;
 import org.apache.fluo.api.mini.MiniFluo;
+import org.apache.fluo.recipes.spark.FluoSparkHelper;
+import org.apache.fluo.recipes.spark.FluoSparkTestUtil;
 import org.apache.fluo.recipes.test.AccumuloExportITBase;
 import org.apache.fluo.recipes.test.FluoITHelper;
 import org.apache.hadoop.fs.Path;
index 8bfb466..86f5fbd 100644 (file)
@@ -17,7 +17,7 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.fluo</groupId>
-    <artifactId>fluo-recipes-parent</artifactId>
+    <artifactId>fluo-recipes</artifactId>
     <version>1.0.0-incubating-SNAPSHOT</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
index ba7b1e6..acc13b7 100644 (file)
@@ -31,7 +31,6 @@ import org.apache.fluo.api.client.FluoFactory;
 import org.apache.fluo.api.config.FluoConfiguration;
 import org.apache.fluo.api.mini.MiniFluo;
 import org.apache.fluo.recipes.accumulo.ops.TableOperations;
-import org.apache.fluo.recipes.core.common.TableOptimizations;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
diff --git a/pom.xml b/pom.xml
index 5c926c7..5be0541 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -20,8 +20,7 @@
     <artifactId>fluo-parent</artifactId>
     <version>1-incubating</version>
   </parent>
-  <groupId>org.apache.fluo</groupId>
-  <artifactId>fluo-recipes-parent</artifactId>
+  <artifactId>fluo-recipes</artifactId>
   <version>1.0.0-incubating-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>Fluo Recipes Parent</name>
@@ -51,7 +50,7 @@
     <url>https://github.com/apache/incubator-fluo-recipes/issues</url>
   </issueManagement>
   <properties>
-    <accumulo.version>1.6.5</accumulo.version>
+    <accumulo.version>1.6.6</accumulo.version>
     <curator.version>2.7.1</curator.version>
     <findbugs.maxRank>13</findbugs.maxRank>
     <fluo.version>1.0.0-incubating</fluo.version>
     <pluginManagement>
       <plugins>
         <plugin>
-          <groupId>org.apache.rat</groupId>
-          <artifactId>apache-rat-plugin</artifactId>
-          <configuration>
-            <excludes>
-              <exclude>README.md</exclude>
-              <exclude>docs/**.md</exclude>
-            </excludes>
-          </configuration>
-        </plugin>
-        <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-failsafe-plugin</artifactId>
           <configuration>
             </systemPropertyVariables>
           </configuration>
         </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-jar-plugin</artifactId>
-          <configuration>
-            <archive>
-              <manifest>
-                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-              </manifest>
-              <manifestEntries>
-                <!-- sealing breaks ITs with shaded jar, which is used by this example -->
-                <Sealed>false</Sealed>
-              </manifestEntries>
-            </archive>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-          <configuration>
-            <excludePackageNames>*.impl.*</excludePackageNames>
-          </configuration>
-        </plugin>
       </plugins>
     </pluginManagement>
     <plugins>