[fluo] branch master updated: fixes #893 added ability to secure zookeeper (#899)
This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/fluo.git The following commit(s) were added to refs/heads/master by this push: new 5b30cd3 fixes #893 added ability to secure zookeeper (#899) 5b30cd3 is described below commit 5b30cd39adab45848ed9964f4c521d493715578a Author: Keith Turner <ke...@deenlo.com> AuthorDate: Mon Aug 14 15:30:06 2017 + fixes #893 added ability to secure zookeeper (#899) --- .../org/apache/fluo/api/client/FluoFactory.java| 7 - .../apache/fluo/api/config/FluoConfiguration.java | 37 - .../org/apache/fluo/core/client/FluoAdminImpl.java | 1 - .../org/apache/fluo/core/util/CuratorUtil.java | 55 ++- .../src/main/config/fluo-conn.properties | 6 + .../apache/fluo/integration/impl/ZKSecretIT.java | 175 + 6 files changed, 263 insertions(+), 18 deletions(-) diff --git a/modules/api/src/main/java/org/apache/fluo/api/client/FluoFactory.java b/modules/api/src/main/java/org/apache/fluo/api/client/FluoFactory.java index 52b3843..98d260a 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/client/FluoFactory.java +++ b/modules/api/src/main/java/org/apache/fluo/api/client/FluoFactory.java @@ -25,8 +25,6 @@ import org.apache.fluo.api.exceptions.FluoException; import org.apache.fluo.api.mini.MiniFluo; import org.apache.fluo.api.service.FluoOracle; import org.apache.fluo.api.service.FluoWorker; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import static org.apache.fluo.api.config.FluoConfiguration.FLUO_PREFIX; @@ -38,8 +36,6 @@ import static org.apache.fluo.api.config.FluoConfiguration.FLUO_PREFIX; */ public class FluoFactory { - private static final Logger log = LoggerFactory.getLogger(FluoFactory.class); - private static final String FLUO_IMPL_PREFIX = FLUO_PREFIX + ".impl"; private static final String CLIENT_CLASS_PROP = FLUO_IMPL_PREFIX + ".client.class"; private static final String CLIENT_CLASS_DEFAULT = "org.apache.fluo.core.client.FluoClientImpl"; @@ -123,14 +119,11 @@ public class FluoFactory { String msg = "Could not find " + clazz + " class which could be caused by fluo-core jar not being on the classpath."; - log.error(msg); throw new FluoException(msg, e); } catch (InvocationTargetException e) { String msg = "Failed to construct " + clazz + " class due to exception"; - log.error(msg, e); throw new FluoException(msg, e); } catch (Exception e) { - log.error("Could not instantiate class - " + clazz); throw new FluoException(e); } } diff --git a/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java b/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java index 54e07d2..6c66b6f 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java +++ b/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java @@ -113,10 +113,17 @@ public class FluoConfiguration extends SimpleConfiguration { */ public static final String CONNECTION_ZOOKEEPER_TIMEOUT_PROP = CONNECTION_PREFIX + ".zookeeper.timeout"; + + /** + * @since 1.2.0 + */ + public static final String CONNECTION_ZOOKEEPER_SECRET = CONNECTION_PREFIX + ".zookeeper.secret"; + /** * @since 1.2.0 */ public static final String CONNECTION_ZOOKEEPERS_PROP = CONNECTION_PREFIX + ".zookeepers"; + /** * @since 1.2.0 */ @@ -345,6 +352,33 @@ public class FluoConfiguration extends SimpleConfiguration { CONNECTION_ZOOKEEPER_TIMEOUT_DEFAULT); } + /** + * Get the secret configured to access data in zookeeper. If the secret is an empty string, then + * nothing in zookeeper is locked down. + * + * + * Gets the value of the property {@value #CONNECTION_ZOOKEEPER_SECRET} + * + * @since 1.2.0 + */ + public String getZookeeperSecret() { +return getString(CONNECTION_ZOOKEEPER_SECRET, ""); + } + + /** + * Setting this before initializing an application will cause Fluo to lock down Zookeeper such + * that this secret is required to read data from zookeeper. If set to an empty string, then + * nothing in zookeeper will be locked down. This property defaults to an empty string. + * + * + * Sets the value of the property {@value #CONNECTION_ZOOKEEPER_SECRET} + * + * @since 1.2.0 + */ + public void setZookeeperSecret(String secret) { +setProperty(CONNECTION_ZOOKEEPER_SECRET, verifyNotNull(CONNECTION_ZOOKEEPER_SECRET, secret)); + } + @Deprecated public FluoConfiguration setClientRetryTimeout(int timeoutMs) { return setConnectionRetryTimeout(timeoutMs); @@ -968,7 +1002,6 @@ public clas
[fluo] branch master updated: fixes #894 merge SimpleConfiguration Objects (#902)
This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/fluo.git The following commit(s) were added to refs/heads/master by this push: new a349a9d fixes #894 merge SimpleConfiguration Objects (#902) a349a9d is described below commit a349a9d00b5081545d4b052bb90f13d7b497905c Author: Christopher McTague <cjmcta...@apache.org> AuthorDate: Mon Aug 14 10:59:26 2017 -0400 fixes #894 merge SimpleConfiguration Objects (#902) --- .../fluo/api/config/SimpleConfiguration.java | 40 +- .../fluo/api/config/SimpleConfigurationTest.java | 90 ++ 2 files changed, 129 insertions(+), 1 deletion(-) diff --git a/modules/api/src/main/java/org/apache/fluo/api/config/SimpleConfiguration.java b/modules/api/src/main/java/org/apache/fluo/api/config/SimpleConfiguration.java index f54e3f5..afe8c6f 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/config/SimpleConfiguration.java +++ b/modules/api/src/main/java/org/apache/fluo/api/config/SimpleConfiguration.java @@ -27,6 +27,7 @@ import java.io.Serializable; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; @@ -213,7 +214,6 @@ public class SimpleConfiguration implements Serializable { } } - public void save(OutputStream out) { PropertiesConfiguration pconf = new PropertiesConfiguration(); pconf.setDelimiterParsingDisabled(true); @@ -250,6 +250,44 @@ public class SimpleConfiguration implements Serializable { return new SimpleConfiguration(internalConfig.subset(prefix)); } + /** + * @param fallback SimpleConfiguration to join together + * @return a new simple configuration that contains all of the current properties from this plus + * the properties from fallback that are not present in this. + * + * @since 1.2.0 + */ + public SimpleConfiguration orElse(SimpleConfiguration fallback) { +SimpleConfiguration copy = new SimpleConfiguration(this); +for (Map.Entry<String, String> entry : fallback.toMap().entrySet()) { + if (!copy.containsKey(entry.getKey())) { +copy.setProperty(entry.getKey(), entry.getValue()); + } +} +return copy; + } + + @Override + public int hashCode() { +return Objects.hashCode(this.toMap().entrySet()); + } + + @Override + public boolean equals(Object o) { +if (o == this) { + return true; +} + +if (o instanceof SimpleConfiguration) { + Map<String, String> th = this.toMap(); + Map<String, String> sc = ((SimpleConfiguration) o).toMap(); + if (th.size() == sc.size()) { +return th.entrySet().equals(sc.entrySet()); + } +} +return false; + } + @Override public String toString() { return ConfigurationUtils.toString(internalConfig); diff --git a/modules/api/src/test/java/org/apache/fluo/api/config/SimpleConfigurationTest.java b/modules/api/src/test/java/org/apache/fluo/api/config/SimpleConfigurationTest.java new file mode 100644 index 000..e905a5f --- /dev/null +++ b/modules/api/src/test/java/org/apache/fluo/api/config/SimpleConfigurationTest.java @@ -0,0 +1,90 @@ +/* + * 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.api.config; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @since 1.2.0 + */ +public class SimpleConfigurationTest { + + @Test + public void testMerge() { +SimpleConfiguration empty = new SimpleConfiguration(); +SimpleConfiguration sc1 = new SimpleConfiguration(); +SimpleConfiguration sc2 = new SimpleConfiguration(); +SimpleConfiguration sc3 = new SimpleConfiguration(); +SimpleConfiguration testEmpty = sc1.orElse(sc2).orElse(sc3); + +Assert.assertEquals(empty, testEmpty); + +sc1.setProperty("set1", "value1"); +sc1.setProperty("set1", "value2"); +sc1.setProperty("set3", "value3"); +sc2.setProperty("set4", "value4"); +
[incubator-fluo] branch master updated: fixes #867 - Stream support for Scanners (#884)
This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-fluo.git The following commit(s) were added to refs/heads/master by this push: new 2f11089 fixes #867 - Stream support for Scanners (#884) 2f11089 is described below commit 2f11089270f02c65404a7d0c9f7242254d992937 Author: Christopher McTague <cjmcta...@apache.org> AuthorDate: Tue Jul 25 08:48:51 2017 -0400 fixes #867 - Stream support for Scanners (#884) --- .../fluo/api/client/scanner/CellScanner.java | 10 + .../fluo/api/client/scanner/ColumnScanner.java | 12 ++ .../apache/fluo/api/client/scanner/RowScanner.java | 10 + .../fluo/api/client/scanner/ScannerStreamTest.java | 238 + 4 files changed, 270 insertions(+) diff --git a/modules/api/src/main/java/org/apache/fluo/api/client/scanner/CellScanner.java b/modules/api/src/main/java/org/apache/fluo/api/client/scanner/CellScanner.java index b2bf50e..90e631e 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/client/scanner/CellScanner.java +++ b/modules/api/src/main/java/org/apache/fluo/api/client/scanner/CellScanner.java @@ -15,6 +15,9 @@ package org.apache.fluo.api.client.scanner; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; + import org.apache.fluo.api.data.RowColumnValue; /** @@ -22,4 +25,11 @@ import org.apache.fluo.api.data.RowColumnValue; */ public interface CellScanner extends Iterable { + /** + * @since 1.2.0 + */ + default Stream stream() { +return StreamSupport.stream(spliterator(), false); + } + } diff --git a/modules/api/src/main/java/org/apache/fluo/api/client/scanner/ColumnScanner.java b/modules/api/src/main/java/org/apache/fluo/api/client/scanner/ColumnScanner.java index dd28ce9..6a61a88 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/client/scanner/ColumnScanner.java +++ b/modules/api/src/main/java/org/apache/fluo/api/client/scanner/ColumnScanner.java @@ -15,6 +15,9 @@ package org.apache.fluo.api.client.scanner; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; + import org.apache.fluo.api.data.Bytes; import org.apache.fluo.api.data.ColumnValue; @@ -24,12 +27,21 @@ import org.apache.fluo.api.data.ColumnValue; public interface ColumnScanner extends Iterable { /** + * @since 1.0.0 * @return the row for all column values */ Bytes getRow(); /** + * @since 1.0.0 * @return the row for all column values decoded as UTF-8 */ String getsRow(); + + /** + * @since 1.2.0 + */ + default Stream stream() { +return StreamSupport.stream(spliterator(), false); + } } diff --git a/modules/api/src/main/java/org/apache/fluo/api/client/scanner/RowScanner.java b/modules/api/src/main/java/org/apache/fluo/api/client/scanner/RowScanner.java index e65816b..3d679f8 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/client/scanner/RowScanner.java +++ b/modules/api/src/main/java/org/apache/fluo/api/client/scanner/RowScanner.java @@ -15,9 +15,19 @@ package org.apache.fluo.api.client.scanner; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; + /** * @since 1.0.0 */ public interface RowScanner extends Iterable { + /** + * @since 1.2.0 + */ + default Stream stream() { +return StreamSupport.stream(spliterator(), false); + } + } diff --git a/modules/api/src/test/java/org/apache/fluo/api/client/scanner/ScannerStreamTest.java b/modules/api/src/test/java/org/apache/fluo/api/client/scanner/ScannerStreamTest.java new file mode 100644 index 000..d885552 --- /dev/null +++ b/modules/api/src/test/java/org/apache/fluo/api/client/scanner/ScannerStreamTest.java @@ -0,0 +1,238 @@ +/* + * 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.api.client.scanner; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; + +import org.apache.fluo.api.data.Bytes; +import org.apache.flu
[incubator-fluo-website] branch asf-site updated: Jekyll build from gh-pages:6cad111
This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-fluo-website.git The following commit(s) were added to refs/heads/asf-site by this push: new e303f07 Jekyll build from gh-pages:6cad111 e303f07 is described below commit e303f07d0f8c963091f909103cf4888af65e363d Author: Keith Turner <ktur...@apache.org> AuthorDate: Mon Jul 17 16:57:44 2017 -0400 Jekyll build from gh-pages:6cad111 re apache/fluo#881 improved documentation about issues (#71) * re apache/fluo#881 improved documentation about issues * added an s --- feed.xml | 4 ++-- getinvolved/index.html | 33 +++-- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/feed.xml b/feed.xml index f4b5946..3799b97 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Thu, 29 Jun 2017 17:59:05 + -Thu, 29 Jun 2017 17:59:05 + +Mon, 17 Jul 2017 20:57:40 + +Mon, 17 Jul 2017 20:57:40 + Jekyll v3.3.1 diff --git a/getinvolved/index.html b/getinvolved/index.html index 069b539..f45b65c 100644 --- a/getinvolved/index.html +++ b/getinvolved/index.html @@ -112,12 +112,24 @@ Below are some ways that you can get involved with Apache Fluo: +Issues + +Fluo uses GitHub issues to track bugs and new features. Fluo has multiple git repositories, each +with its own issues. Use the following links to report bugs, request new features, or search +current issues. + + + https://github.com/apache/fluo/issues;>Fluo issues + https://github.com/apache/fluo-recipes/issues;>Fluo Recipes issues + https://github.com/apache/incubator-fluo-website/issues;>Website issues + + Mailing lists -The dev mailing list is for general discussion, announcing releases, organizing meet ups, etc. For -discussion regarding specific issues or pull request consider using Github (https://github.com/apache/fluo;>Fluo, https://github.com/apache/fluo-recipes;>Fluo -Recipes, https://github.com/apache/incubator-fluo-website;>Fluo website). The notifications and commits mailing lists receive email from automated -services and can be used to observe project activity. +The dev mailing list is for user questions, general discussion, announcing releases, organizing +meet ups, etc. The notifications and commits mailing lists receive email from automated services +and can be used to observe project activity. A lot of discussion happens on GitHub and is archived +to the notifications list. @@ -146,18 +158,11 @@ services and can be used to observe project activity. Drop by and chat about Apache Fluo at #fluo on https://freenode.net/;>freenode. -User feedback - -Users can provide feedback by: - - - Creating an issue on our GitHub pages: https://github.com/apache/fluo/issues;>Fluo, https://github.com/apache/fluo-recipes/issues;>Fluo Recipes, https://github.com/apache/incubator-fluo-website/issues;>Fluo website - Sending an email to our mailing list at d...@fluo.apache.org - - Contributions -Contributions are welcome to all Apache Fluo projects! All projects follow a http://www.apache.org/foundation/glossary.html#ReviewThenCommit;>review-then-commit process. If you are interested in contributing, read our How To Contribute page. +Contributions are welcome to all Apache Fluo projects! All projects follow a +http://www.apache.org/foundation/glossary.html#ReviewThenCommit;>review-then-commit process. If you are interested in contributing, read our How To +Contribute page. -- To stop receiving notification emails like this one, please contact ['"comm...@fluo.apache.org" <comm...@fluo.apache.org>'].
[incubator-fluo-recipes] branch 1.1.0-incubating-rc1-next created (now c53a8f8)
This is an automated email from the ASF dual-hosted git repository. kturner pushed a change to branch 1.1.0-incubating-rc1-next in repository https://gitbox.apache.org/repos/asf/incubator-fluo-recipes.git. at c53a8f8 [maven-release-plugin] prepare for next development iteration This branch includes the following new commits: new 4769fa9 [maven-release-plugin] prepare release rel/fluo-recipes-1.1.0-incubating new c53a8f8 [maven-release-plugin] prepare for next development iteration The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. -- To stop receiving notification emails like this one, please contact ['"comm...@fluo.apache.org" <comm...@fluo.apache.org>'].
[incubator-fluo-recipes] 01/02: [maven-release-plugin] prepare release rel/fluo-recipes-1.1.0-incubating
This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch 1.1.0-incubating-rc1-next in repository https://gitbox.apache.org/repos/asf/incubator-fluo-recipes.git commit 4769fa9a3a43af030de318c0423a7cae5c5eb4fe Author: Keith Turner <ktur...@apache.org> AuthorDate: Mon Jun 12 18:56:42 2017 -0400 [maven-release-plugin] prepare release rel/fluo-recipes-1.1.0-incubating --- modules/accumulo/pom.xml | 2 +- modules/core/pom.xml | 2 +- modules/kryo/pom.xml | 2 +- modules/spark/pom.xml| 2 +- modules/test/pom.xml | 2 +- pom.xml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/accumulo/pom.xml b/modules/accumulo/pom.xml index b4f183e..ec1744a 100644 --- a/modules/accumulo/pom.xml +++ b/modules/accumulo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.1.0-incubating-SNAPSHOT +1.1.0-incubating ../../pom.xml fluo-recipes-accumulo diff --git a/modules/core/pom.xml b/modules/core/pom.xml index dc95ac6..7b56b10 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.1.0-incubating-SNAPSHOT +1.1.0-incubating ../../pom.xml fluo-recipes-core diff --git a/modules/kryo/pom.xml b/modules/kryo/pom.xml index 12baafd..6d26a7e 100644 --- a/modules/kryo/pom.xml +++ b/modules/kryo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.1.0-incubating-SNAPSHOT +1.1.0-incubating ../../pom.xml fluo-recipes-kryo diff --git a/modules/spark/pom.xml b/modules/spark/pom.xml index 12895a5..1a8d1c7 100644 --- a/modules/spark/pom.xml +++ b/modules/spark/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.1.0-incubating-SNAPSHOT +1.1.0-incubating ../../pom.xml fluo-recipes-spark diff --git a/modules/test/pom.xml b/modules/test/pom.xml index f495ac4..a407c55 100644 --- a/modules/test/pom.xml +++ b/modules/test/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.1.0-incubating-SNAPSHOT +1.1.0-incubating ../../pom.xml fluo-recipes-test diff --git a/pom.xml b/pom.xml index ec03b3d..29ab35c 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 1-incubating fluo-recipes - 1.1.0-incubating-SNAPSHOT + 1.1.0-incubating pom Apache Fluo (incubating) Recipes Parent Implementation of Common Fluo patterns @@ -42,7 +42,7 @@ scm:git:https://gitbox.apache.org/repos/asf/incubator-fluo-recipes.git scm:git:https://gitbox.apache.org/repos/asf/incubator-fluo-recipes.git -HEAD +rel/fluo-recipes-1.1.0-incubating https://gitbox.apache.org/repos/asf/incubator-fluo-recipes.git -- To stop receiving notification emails like this one, please contact "comm...@fluo.apache.org" <comm...@fluo.apache.org>.
[incubator-fluo-recipes] 01/02: Depend on Fluo 1.1.0
This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-fluo-recipes.git commit 06acd645992b57b884407b1c64a517b57224d09f Author: Keith Turner <ktur...@apache.org> AuthorDate: Mon Jun 12 15:58:34 2017 -0400 Depend on Fluo 1.1.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 396c773..ec03b3d 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ 1.6.6 2.7.1 13 -1.1.0-incubating-SNAPSHOT +1.1.0-incubating 2.6.3 1.8 1.8 -- To stop receiving notification emails like this one, please contact "comm...@fluo.apache.org" <comm...@fluo.apache.org>.
[incubator-fluo-recipes] 02/02: fixed some javadoc warnings
This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-fluo-recipes.git commit f363574471987d7be2a80f27975264e917e982e5 Author: Keith Turner <ktur...@apache.org> AuthorDate: Mon Jun 12 17:41:55 2017 -0400 fixed some javadoc warnings --- .travis.yml| 2 +- .../fluo/recipes/accumulo/export/AccumuloExporter.java | 5 +++-- .../fluo/recipes/accumulo/export/AccumuloReplicator.java | 4 ++-- .../recipes/accumulo/export/function/AccumuloExporter.java | 14 +++--- .../java/org/apache/fluo/recipes/core/export/Exporter.java | 5 + .../apache/fluo/recipes/core/export/function/Exporter.java | 5 - 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9c48f7a..3640303 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ language: java jdk: - oraclejdk8 -script: mvn -U verify +script: mvn -U verify javadoc:jar sudo: false cache: directories: diff --git a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java index b2bef84..5fbef06 100644 --- a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java +++ b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java @@ -24,8 +24,8 @@ import org.apache.fluo.api.config.FluoConfiguration; import org.apache.fluo.api.config.SimpleConfiguration; import org.apache.fluo.api.data.Bytes; import org.apache.fluo.api.data.RowColumn; -import org.apache.fluo.recipes.core.export.ExportQueue.Options; import org.apache.fluo.recipes.accumulo.export.function.AccumuloTranslator; +import org.apache.fluo.recipes.core.export.ExportQueue.Options; import org.apache.fluo.recipes.core.export.Exporter; import org.apache.fluo.recipes.core.export.SequencedExport; @@ -88,7 +88,7 @@ public abstract class AccumuloExporter<K, V> extends Exporter<K, V> { /** * Implementations of this method should translate the given SequencedExport to 0 or more * Mutations. - * + * * @param export the input that should be translated to mutations * @param consumer output mutations to this consumer */ @@ -116,6 +116,7 @@ public abstract class AccumuloExporter<K, V> extends Exporter<K, V> { * @deprecated since 1.1.0 use * {@link AccumuloTranslator#generateMutations(long, Map, Map, Consumer)} */ + @Deprecated public static void generateMutations(long seq, Map<RowColumn, Bytes> oldData, Map<RowColumn, Bytes> newData, Consumer consumer) { AccumuloTranslator.generateMutations(seq, oldData, newData, consumer); diff --git a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloReplicator.java b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloReplicator.java index c2b9ade..35567fe 100644 --- a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloReplicator.java +++ b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloReplicator.java @@ -24,7 +24,6 @@ import org.apache.accumulo.core.data.Mutation; import org.apache.accumulo.core.security.ColumnVisibility; import org.apache.fluo.api.data.Bytes; import org.apache.fluo.api.data.Column; -import org.apache.fluo.recipes.accumulo.export.AccumuloExporter; import org.apache.fluo.recipes.accumulo.export.function.AccumuloTranslator; import org.apache.fluo.recipes.core.export.SequencedExport; import org.apache.fluo.recipes.core.transaction.LogEntry; @@ -44,6 +43,7 @@ public class AccumuloReplicator extends AccumuloExporter<String, TxLog> { * {@link org.apache.fluo.recipes.accumulo.export.function.AccumuloExporter} with * {@link #getTranslator()} instead. */ + @Deprecated @Override protected void translate(SequencedExport<String, TxLog> export, Consumer consumer) { generateMutations(export.getSequence(), export.getValue(), consumer); @@ -51,7 +51,7 @@ public class AccumuloReplicator extends AccumuloExporter<String, TxLog> { /** * Returns LogEntry filter for Accumulo replication. - * + * * @see RecordingTransaction#wrap(org.apache.fluo.api.client.TransactionBase, Predicate) */ public static Predicate getFilter() { diff --git a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/function/AccumuloExporter.java b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/function/AccumuloExporter.java index 039dc55..1da0560 100644 --- a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/function/AccumuloExporter.java +++ b/modules/accumulo/sr
[incubator-fluo-recipes] branch master updated (416c109 -> f363574)
This is an automated email from the ASF dual-hosted git repository. kturner pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-fluo-recipes.git. from 416c109 update NOTICE file for 2017 new 06acd64 Depend on Fluo 1.1.0 new f363574 fixed some javadoc warnings The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .travis.yml| 2 +- .../fluo/recipes/accumulo/export/AccumuloExporter.java | 5 +++-- .../fluo/recipes/accumulo/export/AccumuloReplicator.java | 4 ++-- .../recipes/accumulo/export/function/AccumuloExporter.java | 14 +++--- .../java/org/apache/fluo/recipes/core/export/Exporter.java | 5 + .../apache/fluo/recipes/core/export/function/Exporter.java | 5 - pom.xml| 2 +- 7 files changed, 19 insertions(+), 18 deletions(-) -- To stop receiving notification emails like this one, please contact ['"comm...@fluo.apache.org" <comm...@fluo.apache.org>'].
[incubator-fluo] branch 1.1.0-incubating-rc1 deleted (was ad8ee49)
This is an automated email from the ASF dual-hosted git repository. kturner pushed a change to branch 1.1.0-incubating-rc1 in repository https://gitbox.apache.org/repos/asf/incubator-fluo.git. was ad8ee49 [maven-release-plugin] prepare release rel/fluo-1.1.0-incubating The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository. -- To stop receiving notification emails like this one, please contact ['"comm...@fluo.apache.org" <comm...@fluo.apache.org>'].
[incubator-fluo] branch 1.1.0-incubating-rc1-next deleted (was 2f6f1bb)
This is an automated email from the ASF dual-hosted git repository. kturner pushed a change to branch 1.1.0-incubating-rc1-next in repository https://gitbox.apache.org/repos/asf/incubator-fluo.git. was 2f6f1bb [maven-release-plugin] prepare for next development iteration The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository. -- To stop receiving notification emails like this one, please contact ['"comm...@fluo.apache.org" <comm...@fluo.apache.org>'].
[incubator-fluo] branch master updated (72d1813 -> ad1042d)
This is an automated email from the ASF dual-hosted git repository. kturner pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-fluo.git. from 72d1813 Fixes #868 - Update voting text in release candidate script (#869) add ad8ee49 [maven-release-plugin] prepare release rel/fluo-1.1.0-incubating add 2f6f1bb [maven-release-plugin] prepare for next development iteration new ad1042d Merge branch '1.1.0-incubating-rc1-next' The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: modules/accumulo/pom.xml | 2 +- modules/api/pom.xml | 2 +- modules/cluster/pom.xml | 2 +- modules/core/pom.xml | 2 +- modules/distribution/pom.xml | 2 +- modules/integration/pom.xml | 2 +- modules/mapreduce/pom.xml| 2 +- modules/mini/pom.xml | 2 +- pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) -- To stop receiving notification emails like this one, please contact ['"comm...@fluo.apache.org" <comm...@fluo.apache.org>'].
svn commit: r20008 - /release/incubator/fluo/KEYS
Author: kturner Date: Mon Jun 12 17:13:08 2017 New Revision: 20008 Log: Updated key for Keith Turner Modified: release/incubator/fluo/KEYS Modified: release/incubator/fluo/KEYS == --- release/incubator/fluo/KEYS (original) +++ release/incubator/fluo/KEYS Mon Jun 12 17:13:08 2017 @@ -76,6 +76,7 @@ cVX01+E7tnKRPcAZoqDYsNwR3LsZYqmZBZsRmyUI -END PGP PUBLIC KEY BLOCK- pub 4096R/352ACF76 2011-11-02 +uid Keith Turner (CODE SIGNING KEY) <ktur...@apache.org> uid Richard Keith Turner (CODE SIGNING KEY) <ke...@deenlo.com> sub 4096R/F299A8F3 2011-11-02 @@ -106,28 +107,41 @@ xUJL/qJmLHTitc0TYblqDL6wWWmam2FqqouNvJU3 UWwu5mmfXJ1f6F6qImspoR03wAcBjgxJsP1Otnw2BrcH1xOuOVq5s9XUZxgLIcdf 8FV4jJN/QgNOuwVMsio9jvvmONpNVG5CvoFhnUBXWC28b42B/4/uOe8HiBzeVJp/ smWH/ID9TTYG/uSwD3VU2XiCt2fF1qftyqmcvUIeZgo25bFVUwb3OzQzrgpk+l4Z -wlw3jLhQuQINBE6xlWgBEADDB6vzGL28p3ZxHxSdTT8n/G4dPh1ez9FGhU451hYa -s2pOTMn1uTNCb14DVMEBnMd5pupWqTAO+gBnowCAI+8tMYLNlXS8eR8gogq4HNMa -sQ/vKHjgXDqPRXaQVKA5eL2yEAhHd/Ucv2OJ4KM7W9DJcQWRaHS7+mYS7Q1uwXHD -SW0DQL1Qp1KKI50ERIJqcfxCTg1bnjSVFatCbGnsYRNwd1n4ANwvLCEK5/xyL2J7 -fadCnGf1PVEfnERawxvKZ6M1F/o8WOVgCuxA9nK4Ta5EzYyZjRrdAUWop8I8KvfR -BEQ4UWrNxw86imnkNJ0gj4oViXz8mgplbthO3R4GEHwA8Q7NwZtEONU6hFc6QkMe -r5X/oWPDVEYD3SVTTCgepTKpfDervrBD76E36WoVZZYGvRbhrj6R1uyZ3PXZDy4H -+In3Ul1vFyUpanw+yB+0DRS50JwwgvN+mq7N06l15hPYIHUYmos0WhvCcFWhp3Hc -pG+bMpdpJThceEXcqLzsLZHA2M9k+15TfNhhvlxHb6tWHATyq5/LnzyfOTz6mXr+ -9LKTQwBdcmhvIchqApy49eqUuvTbzXCshgcsxyvtJ61ouvcslrIM5wpIZH1htfXz -4rY0D4GUs85247rEKKjVCT9F1XM/EoBgXKhaYz2P5pnXzUPsYJFkbacx4VI18oM+ -nwARAQABiQIfBBgBAgAJBQJOsZVoAhsMAAoJEJqs+1Y1Ks92XuMQAIjAwIDQaGn9 -M592eFIFkMk6lnhQq5vsnTAhClpsaIWoih2lJBf0AsT634JFTX5fdf2Heg5ze5uu -RuloKCCrg/DCope4CYhrJmjV4S399quWQsoayNae3p2yhzRtGC4j7DRDGQlnYifq -0viqgaF6fZz17uiWemiy9o5bDULkcacBQWNoqlep5YPXKYE5s61YMfYwyM0aaFCE -djoZs1KWk017eBnNOOaTzlL8d7QfecWPASLPYvxjkqNtvLnV/SAZ5RMwN1ji3WU1 -SufRdcYlBFgIi4KNUERiO0GRDW1QgEP3XLcQsFkQouF8YYfPeKjRmBzUhiJpw3kG -ljKdSwIYaO4Yw4ybUup7nfL2PGtM6Gc8pqsPPEXLW5M8ZcZd3xvGFwRSA5j7QLqp -2THvQZgw9ihTHcpWutxnJRj6lnawDfBoG+vs3IkAlrBnMUAuZLAWNO8KamcGxUvb -RRd5IOLsttehhRi2lOdcOozHO0VI++8YoYx0uCHfSN3ZjZ8vhq9nWrPZcTSIUt0M -f2mw/rDzNLXGdhN8KxeyD4Mnf73R8qwdcufzirc6dWf7OzKmhHzEuFMlZdS4/5Dy -VANGObiCqmZlM3HzeW+sa0MFhhP7xuR0DP2WD1rOjKltauWfDem7R1+3Y7LZPI12 -/wi/NckKSy8bozMEId0/IN1PfmDCqYoh -=RrrE +wlw3jLhQtDRLZWl0aCBUdXJuZXIgKENPREUgU0lHTklORyBLRVkpIDxrdHVybmVy +QGFwYWNoZS5vcmc+iQI5BBMBAgAjBQJZPrWCAhsDBwsJCAcDAgEGFQgCCQoLBBYC +AwECHgECF4AACgkQmqz7VjUqz3Yg0g//cK8FRZy+wJg/REewqqFVI/O/JqSLueIc +wq0xDMVW8tUi5rcd7qQsKDw+Dv/1at39awUOSui01U99QjU2kgNL94uYwe7OJjKg +ZAepViCTsP0o7O4emGrWKydjA51w+rprbr9Y9XdUumZOAL2OVB1nl5QYRRxdsm7W +y5ZD6/Usr4TywZtoS0wOrmx604Ash5Yv+Kf7cqBI061snYDTiS5RCJ8iD8wvpPRT +IrJt6lS7O25ioOPQNkpcTBQGIwpqqf6Cgfe87h/mOYYHb1ZpAbQlsBfPUO23kU6V +2EOpPq8SPAlGmVykQeq+lewSweDy30bESMP1TAh1K12Drw+Ulyfh9hUvIXoHeOjL +bsAGxmyaSsZDC1ZrwkNi+kPxMK92p0LtEIzouELdWRxs2nRT0eANuKp6+aJS9fqq +4dYYHQ8i66x1s1Y5gcVUiBcBDNz5gV75CXEfhYPgXzoeTglXG1LMWIq1BbyxJPof +sZFGIY32Y8Qxf4dM0JQoaWlXbbxnoRvPY3zTyrLXNf5O09TmN6S8DCaGbPz0vzqS +71WKRN+jcC/IfawYUUo2kYP8ycqHZViSnrVjmbhGo5vtcwe53iKbSqi4QmKGj12U +7g+kK9MiPP9OzVihHTCfwNWgvXrmKIyOcRii0rok+Y2CEWgR+wzB1qLLQ4Spcxh2 +TWxwTnip0+O5Ag0ETrGVaAEQAMMHq/MYvbyndnEfFJ1NPyf8bh0+HV7P0UaFTjnW +Fhqzak5MyfW5M0JvXgNUwQGcx3mm6lapMA76AGejAIAj7y0xgs2VdLx5HyCiCrgc +0xqxD+8oeOBcOo9FdpBUoDl4vbIQCEd39Ry/Y4ngoztb0MlxBZFodLv6ZhLtDW7B +ccNJbQNAvVCnUoojnQREgmpx/EJODVueNJUVq0JsaexhE3B3WfgA3C8sIQrn/HIv +Ynt9p0KcZ/U9UR+cRFrDG8pnozUX+jxY5WAK7ED2crhNrkTNjJmNGt0BRainwjwq +99EERDhRas3HDzqKaeQ0nSCPihWJfPyaCmVu2E7dHgYQfADxDs3Bm0Q41TqEVzpC +Qx6vlf+hY8NURgPdJVNMKB6lMql8N6u+sEPvoTfpahVllga9FuGuPpHW7Jnc9dkP +Lgf4ifdSXW8XJSlqfD7IH7QNFLnQnDCC836ars3TqXXmE9ggdRiaizRaG8JwVaGn +cdykb5syl2klOFx4RdyovOwtkcDYz2T7XlN82GG+XEdvq1YcBPKrn8ufPJ85PPqZ +ev70spNDAF1yaG8hyGoCnLj16pS69NvNcKyGByzHK+0nrWi69yyWsgznCkhkfWG1 +9fPitjQPgZSzznbjusQoqNUJP0XVcz8SgGBcqFpjPY/mmdfNQ+xgkWRtpzHhUjXy +gz6fABEBAAGJAh8EGAECAAkFAk6xlWgCGwwACgkQmqz7VjUqz3Ze4xAAiMDAgNBo +af0zn3Z4UgWQyTqWeFCrm+ydMCEKWmxohaiKHaUkF/QCxPrfgkVNfl91/Yd6DnN7 +m65G6WgoIKuD8MKil7gJiGsmaNXhLf32q5ZCyhrI1p7enbKHNG0YLiPsNEMZCWdi +J+rS+KqBoXp9nPXu6JZ6aLL2jlsNQuRxpwFBY2iqV6nlg9cpgTmzrVgx9jDIzRpo +UIR2OhmzUpaTTXt4Gc045pPOUvx3tB95xY8BIs9i/GOSo228udX9IBnlEzA3WOLd +ZTVK59F1xiUEWAiLgo1QRGI7QZENbVCAQ/dctxCwWRCi4Xxhh894qNGYHNSGImnD +eQaWMp1LAhho7hjDjJtS6nud8vY8a0zoZzymqw88Rctbkzxlxl3fG8YXBFIDmPtA +uqnZMe9BmDD2KFMdyla63GclGPqWdrAN8Ggb6+zciQCWsGcxQC5ksBY07wpqZwbF +S9tFF3kg4uy216GFGLaU51w6jMc7RUj77xihjHS4Id9I3dmNny+Gr2das9lxNIhS +3Qx/abD+sPM0tcZ2E3wrF7IPgyd/vdHyrB1y5/OKtzp1Z/s7MqaEfMS4UyVl1Lj/ +kPJUA0Y5uIKqZmUzcfN5b6xrQwWGE/vG5HQM/ZYPWs6MqW1q5Z8N6btHX7djstk8 +jXb/CL81yQpLLxujMwQh3T8g3U9+YMKpiiE= +=ze2u -END PGP PUBLIC KEY BLOCK-
[incubator-fluo] 01/01: [maven-release-plugin] prepare for next development iteration
This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch 1.1.0-incubating-rc1-next in repository https://gitbox.apache.org/repos/asf/incubator-fluo.git commit 2f6f1bb269d5e7f97ec3d67ad1e4637106d4325a Author: Keith Turner <ktur...@apache.org> AuthorDate: Fri Jun 2 12:20:49 2017 -0400 [maven-release-plugin] prepare for next development iteration --- modules/accumulo/pom.xml | 2 +- modules/api/pom.xml | 2 +- modules/cluster/pom.xml | 2 +- modules/core/pom.xml | 2 +- modules/distribution/pom.xml | 2 +- modules/integration/pom.xml | 2 +- modules/mapreduce/pom.xml| 2 +- modules/mini/pom.xml | 2 +- pom.xml | 4 ++-- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/accumulo/pom.xml b/modules/accumulo/pom.xml index db13809..4da36f9 100644 --- a/modules/accumulo/pom.xml +++ b/modules/accumulo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-project -1.1.0-incubating +1.2.0-incubating-SNAPSHOT ../../pom.xml fluo-accumulo diff --git a/modules/api/pom.xml b/modules/api/pom.xml index e5be115..0c85205 100644 --- a/modules/api/pom.xml +++ b/modules/api/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-project -1.1.0-incubating +1.2.0-incubating-SNAPSHOT ../../pom.xml fluo-api diff --git a/modules/cluster/pom.xml b/modules/cluster/pom.xml index 638be85..a379536 100644 --- a/modules/cluster/pom.xml +++ b/modules/cluster/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-project -1.1.0-incubating +1.2.0-incubating-SNAPSHOT ../../pom.xml fluo-cluster diff --git a/modules/core/pom.xml b/modules/core/pom.xml index 7885531..6a068b4 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-project -1.1.0-incubating +1.2.0-incubating-SNAPSHOT ../../pom.xml fluo-core diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml index b47832b..986f8d8 100644 --- a/modules/distribution/pom.xml +++ b/modules/distribution/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-project -1.1.0-incubating +1.2.0-incubating-SNAPSHOT ../../pom.xml fluo diff --git a/modules/integration/pom.xml b/modules/integration/pom.xml index 55aa7c7..5063341 100644 --- a/modules/integration/pom.xml +++ b/modules/integration/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-project -1.1.0-incubating +1.2.0-incubating-SNAPSHOT ../../pom.xml fluo-integration diff --git a/modules/mapreduce/pom.xml b/modules/mapreduce/pom.xml index 37033a5..a4b641f 100644 --- a/modules/mapreduce/pom.xml +++ b/modules/mapreduce/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-project -1.1.0-incubating +1.2.0-incubating-SNAPSHOT ../../pom.xml fluo-mapreduce diff --git a/modules/mini/pom.xml b/modules/mini/pom.xml index f6ab1ca..593ca0b 100644 --- a/modules/mini/pom.xml +++ b/modules/mini/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-project -1.1.0-incubating +1.2.0-incubating-SNAPSHOT ../../pom.xml fluo-mini diff --git a/pom.xml b/pom.xml index e2da9f7..a6739d5 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 1-incubating fluo-project - 1.1.0-incubating + 1.2.0-incubating-SNAPSHOT pom Apache Fluo (incubating) Project An implementation of Percolator for Apache Accumulo @@ -45,7 +45,7 @@ scm:git:https://gitbox.apache.org/repos/asf/incubator-fluo.git scm:git:https://gitbox.apache.org/repos/asf/incubator-fluo.git -rel/fluo-1.1.0-incubating +HEAD https://gitbox.apache.org/repos/asf?p=incubator-fluo.git -- To stop receiving notification emails like this one, please contact "comm...@fluo.apache.org" <comm...@fluo.apache.org>.
incubator-fluo-website git commit: Jekyll build from gh-pages:7356ff3
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site 1693d0314 -> 83e6f97d9 Jekyll build from gh-pages:7356ff3 Add mjwall as contributor Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/83e6f97d Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/83e6f97d Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/83e6f97d Branch: refs/heads/asf-site Commit: 83e6f97d9043e156ac727f34a712b8cab796068b Parents: 1693d03 Author: Keith TurnerAuthored: Wed May 10 12:06:48 2017 -0400 Committer: Keith Turner Committed: Wed May 10 12:06:48 2017 -0400 -- feed.xml | 4 ++-- people/index.html | 5 + 2 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/83e6f97d/feed.xml -- diff --git a/feed.xml b/feed.xml index bfd5867..df9e205 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Mon, 17 Apr 2017 16:55:41 + -Mon, 17 Apr 2017 16:55:41 + +Wed, 10 May 2017 16:06:44 + +Wed, 10 May 2017 16:06:44 + Jekyll v3.3.1 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/83e6f97d/people/index.html -- diff --git a/people/index.html b/people/index.html index 0f63af0..50248c6 100644 --- a/people/index.html +++ b/people/index.html @@ -219,6 +219,11 @@ based on commits. http://www.ptech-llc.com/;>Peterson Technologies http://www.timeanddate.com/time/zones/et;>ET + + https://github.com/mjwall;>Michael Wall + Â + http://www.timeanddate.com/time/zones/et;>ET +
incubator-fluo git commit: closes #809 - cleanup buffered data
Repository: incubator-fluo Updated Branches: refs/heads/master ab7ce36c2 -> 4055cdfbe closes #809 - cleanup buffered data closes #832 Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/4055cdfb Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/4055cdfb Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/4055cdfb Branch: refs/heads/master Commit: 4055cdfbe13eb34f8830db3ba2201c6428d26fd4 Parents: ab7ce36 Author: Michael WallAuthored: Tue May 9 08:21:36 2017 -0400 Committer: Keith Turner Committed: Wed May 10 09:55:13 2017 -0400 -- .../org/apache/fluo/core/impl/TransactionImpl.java| 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/4055cdfb/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java b/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java index 322ae77..8313220 100644 --- a/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java +++ b/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java @@ -596,9 +596,16 @@ public class TransactionImpl extends AbstractTransactionBase implements AsyncTra @Override public synchronized void commit() throws CommitException { -SyncCommitObserver sco = new SyncCommitObserver(); -commitAsync(sco); -sco.waitForCommit(); +SyncCommitObserver sco = null; +try { + sco = new SyncCommitObserver(); + commitAsync(sco); + sco.waitForCommit(); +} finally { + updates.clear(); + weakNotification = null; + columnsRead.clear(); +} } void deleteWeakRow() { @@ -908,7 +915,6 @@ public class TransactionImpl extends AbstractTransactionBase implements AsyncTra cd.acceptedRows = new HashSet<>(); - ListenableFuture future = cd.bacw.apply(mutations); Futures.addCallback(future, new CommitCallback (cd) { @Override
incubator-fluo-recipes git commit: Updated for new way of registering observers
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master 70a4239c8 -> d4cc0e343 Updated for new way of registering observers Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/d4cc0e34 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/d4cc0e34 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/d4cc0e34 Branch: refs/heads/master Commit: d4cc0e343e24b2aa46f2bb04b476546f95d3a2bb Parents: 70a4239 Author: Keith TurnerAuthored: Fri May 5 18:51:01 2017 -0400 Committer: Keith Turner Committed: Mon May 8 18:20:59 2017 -0400 -- docs/accumulo-export-queue.md | 2 +- docs/combine-queue.md | 2 +- docs/export-queue.md| 2 +- .../recipes/core/combine/CombineQueueImpl.java | 6 +++-- .../fluo/recipes/core/export/ExportQueue.java | 3 ++- .../fluo/recipes/core/map/CollisionFreeMap.java | 24 .../recipes/core/export/it/ExportTestBase.java | 3 ++- 7 files changed, 30 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/d4cc0e34/docs/accumulo-export-queue.md -- diff --git a/docs/accumulo-export-queue.md b/docs/accumulo-export-queue.md index b037b52..f9de6c6 100644 --- a/docs/accumulo-export-queue.md +++ b/docs/accumulo-export-queue.md @@ -93,7 +93,7 @@ Exporting to Accumulo is easy. Follow the steps below: new AccumuloExporter<>(EXPORT_QID, appCfg, new SimpleTranslator())); // An example observer created using a lambda that adds to the export queue. -obsRegistry.register(OBS_COL, WEAK, (tx,row,col) -> { +obsRegistry.forColumn(OBS_COL, WEAK).useObserver((tx,row,col) -> { // Read some data and do some work // Add results to export queue http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/d4cc0e34/docs/combine-queue.md -- diff --git a/docs/combine-queue.md b/docs/combine-queue.md index b3c1b13..0cce71b 100644 --- a/docs/combine-queue.md +++ b/docs/combine-queue.md @@ -176,7 +176,7 @@ public class WcObserverProvider implements ObserverProvider { CombineQueue wcMap = CombineQueue.getInstance(ID, ctx.getAppConfiguration()); // Register observer that updates the Combine Queue -obsRegistry.register(DocumentObserver.NEW_COL, STRONG, new DocumentObserver(wcMap)); +obsRegistry.forColumn(DocumentObserver.NEW_COL, STRONG).useObserver(new DocumentObserver(wcMap)); // Used to join new and existing values for a key. The lambda sums all values and returns // Optional.empty() when the sum is zero. Returning Optional.empty() causes the key/value to be http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/d4cc0e34/docs/export-queue.md -- diff --git a/docs/export-queue.md b/docs/export-queue.md index 11e8d17..ec4b890 100644 --- a/docs/export-queue.md +++ b/docs/export-queue.md @@ -152,7 +152,7 @@ public class FluoApp { ExportQueue.getInstance(EQ_ID, ctx.getAppConfiguration()); // register observer that will queue data to export - obsRegistry.register(UPDATE_COL, STRONG, new MyObserver(expQ)); + obsRegistry.forColumn(UPDATE_COL, STRONG).useObserver(new MyObserver(expQ)); // register observer that will export queued data expQ.registerObserver(obsRegistry, new CountExporter()); http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/d4cc0e34/modules/core/src/main/java/org/apache/fluo/recipes/core/combine/CombineQueueImpl.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/recipes/core/combine/CombineQueueImpl.java b/modules/core/src/main/java/org/apache/fluo/recipes/core/combine/CombineQueueImpl.java index bf97a5e..48d2651 100644 --- a/modules/core/src/main/java/org/apache/fluo/recipes/core/combine/CombineQueueImpl.java +++ b/modules/core/src/main/java/org/apache/fluo/recipes/core/combine/CombineQueueImpl.java @@ -53,6 +53,7 @@ class CombineQueueImpl implements CombineQueue { private Bytes dataPrefix; private Column notifyColumn; + private final String cqId; private final Class keyType; private final Class valType; private final int numBuckets; @@ -61,6 +62,7 @@ class CombineQueueImpl implements CombineQueue { @SuppressWarnings("unchecked") CombineQueueImpl(String cqId, SimpleConfiguration appConfig) throws
[3/3] incubator-fluo-recipes git commit: Updated ExportQ and CFM to use new ObserverProvider API
Updated ExportQ and CFM to use new ObserverProvider API Created a new CombineQueue API that replaces the CollisionFreeMap. The new combineQ uses the new Fluo Observer APIs exclusively. The CollisionFreeMap only uses the old Fluo Observer APIs and was deprecated. The ExportQueue was modified to support a Fluent configuration mechanism. This can only be used when using the new Observer API. Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/70a4239c Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/70a4239c Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/70a4239c Branch: refs/heads/master Commit: 70a4239c837223a287c5eb1a396326ab7cc5be67 Parents: 0cda5ae Author: Keith TurnerAuthored: Wed Mar 8 18:46:28 2017 -0500 Committer: Keith Turner Committed: Wed May 3 17:45:45 2017 -0400 -- README.md | 5 +- docs/accumulo-export-queue.md | 84 ++-- docs/cfm.md | 257 docs/combine-queue.md | 224 +++ docs/export-queue.md| 251 ++-- .../accumulo/export/AccumuloExporter.java | 69 ++-- .../accumulo/export/AccumuloReplicator.java | 26 +- .../recipes/accumulo/export/AccumuloWriter.java | 169 .../export/function/AccumuloExporter.java | 104 + .../export/function/AccumuloTranslator.java | 86 .../export/function/AccumuloWriter.java | 158 .../export/function/AeFluentConfigurator.java | 104 + .../accumulo/export/AccumuloExportTest.java | 111 -- .../accumulo/export/AccumuloTranslatorTest.java | 112 ++ .../fluo/recipes/core/combine/ChangeImpl.java | 48 +++ .../recipes/core/combine/ChangeObserver.java| 52 +++ .../fluo/recipes/core/combine/CombineQueue.java | 183 + .../recipes/core/combine/CombineQueueImpl.java | 320 +++ .../fluo/recipes/core/combine/Combiner.java | 51 +++ .../recipes/core/combine/CqConfigurator.java| 148 +++ .../fluo/recipes/core/combine/CqOptimizer.java | 70 .../recipes/core/combine/InitializerImpl.java | 52 +++ .../fluo/recipes/core/combine/InputImpl.java| 68 .../recipes/core/combine/SummingCombiner.java | 37 ++ .../fluo/recipes/core/export/ExportBucket.java | 1 + .../fluo/recipes/core/export/ExportEntry.java | 1 + .../recipes/core/export/ExportObserver.java | 106 + .../recipes/core/export/ExportObserverImpl.java | 91 + .../fluo/recipes/core/export/ExportQueue.java | 221 +++ .../fluo/recipes/core/export/Exporter.java | 7 +- .../recipes/core/export/FluentConfigurator.java | 156 .../recipes/core/export/MemLimitIterator.java | 54 +++ .../recipes/core/export/function/Exporter.java | 87 + .../fluo/recipes/core/map/CollisionFreeMap.java | 388 --- .../core/map/CollisionFreeMapObserver.java | 2 + .../apache/fluo/recipes/core/map/Combiner.java | 4 + .../recipes/core/map/NullUpdateObserver.java| 1 + .../apache/fluo/recipes/core/map/Update.java| 12 + .../fluo/recipes/core/map/UpdateObserver.java | 7 +- .../fluo/recipes/core/types/TypedObserver.java | 6 +- .../fluo/recipes/core/combine/OptionsTest.java | 48 +++ .../fluo/recipes/core/combine/SplitsTest.java | 66 .../core/combine/it/CombineQueueTreeIT.java | 281 ++ .../fluo/recipes/core/common/TestGrouping.java | 21 +- .../fluo/recipes/core/export/OptionsTest.java | 72 +++- .../core/export/it/DocumentObserver.java| 27 +- .../recipes/core/export/it/ExportTestBase.java | 40 +- .../fluo/recipes/core/map/OptionsTest.java | 1 + .../fluo/recipes/core/map/SplitsTest.java | 1 + .../fluo/recipes/core/map/it/BigUpdateIT.java | 2 + .../recipes/core/map/it/CollisionFreeMapIT.java | 2 + .../recipes/core/map/it/DocumentObserver.java | 2 + .../recipes/core/map/it/WordCountCombiner.java | 2 + .../recipes/core/map/it/WordCountObserver.java | 2 + .../recipes/test/export/AccumuloExporterIT.java | 39 +- .../test/export/AccumuloReplicatorIT.java | 27 +- .../recipes/test/export/SimpleExporter.java | 32 -- 57 files changed, 3257 insertions(+), 1341 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/70a4239c/README.md -- diff --git a/README.md b/README.md index fe511a6..75c105d 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,8 @@ like Spark and Kryo. Recipes are documented below and in the [Recipes API
incubator-fluo git commit: fixes #500 Made scanning for notifications scalable
Repository: incubator-fluo Updated Branches: refs/heads/master 2e8932670 -> 3da76dcf0 fixes #500 Made scanning for notifications scalable Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/3da76dcf Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/3da76dcf Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/3da76dcf Branch: refs/heads/master Commit: 3da76dcf06702dd9cd2e9b04fd9990cc0be5b151 Parents: 2e89326 Author: Keith TurnerAuthored: Fri Apr 7 18:48:27 2017 -0400 Committer: Keith Turner Committed: Thu Apr 20 22:12:01 2017 -0400 -- .../fluo/core/impl/FluoConfigurationImpl.java | 16 +- .../core/worker/NotificationFinderFactory.java | 4 +- .../fluo/core/worker/NotificationProcessor.java | 89 - .../fluo/core/worker/TabletInfoCache.java | 157 .../finder/hash/HashNotificationFinder.java | 204 -- .../core/worker/finder/hash/ModulusParams.java | 28 -- .../worker/finder/hash/ParitionManager.java | 372 +++ .../core/worker/finder/hash/PartitionInfo.java | 98 + .../hash/PartitionInfoChangedException.java | 20 + .../hash/PartitionNotificationFinder.java | 84 + .../fluo/core/worker/finder/hash/RangeSet.java | 88 + .../fluo/core/worker/finder/hash/ScanTask.java | 133 --- .../worker/finder/hash/SerializedSplits.java| 119 ++ .../core/worker/finder/hash/TableRange.java | 113 ++ .../fluo/core/worker/finder/hash/HashTest.java | 2 +- .../finder/hash/PartitionManagerTest.java | 103 + .../finder/hash/SerializedSplitsTest.java | 79 .../core/worker/finder/hash/TableRangeTest.java | 125 +++ .../apache/fluo/integration/impl/WorkerIT.java | 6 +- .../java/org/apache/fluo/mini/MiniFluoImpl.java | 4 +- 20 files changed, 1358 insertions(+), 486 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/3da76dcf/modules/core/src/main/java/org/apache/fluo/core/impl/FluoConfigurationImpl.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/core/impl/FluoConfigurationImpl.java b/modules/core/src/main/java/org/apache/fluo/core/impl/FluoConfigurationImpl.java index a9f5fd4..9af6feb 100644 --- a/modules/core/src/main/java/org/apache/fluo/core/impl/FluoConfigurationImpl.java +++ b/modules/core/src/main/java/org/apache/fluo/core/impl/FluoConfigurationImpl.java @@ -16,7 +16,6 @@ package org.apache.fluo.core.impl; import org.apache.fluo.api.config.FluoConfiguration; -import org.apache.fluo.core.worker.finder.hash.ScanTask; /** * Contains implementation-related Fluo properties that should not be exposed in the API in @@ -28,13 +27,16 @@ public class FluoConfigurationImpl { public static final String ORACLE_PORT_PROP = FLUO_IMPL_PREFIX + ".oracle.port"; public static final String WORKER_FINDER_PROP = FLUO_IMPL_PREFIX + ".worker.finder"; + public static final String WORKER_PARTITION_GROUP_SIZE = FLUO_IMPL_PREFIX + + ".worker.finder.partition.groupSize"; + public static final int WORKER_PARTITION_GROUP_SIZE_DEFAULT = 7; public static final String METRICS_RESERVOIR_PROP = FLUO_IMPL_PREFIX + ".metrics.reservoir"; - public static final String MIN_SLEEP_TIME_PROP = FLUO_IMPL_PREFIX - + ScanTask.class.getSimpleName() + ".minSleep"; - public static final int MIN_SLEEP_TIME_DEFAULT = 5000; - public static final String MAX_SLEEP_TIME_PROP = FLUO_IMPL_PREFIX - + ScanTask.class.getSimpleName() + ".maxSleep"; - public static final int MAX_SLEEP_TIME_DEFAULT = 5 * 60 * 1000; + public static final String NTFY_FINDER_MIN_SLEEP_TIME_PROP = FLUO_IMPL_PREFIX + + ".worker.finder.minSleep"; + public static final int NTFY_FINDER_MIN_SLEEP_TIME_DEFAULT = 5000; + public static final String NTFY_FINDER_MAX_SLEEP_TIME_PROP = FLUO_IMPL_PREFIX + + ".worker.finder.maxSleep"; + public static final int NTFY_FINDER_MAX_SLEEP_TIME_DEFAULT = 5 * 60 * 1000; // Time period that each client will update ZK with their oldest active timestamp // If period is too short, Zookeeper may be overloaded. If too long, garbage collection http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/3da76dcf/modules/core/src/main/java/org/apache/fluo/core/worker/NotificationFinderFactory.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/core/worker/NotificationFinderFactory.java b/modules/core/src/main/java/org/apache/fluo/core/worker/NotificationFinderFactory.java index 92b0382..3938c07 100644 --- a/modules/core/src/main/java/org/apache/fluo/core/worker/NotificationFinderFactory.java +++
[1/2] incubator-fluo git commit: fixes #820 use a specific version of netty
Repository: incubator-fluo Updated Branches: refs/heads/master c4a69994e -> 2e8932670 fixes #820 use a specific version of netty Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/a052435b Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/a052435b Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/a052435b Branch: refs/heads/master Commit: a052435bd0bb7988e78e14fe47dc8e33091ff727 Parents: d6af386 Author: Keith TurnerAuthored: Thu Apr 6 15:58:59 2017 -0400 Committer: Keith Turner Committed: Thu Apr 6 18:01:19 2017 -0400 -- modules/distribution/src/main/lib/fetch.sh | 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/a052435b/modules/distribution/src/main/lib/fetch.sh -- diff --git a/modules/distribution/src/main/lib/fetch.sh b/modules/distribution/src/main/lib/fetch.sh index 95765a2..45d0914 100755 --- a/modules/distribution/src/main/lib/fetch.sh +++ b/modules/distribution/src/main/lib/fetch.sh @@ -95,6 +95,9 @@ extra) download org.slf4j:slf4j-api:jar:1.7.12 download org.slf4j:slf4j-log4j12:jar:1.7.12 ./log4j download org.xerial.snappy:snappy-java:jar:1.0.5 + # See https://github.com/apache/incubator-fluo/issues/820 + download io.netty:netty:jar:3.9.9.Final + echo -e "Done!\n" echo "NOTE - The dependencies downloaded have been tested with some versions of Hadoop, Zookeeper, and Accumulo." echo "There is no guarantee they will work with all versions. Fluo chose to defer dependency resolution to as"
[2/2] incubator-fluo git commit: Merge remote-tracking branch 'origin/fluo-820'
Merge remote-tracking branch 'origin/fluo-820' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/2e893267 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/2e893267 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/2e893267 Branch: refs/heads/master Commit: 2e8932670ab5b1906a4f796233392d6c81b9ded9 Parents: c4a6999 a052435 Author: Keith TurnerAuthored: Fri Apr 7 11:15:10 2017 -0400 Committer: Keith Turner Committed: Fri Apr 7 11:15:10 2017 -0400 -- modules/distribution/src/main/lib/fetch.sh | 3 +++ 1 file changed, 3 insertions(+) --
incubator-fluo-recipes git commit: fixes #122 improved Spark documentation
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master f724aa0e4 -> 4f11ec4d9 fixes #122 improved Spark documentation Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/4f11ec4d Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/4f11ec4d Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/4f11ec4d Branch: refs/heads/master Commit: 4f11ec4d982271c01aeb734ee0a6e9bc5d15e9d6 Parents: f724aa0 Author: Keith TurnerAuthored: Mon Jan 9 10:26:10 2017 -0500 Committer: Keith Turner Committed: Mon Jan 9 10:26:10 2017 -0500 -- README.md | 2 ++ docs/spark.md | 32 ++ .../fluo/recipes/core/map/CollisionFreeMap.java | 3 +- .../fluo/recipes/spark/FluoSparkHelper.java | 34 +--- 4 files changed, 64 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/4f11ec4d/README.md -- diff --git a/README.md b/README.md index 27f6132..fe511a6 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ Recipes have common needs that are broken down into the following reusable compo * [Serialization][serialization] - Common code for serializing POJOs. * [Transient Ranges][transient] - Standardized process for dealing with transient data. * [Table optimization][optimization] - Standardized process for optimizing the Fluo table. +* [Spark integration][spark] - Spark+Fluo integration code. ### Usage @@ -108,6 +109,7 @@ Below is a sample Maven POM containing all possible Fluo Recipes dependencies: [transient]: docs/transient.md [optimization]: docs/table-optimization.md [row-hasher]: docs/row-hasher.md +[spark]: docs/spark.md [testing]: docs/testing.md [ti]: https://travis-ci.org/apache/incubator-fluo-recipes.svg?branch=master [tl]: https://travis-ci.org/apache/incubator-fluo-recipes http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/4f11ec4d/docs/spark.md -- diff --git a/docs/spark.md b/docs/spark.md new file mode 100644 index 000..197c189 --- /dev/null +++ b/docs/spark.md @@ -0,0 +1,32 @@ + +# Apache Spark helper code + +Fluo Recipes has some helper code for [Apache Spark][spark]. Most of the helper code is currently +related to bulk importing data into Accumulo. This is useful for initializing a new Fluo table with +historical data via Spark. The Spark helper code is found at +[modules/spark/src/main/java/org/apache/fluo/recipes/spark/][sdir]. + +For information on using Spark to load data into Fluo, check out this [blog post][blog]. + +If you know of other Spark+Fluo integration code that would be useful, then please consider [opening +an issue](https://github.com/apache/fluo-recipes/issues/new). + +[spark]: https://spark.apache.org +[sdir]: ../modules/spark/src/main/java/org/apache/fluo/recipes/spark/ +[blog]: https://fluo.apache.org/blog/2016/12/22/spark-load/ + http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/4f11ec4d/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java b/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java index 715d330..939e9ed 100644 --- a/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java +++ b/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java @@ -399,11 +399,10 @@ public class CollisionFreeMap { } /** - * A @link {@link CollisionFreeMap} stores data in its own data format in the Fluo table. When + * A {@link CollisionFreeMap} stores data in its own data format in the Fluo table. When * initializing a Fluo table with something like Map Reduce or Spark, data will need to be written * in this format. Thats the purpose of this method, it provide a simple class that can do this * conversion. - * */ public static Initializer getInitializer(String mapId, int numBuckets, SimpleSerializer serializer) { http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/4f11ec4d/modules/spark/src/main/java/org/apache/fluo/recipes/spark/FluoSparkHelper.java -- diff --git a/modules/spark/src/main/java/org/apache/fluo/recipes/spark/FluoSparkHelper.java
incubator-fluo-website git commit: Jekyll build from gh-pages:674215b
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site 0fd076807 -> 518c7627b Jekyll build from gh-pages:674215b fix example in Spark blog post Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/518c7627 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/518c7627 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/518c7627 Branch: refs/heads/asf-site Commit: 518c7627b0c9bfd5a2f93cdafbe674b224ad771e Parents: 0fd0768 Author: Keith TurnerAuthored: Thu Dec 22 14:54:24 2016 -0500 Committer: Keith Turner Committed: Thu Dec 22 14:54:24 2016 -0500 -- blog/2016/12/22/spark-load/index.html | 2 +- feed.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/518c7627/blog/2016/12/22/spark-load/index.html -- diff --git a/blog/2016/12/22/spark-load/index.html b/blog/2016/12/22/spark-load/index.html index 62a8332..f6164e2 100644 --- a/blog/2016/12/22/spark-load/index.html +++ b/blog/2016/12/22/spark-load/index.html @@ -135,7 +135,7 @@ can be created. Thatâs what the example below shows. docRdd = docRdd.distinct(numPartitions); // Execute load transactions for unique documents. Iin Java 8 lambda syntax below, - // iter is of type IteratorString + // iter is of type IteratorDocument docRdd.foreachPartition(iter-{ // Assume fluo.properties file was submitted with application FluoConfiguration fconf = new FluoConfiguration(new File("fluo.properties")); http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/518c7627/feed.xml -- diff --git a/feed.xml b/feed.xml index 1d11700..c39b657 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Thu, 22 Dec 2016 18:12:05 + -Thu, 22 Dec 2016 18:12:05 + +Thu, 22 Dec 2016 19:54:22 + +Thu, 22 Dec 2016 19:54:22 + Jekyll v3.3.0 @@ -33,7 +33,7 @@ can be created. Thatâs what the example below shows./p span class=ndocRdd/span span class=o=/span span class=ndocRdd/spanspan class=o./spanspan class=nadistinct/spanspan class=o(/spanspan class=nnumPartitions/spanspan class=o);/span span class=c1// Execute load transactions for unique documents. Iin Java 8 lambda syntax below, /span - span class=c1// iter is of type Iteratorlt;Stringgt;/span + span class=c1// iter is of type Iteratorlt;Documentgt;/span span class=ndocRdd/spanspan class=o./spanspan class=naforeachPartition/spanspan class=o(/spanspan class=niter/spanspan class=o-gt;{/span span class=c1// Assume fluo.properties file was submitted with application/span span class=nFluoConfiguration/span span class=nfconf/span span class=o=/span span class=knew/span span class=nFluoConfiguration/spanspan class=o(/spanspan class=knew/span span class=nFile/spanspan class=o(/spanspan class=sfluo.properties/spanspan class=o));/span
incubator-fluo-website git commit: fix example in Spark blog post
Repository: incubator-fluo-website Updated Branches: refs/heads/gh-pages fd2d8ec22 -> 674215b06 fix example in Spark blog post Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/674215b0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/674215b0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/674215b0 Branch: refs/heads/gh-pages Commit: 674215b06dacdb4fbc4b6e67f96016aee3d85d78 Parents: fd2d8ec Author: Keith TurnerAuthored: Thu Dec 22 13:24:04 2016 -0500 Committer: Keith Turner Committed: Thu Dec 22 13:24:04 2016 -0500 -- _posts/blog/2016-12-22-spark-load.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/674215b0/_posts/blog/2016-12-22-spark-load.md -- diff --git a/_posts/blog/2016-12-22-spark-load.md b/_posts/blog/2016-12-22-spark-load.md index d494d9b..a1e7f75 100644 --- a/_posts/blog/2016-12-22-spark-load.md +++ b/_posts/blog/2016-12-22-spark-load.md @@ -28,7 +28,7 @@ public void dedupeAndLoad(JavaRDD docRdd, int numPartitions) { docRdd = docRdd.distinct(numPartitions); // Execute load transactions for unique documents. Iin Java 8 lambda syntax below, - // iter is of type Iterator + // iter is of type Iterator docRdd.foreachPartition(iter->{ // Assume fluo.properties file was submitted with application FluoConfiguration fconf = new FluoConfiguration(new File("fluo.properties"));
incubator-fluo-website git commit: Added post about Spark+Fluo
Repository: incubator-fluo-website Updated Branches: refs/heads/gh-pages a7d68d618 -> fd2d8ec22 Added post about Spark+Fluo Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/fd2d8ec2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/fd2d8ec2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/fd2d8ec2 Branch: refs/heads/gh-pages Commit: fd2d8ec22fbe580a9f4d44bb91d31c7b5b900ed0 Parents: a7d68d6 Author: Keith TurnerAuthored: Tue Dec 20 18:26:07 2016 -0500 Committer: Keith Turner Committed: Thu Dec 22 13:10:19 2016 -0500 -- _config.yml | 2 + _posts/blog/2016-12-22-spark-load.md | 246 ++ 2 files changed, 248 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/fd2d8ec2/_config.yml -- diff --git a/_config.yml b/_config.yml index 32e7e38..578863d 100644 --- a/_config.yml +++ b/_config.yml @@ -50,6 +50,8 @@ api_base: "https://javadoc.io/doc/org.apache.fluo; api_static: "https://static.javadoc.io/org.apache.fluo; fluo_api_base: "https://javadoc.io/doc/org.apache.fluo/fluo-api; fluo_api_static: "https://static.javadoc.io/org.apache.fluo/fluo-api; +fluo_recipes_core_static: "https://static.javadoc.io/org.apache.fluo/fluo-recipes-core; +fluo_recipes_spark_static: "https://static.javadoc.io/org.apache.fluo/fluo-recipes-spark; old_api_base: "https://javadoc.io/doc/io.fluo; old_api_static: "https://static.javadoc.io/io.fluo; http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/fd2d8ec2/_posts/blog/2016-12-22-spark-load.md -- diff --git a/_posts/blog/2016-12-22-spark-load.md b/_posts/blog/2016-12-22-spark-load.md new file mode 100644 index 000..d494d9b --- /dev/null +++ b/_posts/blog/2016-12-22-spark-load.md @@ -0,0 +1,246 @@ +--- +title: "Loading data into Fluo using Apache Spark" +date: 2016-12-22 11:43:00 + +author: Keith Turner +reviewers: Mike Walch +--- + +[Apache Spark][spark] can be used to preprocess and load batches of data into Fluo. For example +Spark could be used to group data within a batch and then Fluo transactions could load groups of +related data. This blog post offers some tips to help you get started writing to Fluo from Spark. + +### Executing load transactions in Spark + +Spark automatically serializes Java objects that are needed for remote execution. When trying to +use Fluo with Spark its important to understand what will serialize properly and what will not. +Classes used to load data into Fluo like [FluoClient] and [LoaderExecutor] are not suitable for +serialization. These classes may have thread pools, resources in Zookeeper, transactions that are +committing in the background, etc . Therefore these classes must be instantiated at each remote process +Spark creates. One way to do this is with Spark's `foreachParition` method. This method will +execute code locally at each RDD partition. Within each partition, a [LoaderExecutor] +can be created. That's what the example below shows. + +```java + +public void dedupeAndLoad(JavaRDD docRdd, int numPartitions) { + + // Remove duplicate documents. + docRdd = docRdd.distinct(numPartitions); + + // Execute load transactions for unique documents. Iin Java 8 lambda syntax below, + // iter is of type Iterator + docRdd.foreachPartition(iter->{ +// Assume fluo.properties file was submitted with application +FluoConfiguration fconf = new FluoConfiguration(new File("fluo.properties")); +try(FluoClient client = FluoFactory.newClient(fconf); +LoaderExecutor le = client.newLoaderExecutor()) +{ + while(iter.hasNext()) { +le.execute(new DocumentLoader(iter.next())); + } +} + }); +} +``` + +The example above requires that `fluo.properties` is available locally for each +partition. This can be accomplished with `--files` option when launching a Spark job. + +``` +spark-submit --class myApp.Load --files /fluo.properties myApp.jar +``` + +If FluoConfiguration were serializable, then Spark could automatically serialize and make a +FluoConfiguration object available for each partition. However, FluoConfiguration is not +serializable as of Fluo 1.0.0. This will be fixed in future releases of Fluo. See [#813][fluo-813] +for details and workarounds for 1.0.0. + +### Initializing Fluo table + +If you have a lot of existing data, then you could use Spark to initialize your Fluo table with +historical data. There are two general ways to do this. The simplest way is to use the
incubator-fluo-website git commit: Jekyll build from gh-pages:fd2d8ec
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site 94539eab2 -> 0fd076807 Jekyll build from gh-pages:fd2d8ec Added post about Spark+Fluo Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/0fd07680 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/0fd07680 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/0fd07680 Branch: refs/heads/asf-site Commit: 0fd07680771b352d3d301d4096cbddb1ea76eb94 Parents: 94539ea Author: Keith TurnerAuthored: Thu Dec 22 13:12:07 2016 -0500 Committer: Keith Turner Committed: Thu Dec 22 13:12:07 2016 -0500 -- blog/2016/12/22/spark-load/index.html | 359 + feed.xml | 305 ++-- index.html| 10 +- news/index.html | 8 + 4 files changed, 609 insertions(+), 73 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/0fd07680/blog/2016/12/22/spark-load/index.html -- diff --git a/blog/2016/12/22/spark-load/index.html b/blog/2016/12/22/spark-load/index.html new file mode 100644 index 000..62a8332 --- /dev/null +++ b/blog/2016/12/22/spark-load/index.html @@ -0,0 +1,359 @@ + + + + + + + +https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/cosmo/bootstrap.min.css; rel="stylesheet" integrity="sha384-h21C2fcDk/eFsW9sC9h0dhokq5pDinLNklTKoxIZRUn3+hvmgQSffLLQ4G4l2eEr" crossorigin="anonymous"> +https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css; rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"> + +https://fluo.apache.org//blog/2016/12/22/spark-load/;> + + +Loading data into Fluo using Apache Spark | Apache Fluo + +https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"> +https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"> + + + + + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-55360307-1', 'auto'); + ga('send', 'pageview'); + + + +window.twttr = (function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0], +t = window.twttr || {}; + if (d.getElementById(id)) return t; + js = d.createElement(s); + js.id = id; + js.src = "https://platform.twitter.com/widgets.js"; + fjs.parentNode.insertBefore(js, fjs); + + t._e = []; + t.ready = function(f) { +t._e.push(f); + }; + + return t; +}(document, "script", "twitter-wjs")); + + + + + + + + + + + + + + + + + +Releases +Tour +Docs +API + + Community + +Get Involved +News Archive +People +Related Projects +Powered By + + + + Contributing + +How To Contribute +Release Process + + + + + + Apache Software Foundation + +https://www.apache.org;>Apache Homepage +https://www.apache.org/licenses/LICENSE-2.0;>License +https://www.apache.org/foundation/sponsorship;>Sponsorship +https://www.apache.org/security;>Security +https://www.apache.org/foundation/thanks;>Thanks +https://www.apache.org/foundation/policies/conduct;>Code of Conduct + + + + + + + + + + + Loading data into Fluo using Apache Spark + + Author : Keith Turner + Reviewer(s) : Mike Walch +22 Dec 2016 + + https://twitter.com/intent/tweet?text=Loading data into Fluo using Apache
[2/2] incubator-fluo git commit: Merge branch 'fluo-430'
Merge branch 'fluo-430' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/80833efa Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/80833efa Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/80833efa Branch: refs/heads/master Commit: 80833efa12c45964baa42080ef5db78f3b22a967 Parents: edbad34 c048395 Author: Keith TurnerAuthored: Fri Dec 16 13:38:24 2016 -0500 Committer: Keith Turner Committed: Fri Dec 16 13:38:24 2016 -0500 -- modules/api/pom.xml | 30 ++ modules/core/pom.xml | 34 ++ 2 files changed, 64 insertions(+) --
[1/2] incubator-fluo git commit: fixes #430 added checks to ensure log4j and logback are not used directly
Repository: incubator-fluo Updated Branches: refs/heads/master edbad3460 -> 80833efa1 fixes #430 added checks to ensure log4j and logback are not used directly Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/c0483959 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/c0483959 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/c0483959 Branch: refs/heads/master Commit: c0483959af72dc9905398dee40f51ca12d29eb99 Parents: c896fc1 Author: Keith TurnerAuthored: Thu Dec 15 18:48:32 2016 -0500 Committer: Keith Turner Committed: Fri Dec 16 12:39:31 2016 -0500 -- modules/api/pom.xml | 30 ++ modules/core/pom.xml | 34 ++ 2 files changed, 64 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/c0483959/modules/api/pom.xml -- diff --git a/modules/api/pom.xml b/modules/api/pom.xml index 290967a..823eb5d 100644 --- a/modules/api/pom.xml +++ b/modules/api/pom.xml @@ -54,6 +54,36 @@ + +org.apache.maven.plugins +maven-checkstyle-plugin + + +logging-impl-check + + check + + + + + + + + + + + + + true + + + + + net.revelc.code apilyzer-maven-plugin 1.0.1 http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/c0483959/modules/core/pom.xml -- diff --git a/modules/core/pom.xml b/modules/core/pom.xml index ec1526b..de20ac5 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -96,4 +96,38 @@ test + + + + +org.apache.maven.plugins +maven-checkstyle-plugin + + +logging-impl-check + + check + + + + + + + + + + + + + true + + + + + +
incubator-fluo git commit: fixes #803 added test to ColumnValue
Repository: incubator-fluo Updated Branches: refs/heads/master f977834b8 -> edbad3460 fixes #803 added test to ColumnValue Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/edbad346 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/edbad346 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/edbad346 Branch: refs/heads/master Commit: edbad3460a6e88d638a41f6cea959c16567a3d37 Parents: f977834 Author: Keith TurnerAuthored: Fri Dec 9 09:34:59 2016 -0500 Committer: Keith Turner Committed: Fri Dec 9 09:34:59 2016 -0500 -- .../apache/fluo/api/data/ColumnValueTest.java | 82 1 file changed, 82 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/edbad346/modules/api/src/test/java/org/apache/fluo/api/data/ColumnValueTest.java -- diff --git a/modules/api/src/test/java/org/apache/fluo/api/data/ColumnValueTest.java b/modules/api/src/test/java/org/apache/fluo/api/data/ColumnValueTest.java new file mode 100644 index 000..c88d8a3 --- /dev/null +++ b/modules/api/src/test/java/org/apache/fluo/api/data/ColumnValueTest.java @@ -0,0 +1,82 @@ +/* + * 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.api.data; + +import java.util.Arrays; + +import org.junit.Assert; +import org.junit.Test; + +public class ColumnValueTest { + + + + @Test + public void testEquals() { +Column c1 = new Column("f1", "q1"); +Column c2 = new Column("f2", "q1"); +Column c3 = new Column("f1", "q2"); +Column c4 = new Column("f2", "q2"); + +ColumnValue cv = new ColumnValue(c1, "v1"); + +Assert.assertEquals(cv, cv); +Assert.assertEquals(cv.hashCode(), cv.hashCode()); +Assert.assertEquals(new ColumnValue(c1, "v1"), cv); +Assert.assertEquals(new ColumnValue(c1, "v1").hashCode(), cv.hashCode()); +Assert.assertNotEquals(new ColumnValue(c1, "v2"), cv); +Assert.assertNotEquals(new ColumnValue(c1, "v2").hashCode(), cv.hashCode()); + +for (Column c : Arrays.asList(c2, c3, c4)) { + for (String v : Arrays.asList("v1", "v2")) { +ColumnValue ocv = new ColumnValue(c, v); +Assert.assertNotEquals(ocv, cv); +Assert.assertNotEquals(ocv.hashCode(), cv.hashCode()); + } +} + +Assert.assertNotEquals(cv, c1); +Assert.assertNotEquals(cv, "v1"); + } + + @Test + public void testCompare() { +Column c1 = new Column("f1", "q1"); +Column c2 = new Column("f2", "q1"); + +ColumnValue cv1 = new ColumnValue(c1, "v1"); +ColumnValue cv2 = new ColumnValue(c2, "v1"); +ColumnValue cv3 = new ColumnValue(c1, "v2"); +ColumnValue cv4 = new ColumnValue(c1, "v1"); + +Assert.assertTrue(cv1.compareTo(cv1) == 0); +Assert.assertTrue(cv1.compareTo(cv4) == 0); +Assert.assertTrue(cv1.compareTo(cv2) < 0); +Assert.assertTrue(cv2.compareTo(cv1) > 0); +Assert.assertTrue(cv1.compareTo(cv3) < 0); +Assert.assertTrue(cv3.compareTo(cv1) > 0); + } + + @Test + public void testGet() { +Column c1 = new Column("f1", "q1"); +ColumnValue cv1 = new ColumnValue(c1, "v1"); + +Assert.assertEquals("v1", cv1.getsValue()); +Assert.assertEquals("v1", cv1.getValue().toString()); +Assert.assertSame(c1, cv1.getColumn()); + } +}
incubator-fluo-website git commit: Jekyll build from gh-pages:a7d68d6
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site 44e069797 -> 94539eab2 Jekyll build from gh-pages:a7d68d6 bugfix in ex1 Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/94539eab Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/94539eab Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/94539eab Branch: refs/heads/asf-site Commit: 94539eab2717109e1325c821af8d170b3f03fa85 Parents: 44e0697 Author: Keith TurnerAuthored: Mon Dec 5 11:43:20 2016 -0500 Committer: Keith Turner Committed: Mon Dec 5 11:43:20 2016 -0500 -- feed.xml | 4 ++-- tour/exercise-1/index.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/94539eab/feed.xml -- diff --git a/feed.xml b/feed.xml index b9b0556..90af534 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Wed, 30 Nov 2016 02:06:59 + -Wed, 30 Nov 2016 02:06:59 + +Mon, 05 Dec 2016 16:43:17 + +Mon, 05 Dec 2016 16:43:17 + Jekyll v3.3.0 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/94539eab/tour/exercise-1/index.html -- diff --git a/tour/exercise-1/index.html b/tour/exercise-1/index.html index a45897b..87fda9c 100644 --- a/tour/exercise-1/index.html +++ b/tour/exercise-1/index.html @@ -637,7 +637,7 @@ following. wordCounter = new WordCounter(context.getAppConfiguration()); } - private void adjustCounts(TransactionBase tx, int delta, String[] words) { + private void adjustCounts(TransactionBase tx, int delta, ListString words) { wordCounter.adjustCounts(tx, delta, words); }
incubator-fluo-website git commit: bugfix in ex1
Repository: incubator-fluo-website Updated Branches: refs/heads/gh-pages e3a050345 -> a7d68d618 bugfix in ex1 Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/a7d68d61 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/a7d68d61 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/a7d68d61 Branch: refs/heads/gh-pages Commit: a7d68d618db3eb571859833f0461de2196f0b1cf Parents: e3a0503 Author: Keith TurnerAuthored: Tue Nov 29 21:20:48 2016 -0500 Committer: Keith Turner Committed: Tue Nov 29 21:20:48 2016 -0500 -- tour/exercise-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/a7d68d61/tour/exercise-1.md -- diff --git a/tour/exercise-1.md b/tour/exercise-1.md index abba332..8e3cd28 100644 --- a/tour/exercise-1.md +++ b/tour/exercise-1.md @@ -523,7 +523,7 @@ following. wordCounter = new WordCounter(context.getAppConfiguration()); } - private void adjustCounts(TransactionBase tx, int delta, String[] words) { + private void adjustCounts(TransactionBase tx, int delta, List words) { wordCounter.adjustCounts(tx, delta, words); } ```
incubator-fluo git commit: Added integration test for timestamp skipping iter (TSI). Also made TSI more robust to Accumulo changing in future.
Repository: incubator-fluo Updated Branches: refs/heads/master c896fc16b -> f977834b8 Added integration test for timestamp skipping iter (TSI). Also made TSI more robust to Accumulo changing in future. Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/f977834b Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/f977834b Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/f977834b Branch: refs/heads/master Commit: f977834b876133528a160b769427439282cb1d7c Parents: c896fc1 Author: Keith TurnerAuthored: Mon Nov 21 20:57:12 2016 -0500 Committer: Keith Turner Committed: Tue Nov 22 10:32:39 2016 -0500 -- .../iterators/TimestampSkippingIterator.java| 34 -- .../accumulo/Skip100StampsIterator.java | 106 +++ .../integration/accumulo/TimeskippingIT.java| 71 + 3 files changed, 205 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/f977834b/modules/accumulo/src/main/java/org/apache/fluo/accumulo/iterators/TimestampSkippingIterator.java -- diff --git a/modules/accumulo/src/main/java/org/apache/fluo/accumulo/iterators/TimestampSkippingIterator.java b/modules/accumulo/src/main/java/org/apache/fluo/accumulo/iterators/TimestampSkippingIterator.java index a09ac3b..ec2a83f 100644 --- a/modules/accumulo/src/main/java/org/apache/fluo/accumulo/iterators/TimestampSkippingIterator.java +++ b/modules/accumulo/src/main/java/org/apache/fluo/accumulo/iterators/TimestampSkippingIterator.java @@ -20,6 +20,7 @@ import java.lang.reflect.Field; import java.util.Collection; import java.util.Map; +import com.google.common.annotations.VisibleForTesting; import org.apache.accumulo.core.data.ByteSequence; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.PartialKey; @@ -50,9 +51,12 @@ public class TimestampSkippingIterator implements SortedKeyValueIterator source) { + public TimestampSkippingIterator(SortedKeyValueIterator source) { this.source = source; } @@ -78,7 +82,7 @@ public class TimestampSkippingIterator implements SortedKeyValueIterator iter, + private static boolean setParent(SortedKeyValueIterator iter, SortedKeyValueIterator newParent) { try { if (iter instanceof WrappingIterator) { Field field = WrappingIterator.class.getDeclaredField("source"); field.setAccessible(true); field.set(iter, newParent); +return true; } } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) { log.debug(e.getMessage(), e); } + +return false; } - private static void removeDeletingIterator(SortedKeyValueIterator source) { + private static boolean removeDeletingIterator(SortedKeyValueIterator source) { SortedKeyValueIterator prev = source; SortedKeyValueIterator parent = getParent(source); @@ -174,9 +181,21 @@ public class TimestampSkippingIterator implements SortedKeyValueIterator delParent = getParent(parent); if (delParent != null) { -setParent(prev, delParent); +return setParent(prev, delParent); } } + +return false; + } + + @VisibleForTesting + public final boolean shouldSeek() { +/* + * This method is a saftey check to ensure the deleting iterator was removed. If this iterator + * was not removed for some reason, then the performance of seeking will be O(N^2). In the case + * where its not removed, it would be better to just scan forward. + */ +return !hasSeeked || removedDeletingIterator
incubator-fluo-recipes git commit: fix bug in accumulo export docs
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master a6edddeed -> f724aa0e4 fix bug in accumulo export docs Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/f724aa0e Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/f724aa0e Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/f724aa0e Branch: refs/heads/master Commit: f724aa0e425a9f2d3b2d226b1058572b892b33f8 Parents: a6eddde Author: Keith TurnerAuthored: Tue Nov 29 21:45:40 2016 -0500 Committer: Keith Turner Committed: Tue Nov 29 21:45:40 2016 -0500 -- docs/accumulo-export-queue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/f724aa0e/docs/accumulo-export-queue.md -- diff --git a/docs/accumulo-export-queue.md b/docs/accumulo-export-queue.md index 00aadda..218e41e 100644 --- a/docs/accumulo-export-queue.md +++ b/docs/accumulo-export-queue.md @@ -72,7 +72,7 @@ Exporting to Accumulo is easy. Follow the steps below: String.class, String.class, numMapBuckets).setExporterConfiguration(exportTableCfg); // Configure export queue. This will modify fluoConfig. -ExportQueue.configure(fluoConfig, qeOpts); +ExportQueue.configure(fluoConfig, eqOpts); // Initialize Fluo using fluoConfig ```
incubator-fluo-website git commit: Jekyll build from gh-pages:e3a0503
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site 4c683d772 -> 44e069797 Jekyll build from gh-pages:e3a0503 Merge branch 'cfm-comment' into gh-pages Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/44e06979 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/44e06979 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/44e06979 Branch: refs/heads/asf-site Commit: 44e0697976a021e3a7dd8838cdb9035904ad6e3a Parents: 4c683d7 Author: Keith TurnerAuthored: Tue Nov 29 21:07:01 2016 -0500 Committer: Keith Turner Committed: Tue Nov 29 21:07:01 2016 -0500 -- feed.xml | 4 ++-- tour/exercise-1/index.html | 12 +++- 2 files changed, 5 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/44e06979/feed.xml -- diff --git a/feed.xml b/feed.xml index f1312b5..b9b0556 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Wed, 30 Nov 2016 00:22:42 + -Wed, 30 Nov 2016 00:22:42 + +Wed, 30 Nov 2016 02:06:59 + +Wed, 30 Nov 2016 02:06:59 + Jekyll v3.3.0 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/44e06979/tour/exercise-1/index.html -- diff --git a/tour/exercise-1/index.html b/tour/exercise-1/index.html index 3607c7f..a45897b 100644 --- a/tour/exercise-1/index.html +++ b/tour/exercise-1/index.html @@ -330,17 +330,10 @@ incremented. package ft; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import java.util.*; -import com.google.common.collect.ImmutableSet; 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.api.data.RowColumn; +import org.apache.fluo.api.data.*; import org.apache.fluo.api.observer.AbstractObserver; public class ContentObserver extends AbstractObserver { @@ -558,6 +551,7 @@ call them. } if(sum == 0) { +//returning emtpy will cause the CFM to delete the key in Fluo's table return Optional.empty(); } else { return Optional.of(sum);
incubator-fluo-website git commit: Jekyll build from gh-pages:31abb2c
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site a876793c1 -> 4c683d772 Jekyll build from gh-pages:31abb2c Update excercise 1 to add CFM and instructions on running in live instance. Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/4c683d77 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/4c683d77 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/4c683d77 Branch: refs/heads/asf-site Commit: 4c683d772d26d158c63382c526c6cbf79b963755 Parents: a876793 Author: Keith TurnerAuthored: Tue Nov 29 19:22:44 2016 -0500 Committer: Keith Turner Committed: Tue Nov 29 19:22:44 2016 -0500 -- feed.xml | 4 +- tour/exercise-1/index.html | 544 +--- tour/index.html| 2 +- 3 files changed, 394 insertions(+), 156 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/4c683d77/feed.xml -- diff --git a/feed.xml b/feed.xml index 5a6b903..f1312b5 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Mon, 14 Nov 2016 17:18:06 + -Mon, 14 Nov 2016 17:18:06 + +Wed, 30 Nov 2016 00:22:42 + +Wed, 30 Nov 2016 00:22:42 + Jekyll v3.3.0 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/4c683d77/tour/exercise-1/index.html -- diff --git a/tour/exercise-1/index.html b/tour/exercise-1/index.html index 7b37cd6..3607c7f 100644 --- a/tour/exercise-1/index.html +++ b/tour/exercise-1/index.html @@ -11,7 +11,7 @@ https://fluo.apache.org//tour/exercise-1/;> -Word count Exercise | Apache Fluo +Word counts for unique documents exercise | Apache Fluo https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"> @@ -107,7 +107,7 @@ - Fluo Tour: Word count Exercise + Fluo Tour: Word counts for unique documents exercise Tour page 19 of 26 @@ -250,11 +250,8 @@ column. //line. mini.waitForObservers(); -System.out.println(" begin table dump "); -try (Snapshot snap = client.newSnapshot()) { - snap.scanner().build().forEach(rcv - System.out.println(" " + rcv)); -} -System.out.println(" end table dump \n"); +FluoITHelper.printFluoTable(client); +System.out.println(); } private static void excercise(MiniFluo mini, FluoClient client) { @@ -267,46 +264,46 @@ column. Once the TODOs in the DocLoader class are implemented, running Main should print out the following. - begin table dump - d:a6c4d1f doc content Jebediah orbits Mun for 35 days. No power, forgot solar panels. - d:a6c4d1f doc refc 1 - d:a6c4d1f doc refs referenced - d:cf8ddc0 doc content Bill plans to rescue Jebediah after taking tourist to Minimus. - d:cf8ddc0 doc refc 1 - d:cf8ddc0 doc refs referenced - u:http://news.com/a23 uri hash a6c4d1f - u:http://news.com/a24 uri hash cf8ddc0 - end table dump - - begin table dump - d:a6c4d1f doc content Jebediah orbits Mun for 35 days. No power, forgot solar panels. - d:a6c4d1f doc refc 2 - d:a6c4d1f doc refs referenced - d:cf8ddc0 doc content Bill plans to rescue Jebediah after taking tourist to Minimus. - d:cf8ddc0 doc refc 1 - d:cf8ddc0 doc refs referenced - u:http://news.com/a23 uri hash a6c4d1f - u:http://news.com/a24 uri hash cf8ddc0 - u:http://oldnews.com/a23 uri hash a6c4d1f - end table dump - - begin table dump - d:2732ebc doc content Crisis at KSC. Tourist stuck at Minimus. Bill forgot solar panels. - d:2732ebc doc refc 1 - d:2732ebc doc refs referenced - d:6658252 doc content Jebediah orbits Mun for 38 days. No power, forgot solar panels. - d:6658252 doc refc 1 - d:6658252 doc refs referenced - d:a6c4d1f doc content Jebediah orbits Mun for 35 days. No power, forgot solar panels. - d:a6c4d1f doc refc 1 - d:a6c4d1f doc refs referenced - d:cf8ddc0 doc content Bill plans to rescue Jebediah after taking tourist to Minimus. - d:cf8ddc0 doc refc 0 - d:cf8ddc0 doc refs unreferenced - u:http://news.com/a23 uri hash 6658252 - u:http://news.com/a24 uri hash 2732ebc - u:http://oldnews.com/a23 uri hash a6c4d1f - end table dump +== fluo
incubator-fluo-website git commit: Add stuff from recipes needed for excercise 1 update
Repository: incubator-fluo-website Updated Branches: refs/heads/fluo-tour b09ad4946 -> f47047ab9 Add stuff from recipes needed for excercise 1 update Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/f47047ab Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/f47047ab Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/f47047ab Branch: refs/heads/fluo-tour Commit: f47047ab910ca5035dcd4e48d6bccb5e4c65c959 Parents: b09ad49 Author: Keith TurnerAuthored: Tue Nov 29 11:46:54 2016 -0500 Committer: Keith Turner Committed: Tue Nov 29 15:47:23 2016 -0500 -- pom.xml| 17 + src/main/java/ft/Main.java | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/f47047ab/pom.xml -- diff --git a/pom.xml b/pom.xml index 855b2e1..7cdbc50 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ UTF-8 1.7.2 1.0.0-incubating +1.0.0-incubating @@ -73,5 +74,21 @@ ${fluo.version} runtime + + org.apache.fluo + fluo-recipes-core + ${fluo-recipes.version} + + + org.apache.fluo + fluo-recipes-kryo + ${fluo-recipes.version} + runtime + + + org.apache.fluo + fluo-recipes-test + ${fluo-recipes.version} + http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/f47047ab/src/main/java/ft/Main.java -- diff --git a/src/main/java/ft/Main.java b/src/main/java/ft/Main.java index 9b0a7a2..a1a865d 100644 --- a/src/main/java/ft/Main.java +++ b/src/main/java/ft/Main.java @@ -13,6 +13,7 @@ import org.apache.fluo.api.config.*; import org.apache.fluo.api.data.*; import org.apache.fluo.api.mini.MiniFluo; import org.apache.fluo.api.observer.*; +import org.apache.fluo.recipes.test.FluoITHelper; public class Main { public static void main(String[] args) throws Exception { @@ -37,7 +38,7 @@ public class Main { } } - private static void preInit(FluoConfiguration fluoConfig) { + static void preInit(FluoConfiguration fluoConfig) { //this method does not need to be changed for earlier excercises in tour }
incubator-fluo git commit: Added some caching of string to bytes conversions for #800
Repository: incubator-fluo Updated Branches: refs/heads/master 25839df16 -> c896fc16b Added some caching of string to bytes conversions for #800 * Added some localized per transactions caching of string to bytes conversions * Optimized hashCode(), equals(), and compareTo() methods for data objects in API * Made transaction reuse passed in Bytes and Column objects when returning data * Optimized Bytes.toString() by weakly remembering the string that created it. Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/c896fc16 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/c896fc16 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/c896fc16 Branch: refs/heads/master Commit: c896fc16bb6ab0af4df9e26554516a70c1ffa302 Parents: 25839df Author: Keith TurnerAuthored: Wed Nov 16 19:32:22 2016 -0500 Committer: Keith Turner Committed: Thu Nov 17 14:45:10 2016 -0500 -- .../fluo/api/client/AbstractSnapshotBase.java | 38 ++- .../api/client/AbstractTransactionBase.java | 6 +- .../java/org/apache/fluo/api/data/Bytes.java| 36 +-- .../java/org/apache/fluo/api/data/Column.java | 18 +++- .../org/apache/fluo/api/data/ColumnValue.java | 16 ++- .../org/apache/fluo/api/data/RowColumn.java | 17 +++- .../apache/fluo/api/data/RowColumnValue.java| 12 ++- .../org/apache/fluo/api/data/BytesTest.java | 12 +++ .../org/apache/fluo/core/impl/Notification.java | 8 +- .../fluo/core/impl/ParallelSnapshotScanner.java | 18 +++- .../apache/fluo/core/impl/TransactionImpl.java | 16 ++- .../fluo/core/impl/scanner/CellScannerImpl.java | 38 +-- .../core/impl/scanner/ColumnScannerImpl.java| 14 +-- .../fluo/core/impl/scanner/RowScannerImpl.java | 15 ++- .../core/impl/scanner/ScannerBuilderImpl.java | 4 +- .../org/apache/fluo/core/util/ByteUtil.java | 4 + .../fluo/core/util/CachedBytesConverter.java| 48 + .../fluo/core/util/CachedColumnConverter.java | 100 +++ .../org/apache/fluo/core/util/ColumnUtil.java | 7 ++ .../org/apache/fluo/core/util/Flutation.java| 4 +- .../apache/fluo/integration/impl/ScannerIT.java | 39 21 files changed, 409 insertions(+), 61 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/c896fc16/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java b/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java index 30b325a..69780b2 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java +++ b/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java @@ -19,7 +19,9 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; import java.util.Set; +import java.util.WeakHashMap; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableSet; @@ -35,6 +37,33 @@ import org.apache.fluo.api.data.RowColumn; public abstract class AbstractSnapshotBase implements SnapshotBase { + /* + * This map of String to Bytes is really only useful when user code is executing a transactions. + * Once a transaction is queued for commit, do not want this map to eat up memory. Thats why a + * weak map is used. + * + * There is intentionally no reverse map from Bytes to String. Relying on two things for this. + * First, Bytes maintains a weak pointer to the string it was created with and returns this for + * toString(). Second, the actual Transaction implementation will under some circumstances return + * the Bytes object that was passed in. + */ + private Map s2bCache = new WeakHashMap (); + + Bytes s2bConv(CharSequence cs) { +Objects.requireNonNull(cs); +if (cs instanceof String) { + String s = (String) cs; + Bytes b = s2bCache.get(s); + if (b == null) { +b = Bytes.of(s); +s2bCache.put(s, b); + } + return b; +} else { + return Bytes.of(cs); +} + } + public Bytes get(Bytes row, Column column, Bytes defaultValue) { Bytes ret = get(row, column); if (ret == null) { @@ -59,8 +88,7 @@ public abstract class AbstractSnapshotBase implements SnapshotBase { public Map > gets(Collection rows, Set columns) { -Map > rcvs = -get(Collections2.transform(rows, s -> Bytes.of(s)), columns); +Map > rcvs =
[2/2] incubator-fluo git commit: fixes #801 corrected collision tracking
fixes #801 corrected collision tracking Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/25839df1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/25839df1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/25839df1 Branch: refs/heads/master Commit: 25839df1671608517b9a74b24aef575ec02567d7 Parents: 2e446e6 Author: Keith TurnerAuthored: Mon Nov 14 22:10:02 2016 -0500 Committer: Keith Turner Committed: Mon Nov 14 22:11:00 2016 -0500 -- .../org/apache/fluo/core/impl/TransactionImpl.java| 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/25839df1/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java b/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java index e2e6d32..07a14b4 100644 --- a/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java +++ b/modules/core/src/main/java/org/apache/fluo/core/impl/TransactionImpl.java @@ -381,14 +381,16 @@ public class TransactionImpl extends AbstractTransactionBase implements AsyncTra private Bytes pval; private HashSet acceptedRows; -private Map rejected = new HashMap<>(); +private Map rejected = null; private void addPrimaryToRejected() { rejected = Collections.singletonMap(prow, Collections.singleton(pcol)); } private void addToRejected(Bytes row, Set columns) { - rejected = new HashMap<>(); + if (rejected == null) { +rejected = new HashMap<>(); + } Set ret = rejected.put(row, columns); if (ret != null) { @@ -406,14 +408,14 @@ public class TransactionImpl extends AbstractTransactionBase implements AsyncTra @Override public String toString() { - return prow + " " + pcol + " " + pval + " " + rejected.size(); + return prow + " " + pcol + " " + pval + " " + getRejected().size(); } public String getShortCollisionMessage() { StringBuilder sb = new StringBuilder(); - if (rejected.size() > 0) { + if (getRejected().size() > 0) { int numCollisions = 0; -for (Set cols : rejected.values()) { +for (Set cols : getRejected().values()) { numCollisions += cols.size(); } @@ -422,7 +424,7 @@ public class TransactionImpl extends AbstractTransactionBase implements AsyncTra sb.append("):"); String sep = ""; -outer: for (Entry entry : rejected.entrySet()) { +outer: for (Entry entry : getRejected().entrySet()) { Bytes row = entry.getKey(); for (Column col : entry.getValue()) { sb.append(sep);
[1/2] incubator-fluo git commit: fixes #785 Added meaningful message to commit exception
Repository: incubator-fluo Updated Branches: refs/heads/master efee307c5 -> 25839df16 fixes #785 Added meaningful message to commit exception Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/2e446e6c Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/2e446e6c Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/2e446e6c Branch: refs/heads/master Commit: 2e446e6c10731e3446bb8c4e84d157ea265a2730 Parents: efee307 Author: Keith TurnerAuthored: Mon Nov 14 21:15:32 2016 -0500 Committer: Keith Turner Committed: Mon Nov 14 22:10:24 2016 -0500 -- .../fluo/core/async/AsyncCommitObserver.java| 2 +- .../apache/fluo/core/async/CommitManager.java | 4 +- .../fluo/core/async/SyncCommitObserver.java | 6 ++- .../core/client/LoaderExecutorAsyncImpl.java| 2 +- .../apache/fluo/core/impl/TransactionImpl.java | 39 ++-- .../fluo/core/log/TracingTransaction.java | 4 +- .../apache/fluo/core/worker/WorkTaskAsync.java | 2 +- 7 files changed, 47 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/2e446e6c/modules/core/src/main/java/org/apache/fluo/core/async/AsyncCommitObserver.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/core/async/AsyncCommitObserver.java b/modules/core/src/main/java/org/apache/fluo/core/async/AsyncCommitObserver.java index 6a1e2ed..4e78f60 100644 --- a/modules/core/src/main/java/org/apache/fluo/core/async/AsyncCommitObserver.java +++ b/modules/core/src/main/java/org/apache/fluo/core/async/AsyncCommitObserver.java @@ -41,6 +41,6 @@ public interface AsyncCommitObserver { /** * Called when async commit of a transaction fails because it overlapped with another transaction */ - void commitFailed(); + void commitFailed(String msg); } http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/2e446e6c/modules/core/src/main/java/org/apache/fluo/core/async/CommitManager.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/core/async/CommitManager.java b/modules/core/src/main/java/org/apache/fluo/core/async/CommitManager.java index 67f465c..403fb66 100644 --- a/modules/core/src/main/java/org/apache/fluo/core/async/CommitManager.java +++ b/modules/core/src/main/java/org/apache/fluo/core/async/CommitManager.java @@ -112,9 +112,9 @@ public class CommitManager { } @Override -public void commitFailed() { +public void commitFailed(String msg) { try { -aco.commitFailed(); +aco.commitFailed(msg); } finally { finish(TxResult.COMMIT_EXCEPTION); } http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/2e446e6c/modules/core/src/main/java/org/apache/fluo/core/async/SyncCommitObserver.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/core/async/SyncCommitObserver.java b/modules/core/src/main/java/org/apache/fluo/core/async/SyncCommitObserver.java index 2053c99..314859e 100644 --- a/modules/core/src/main/java/org/apache/fluo/core/async/SyncCommitObserver.java +++ b/modules/core/src/main/java/org/apache/fluo/core/async/SyncCommitObserver.java @@ -27,6 +27,7 @@ public class SyncCommitObserver implements AsyncCommitObserver { private volatile boolean committed = false; private volatile boolean aacked = false; private volatile Exception error = null; + private volatile String commitFailMsg = ""; @Override public void committed() { @@ -47,8 +48,9 @@ public class SyncCommitObserver implements AsyncCommitObserver { } @Override - public void commitFailed() { + public void commitFailed(String msg) { committed = false; +commitFailMsg = msg; cdl.countDown(); } @@ -65,7 +67,7 @@ public class SyncCommitObserver implements AsyncCommitObserver { } else if (aacked) { throw new AlreadyAcknowledgedException(); } else if (!committed) { - throw new CommitException(); + throw new CommitException(commitFailMsg); } } } http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/2e446e6c/modules/core/src/main/java/org/apache/fluo/core/client/LoaderExecutorAsyncImpl.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/core/client/LoaderExecutorAsyncImpl.java b/modules/core/src/main/java/org/apache/fluo/core/client/LoaderExecutorAsyncImpl.java index be375c6..ad36fd2 100644 --- a/modules/core/src/main/java/org/apache/fluo/core/client/LoaderExecutorAsyncImpl.java +++
[2/2] incubator-fluo git commit: Merge remote-tracking branch 'origin/fluo-425'
Merge remote-tracking branch 'origin/fluo-425' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/efee307c Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/efee307c Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/efee307c Branch: refs/heads/master Commit: efee307c50108d7ad667d6f1d673a42e6d13091e Parents: b568681 b0fbeff Author: Keith TurnerAuthored: Mon Nov 14 17:40:16 2016 -0500 Committer: Keith Turner Committed: Mon Nov 14 17:40:16 2016 -0500 -- docs/applications.md| 7 +- .../fluo/api/config/SimpleConfiguration.java| 2 - .../fluo/core/log/TracingCellScanner.java | 51 ++ .../fluo/core/log/TracingColumnScanner.java | 64 .../apache/fluo/core/log/TracingRowScanner.java | 42 + .../fluo/core/log/TracingScannerBuilder.java| 103 .../fluo/core/log/TracingTransaction.java | 4 +- .../java/org/apache/fluo/core/util/Hex.java | 22 +++ .../fluo/core/worker/ObserverContext.java | 1 - .../fluo/integration/impl/ObserverConfigIT.java | 1 - .../org/apache/fluo/integration/log/LogIT.java | 160 ++- 11 files changed, 443 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/efee307c/docs/applications.md --
incubator-fluo-website git commit: Jekyll build from gh-pages:e31d7c8
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site bc5bfd431 -> ecf039705 Jekyll build from gh-pages:e31d7c8 Blog post about immutable bytes Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/ecf03970 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/ecf03970 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/ecf03970 Branch: refs/heads/asf-site Commit: ecf039705ad98d56b5eb547a9433b7bb23ea23d4 Parents: bc5bfd4 Author: Keith TurnerAuthored: Thu Nov 10 15:43:36 2016 -0500 Committer: Keith Turner Committed: Thu Nov 10 15:43:36 2016 -0500 -- blog/2014/12/30/stress-test-long-run/index.html | 8 +- .../22/fluo-talk-at-accumulo-summit/index.html | 8 +- .../beta-2-pre-release-stress-test/index.html | 8 +- blog/2016/01/11/webindex-long-run/index.html| 8 +- blog/2016/05/17/webindex-long-run-2/index.html | 8 +- .../2016/06/02/fluo-moving-to-apache/index.html | 8 +- blog/2016/11/10/immutable-bytes/index.html | 322 + feed.xml| 351 +++ index.html | 10 +- news/index.html | 8 + 10 files changed, 571 insertions(+), 168 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/ecf03970/blog/2014/12/30/stress-test-long-run/index.html -- diff --git a/blog/2014/12/30/stress-test-long-run/index.html b/blog/2014/12/30/stress-test-long-run/index.html index e929971..c975d2b 100644 --- a/blog/2014/12/30/stress-test-long-run/index.html +++ b/blog/2014/12/30/stress-test-long-run/index.html @@ -104,8 +104,12 @@ - First long stress test run on Fluo - 30 Dec 2014 + First long stress test run on Fluo + + + +30 Dec 2014 + https://twitter.com/intent/tweet?text=First long stress test run on Fluo=https://fluo.apache.org//blog/2014/12/30/stress-test-long-run/=ApacheFluo=ApacheFluo; rel="nofollow" target="_blank" title="Share on Twitter">Twitter http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/ecf03970/blog/2015/05/22/fluo-talk-at-accumulo-summit/index.html -- diff --git a/blog/2015/05/22/fluo-talk-at-accumulo-summit/index.html b/blog/2015/05/22/fluo-talk-at-accumulo-summit/index.html index fc08031..b89b08a 100644 --- a/blog/2015/05/22/fluo-talk-at-accumulo-summit/index.html +++ b/blog/2015/05/22/fluo-talk-at-accumulo-summit/index.html @@ -104,8 +104,12 @@ - Fluo talk at Accumulo Summit - 22 May 2015 + Fluo talk at Accumulo Summit + + + +22 May 2015 + https://twitter.com/intent/tweet?text=Fluo talk at Accumulo Summit=https://fluo.apache.org//blog/2015/05/22/fluo-talk-at-accumulo-summit/=ApacheFluo=ApacheFluo; rel="nofollow" target="_blank" title="Share on Twitter">Twitter http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/ecf03970/blog/2015/12/22/beta-2-pre-release-stress-test/index.html -- diff --git a/blog/2015/12/22/beta-2-pre-release-stress-test/index.html b/blog/2015/12/22/beta-2-pre-release-stress-test/index.html index c19d059..224176e 100644 --- a/blog/2015/12/22/beta-2-pre-release-stress-test/index.html +++ b/blog/2015/12/22/beta-2-pre-release-stress-test/index.html @@ -104,8 +104,12 @@ - Beta 2 pre-release stress test - 22 Dec 2015 + Beta 2 pre-release stress test + + + +22 Dec 2015 + https://twitter.com/intent/tweet?text=Beta 2 pre-release stress test=https://fluo.apache.org//blog/2015/12/22/beta-2-pre-release-stress-test/=ApacheFluo=ApacheFluo; rel="nofollow" target="_blank" title="Share on Twitter">Twitter http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/ecf03970/blog/2016/01/11/webindex-long-run/index.html -- diff --git a/blog/2016/01/11/webindex-long-run/index.html b/blog/2016/01/11/webindex-long-run/index.html index 8cefdf9..efeee26 100644 --- a/blog/2016/01/11/webindex-long-run/index.html +++ b/blog/2016/01/11/webindex-long-run/index.html @@ -104,8 +104,12 @@ - Running Webindex for 3 days on EC2 - 11 Jan 2016 + Running Webindex for 3 days on EC2 + + + +11 Jan 2016 + https://twitter.com/intent/tweet?text=Running Webindex for 3 days on
incubator-fluo-website git commit: Blog post about immutable bytes
Repository: incubator-fluo-website Updated Branches: refs/heads/gh-pages 77528d838 -> e31d7c810 Blog post about immutable bytes Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/e31d7c81 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/e31d7c81 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/e31d7c81 Branch: refs/heads/gh-pages Commit: e31d7c810c0dee5b774c56756d79cca3ef0be388 Parents: 77528d8 Author: Keith TurnerAuthored: Thu Nov 10 15:39:31 2016 -0500 Committer: Keith Turner Committed: Thu Nov 10 15:41:43 2016 -0500 -- _layouts/post.html| 8 +- _posts/blog/2016-11-09-immutable-bytes.md | 193 + 2 files changed, 199 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/e31d7c81/_layouts/post.html -- diff --git a/_layouts/post.html b/_layouts/post.html index f61a0dc..82c56b4 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -2,8 +2,12 @@ layout: default --- - {{ page.title }} - {{ page.date | date_to_string }} + {{ page.title }} + +{% if page.author %} Author : {{ page.author }} {% endif %} +{% if page.reviewers %} Reviewer(s) : {{ page.reviewers }} {% endif %} +{{ page.date | date_to_string }} + https://twitter.com/intent/tweet?text={{ page.title }}={{ site.url }}{{ page.url }}={{ site.twitter_username }}={{ site.twitter_username }}" rel="nofollow" target="_blank" title="Share on Twitter">Twitter http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/e31d7c81/_posts/blog/2016-11-09-immutable-bytes.md -- diff --git a/_posts/blog/2016-11-09-immutable-bytes.md b/_posts/blog/2016-11-09-immutable-bytes.md new file mode 100644 index 000..78baaa8 --- /dev/null +++ b/_posts/blog/2016-11-09-immutable-bytes.md @@ -0,0 +1,193 @@ +--- +title: "Java needs an immutable byte string" +date: 2016-11-10 11:43:00 + +author: Keith Turner +reviewers: Christopher Tubbs, Mike Walch +--- + +## Fluo Data Model and Transactions + +Fluo uses a [data model][dm] composed of key/values. Each key has four fields : +*row*,*family*,*qualifier*,*visibility*. Each of these key fields is a sequence of bytes. Fluo +transactions read key/values from a snapshot of a table. Any changes a transaction makes is +buffered until commit. At the time of commit the changes are only made if no other transaction +modified any of the key values. + +While designing the Fluo API we were uncertain about making Fluo's basic [POJOs] mutable or +immutable. In the end we decided to go with immutable types to make writing correct Fluo code +easier. One of the POJOs we created was [Bytes], an immutable wrapper around a byte array. We +also created [BytesBuilder], which is analagous to StringBuilder, and makes it easy and efficient +to construct Bytes. + +### What about the copies? + +Bytes requires a defensive copy at creation time. When we were designing Fluo's API we were worried +about this at first. However a simple truth became apparent. If the API took a mutable type, then +all boundary points between the user and Fluo would require defensive copies. For example assume +Fluo's API took byte arrays and consider the following code. + +```java +//A Fluo transaction +Transaction tx = ... +byte[] row = ... + +tx.set(row, column1, value1); +tx.set(row, column2, value2); +tx.set(row, column3, value3); +``` + +Fluo will buffer changes until a transaction is committed. In the example above since Fluo accepts +a mutable row, it would be prudent to do a defensive copy each time `set()` is called above. + +In the code below where an immutable byte array wrapper is used, the calls to `set()` do not need to +do a defensive copy. So when comparing the two examples, the immutable byte wrapper results in less +defensive copies. + +```java +//A Fluo transaction +Transaction tx = ... +Bytes row = ... + +tx.set(row, column1, value1); +tx.set(row, column2, value2); +tx.set(row, column3, value3); +``` + +We really did not want to create Bytes and BytesBuilder types, however we could not find what we +needed in Java's standard libraries. The following sections discuss some of the options we +considered. + +## Why not use String? + +Java's String type is an immutable wrapper around a char array. In order to store a byte array in a +String, Java must decode the byte array using a character set. Some sequences of bytes do not map +in some characters sets. Therefore, trying to stuff arbitrary binary data in a String
[1/2] incubator-fluo-website git commit: Jekyll build from gh-pages:77528d8
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site fe707267b -> bc5bfd431 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/bc5bfd43/release/fluo-1.0.0-beta-1/index.html -- diff --git a/release/fluo-1.0.0-beta-1/index.html b/release/fluo-1.0.0-beta-1/index.html index f2da1d6..1b81268 100644 --- a/release/fluo-1.0.0-beta-1/index.html +++ b/release/fluo-1.0.0-beta-1/index.html @@ -29,6 +29,23 @@ +window.twttr = (function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0], +t = window.twttr || {}; + if (d.getElementById(id)) return t; + js = d.createElement(s); + js.id = id; + js.src = "https://platform.twitter.com/widgets.js"; + fjs.parentNode.insertBefore(js, fjs); + + t._e = []; + t.ready = function(f) { +t._e.push(f); + }; + + return t; +}(document, "script", "twitter-wjs")); + @@ -87,8 +104,9 @@ - Fluo 1.0.0-beta-1 released + Fluo 1.0.0-beta-1 released 09 Jun 2015 + https://twitter.com/intent/tweet?text=Fluo 1.0.0-beta-1 released=https://fluo.apache.org//release/fluo-1.0.0-beta-1/=ApacheFluo=ApacheFluo; rel="nofollow" target="_blank" title="Share on Twitter">Twitter @@ -236,10 +254,8 @@ ballpark. - - - All releases can be found in the release archive + View all releases in the release archive http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/bc5bfd43/release/fluo-1.0.0-beta-2/index.html -- diff --git a/release/fluo-1.0.0-beta-2/index.html b/release/fluo-1.0.0-beta-2/index.html index 8e3a5f7..f5e74bb 100644 --- a/release/fluo-1.0.0-beta-2/index.html +++ b/release/fluo-1.0.0-beta-2/index.html @@ -29,6 +29,23 @@ +window.twttr = (function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0], +t = window.twttr || {}; + if (d.getElementById(id)) return t; + js = d.createElement(s); + js.id = id; + js.src = "https://platform.twitter.com/widgets.js"; + fjs.parentNode.insertBefore(js, fjs); + + t._e = []; + t.ready = function(f) { +t._e.push(f); + }; + + return t; +}(document, "script", "twitter-wjs")); + @@ -87,8 +104,9 @@ - Fluo 1.0.0-beta-2 released + Fluo 1.0.0-beta-2 released 12 Jan 2016 + https://twitter.com/intent/tweet?text=Fluo 1.0.0-beta-2 released=https://fluo.apache.org//release/fluo-1.0.0-beta-2/=ApacheFluo=ApacheFluo; rel="nofollow" target="_blank" title="Share on Twitter">Twitter @@ -231,10 +249,8 @@ made. The following API changes happened between beta-1 and beta-2. - - - All releases can be found in the release archive + View all releases in the release archive http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/bc5bfd43/release/fluo-1.0.0-incubating/index.html -- diff --git a/release/fluo-1.0.0-incubating/index.html b/release/fluo-1.0.0-incubating/index.html index 8bb9526..014d1a8 100644 --- a/release/fluo-1.0.0-incubating/index.html +++ b/release/fluo-1.0.0-incubating/index.html @@ -29,6 +29,23 @@ +window.twttr = (function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0], +t = window.twttr || {}; + if (d.getElementById(id)) return t; + js = d.createElement(s); + js.id = id; + js.src = "https://platform.twitter.com/widgets.js"; + fjs.parentNode.insertBefore(js, fjs); + + t._e = []; + t.ready = function(f) { +t._e.push(f); + }; + + return t; +}(document, "script", "twitter-wjs")); + @@ -87,8 +104,9 @@ - Apache Fluo 1.0.0-incubating released + Apache Fluo 1.0.0-incubating released 14 Oct 2016 + https://twitter.com/intent/tweet?text=Apache Fluo 1.0.0-incubating released=https://fluo.apache.org//release/fluo-1.0.0-incubating/=ApacheFluo=ApacheFluo; rel="nofollow" target="_blank" title="Share on Twitter">Twitter @@ -210,10 +228,8 @@ day run of Webindex was conducted. - - - All releases can be found in the release archive + View all releases in the release archive http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/bc5bfd43/release/fluo-recipes-1.0.0-beta-1/index.html -- diff --git a/release/fluo-recipes-1.0.0-beta-1/index.html b/release/fluo-recipes-1.0.0-beta-1/index.html index f16d6b6..ba66cbf 100644 --- a/release/fluo-recipes-1.0.0-beta-1/index.html +++ b/release/fluo-recipes-1.0.0-beta-1/index.html @@ -29,6 +29,23 @@ +window.twttr =
[2/2] incubator-fluo-website git commit: Jekyll build from gh-pages:77528d8
Jekyll build from gh-pages:77528d8 #40 - Minor code review updates Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/bc5bfd43 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/bc5bfd43 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/bc5bfd43 Branch: refs/heads/asf-site Commit: bc5bfd431f023ede58f5f068ec90da3ccd82c075 Parents: fe70726 Author: Keith TurnerAuthored: Tue Nov 8 12:16:46 2016 -0500 Committer: Keith Turner Committed: Tue Nov 8 12:16:46 2016 -0500 -- 404.html| 17 ++ api/archive/index.html | 17 ++ api/index.html | 17 ++ blog/2014/12/30/stress-test-long-run/index.html | 20 +++- .../22/fluo-talk-at-accumulo-summit/index.html | 20 +++- .../beta-2-pre-release-stress-test/index.html | 20 +++- blog/2016/01/11/webindex-long-run/index.html| 20 +++- blog/2016/05/17/webindex-long-run-2/index.html | 20 +++- .../2016/06/02/fluo-moving-to-apache/index.html | 20 +++- docs/archive/index.html | 17 ++ docs/fluo-recipes/1.0.0-beta-1/cfm/index.html | 17 ++ .../1.0.0-beta-1/export-queue/index.html| 17 ++ docs/fluo-recipes/1.0.0-beta-1/index.html | 17 ++ .../1.0.0-beta-1/recording-tx/index.html| 17 ++ .../1.0.0-beta-1/serialization/index.html | 17 ++ .../1.0.0-beta-1/table-optimization/index.html | 17 ++ .../1.0.0-beta-1/transient/index.html | 17 ++ .../1.0.0-beta-2/accumulo-export/index.html | 17 ++ docs/fluo-recipes/1.0.0-beta-2/cfm/index.html | 17 ++ .../1.0.0-beta-2/export-queue/index.html| 17 ++ docs/fluo-recipes/1.0.0-beta-2/index.html | 17 ++ .../1.0.0-beta-2/recording-tx/index.html| 17 ++ .../1.0.0-beta-2/row-hasher/index.html | 17 ++ .../1.0.0-beta-2/serialization/index.html | 17 ++ .../1.0.0-beta-2/table-optimization/index.html | 17 ++ .../1.0.0-beta-2/testing/index.html | 17 ++ .../1.0.0-beta-2/transient/index.html | 17 ++ .../accumulo-export-queue/index.html| 17 ++ .../1.0.0-incubating/cfm/index.html | 17 ++ .../1.0.0-incubating/export-queue/index.html| 17 ++ docs/fluo-recipes/1.0.0-incubating/index.html | 17 ++ .../1.0.0-incubating/recording-tx/index.html| 17 ++ .../1.0.0-incubating/row-hasher/index.html | 17 ++ .../1.0.0-incubating/serialization/index.html | 17 ++ .../table-optimization/index.html | 17 ++ .../1.0.0-incubating/testing/index.html | 17 ++ .../1.0.0-incubating/transient/index.html | 17 ++ docs/fluo/1.0.0-alpha-1/index.html | 17 ++ docs/fluo/1.0.0-alpha-1/stress/index.html | 17 ++ docs/fluo/1.0.0-beta-1/applications/index.html | 17 ++ docs/fluo/1.0.0-beta-1/architecture/index.html | 17 ++ docs/fluo/1.0.0-beta-1/contributing/index.html | 17 ++ docs/fluo/1.0.0-beta-1/index.html | 17 ++ docs/fluo/1.0.0-beta-1/metrics/index.html | 17 ++ .../1.0.0-beta-1/mini-fluo-setup/index.html | 17 ++ .../1.0.0-beta-1/prod-fluo-setup/index.html | 17 ++ docs/fluo/1.0.0-beta-2/applications/index.html | 17 ++ docs/fluo/1.0.0-beta-2/architecture/index.html | 17 ++ docs/fluo/1.0.0-beta-2/contributing/index.html | 17 ++ docs/fluo/1.0.0-beta-2/grafana/index.html | 17 ++ docs/fluo/1.0.0-beta-2/index.html | 17 ++ docs/fluo/1.0.0-beta-2/metrics/index.html | 17 ++ .../1.0.0-beta-2/mini-fluo-setup/index.html | 17 ++ .../1.0.0-beta-2/prod-fluo-setup/index.html | 17 ++ .../1.0.0-incubating/applications/index.html| 17 ++ .../1.0.0-incubating/architecture/index.html| 17 ++ .../1.0.0-incubating/contributing/index.html| 17 ++ docs/fluo/1.0.0-incubating/grafana/index.html | 17 ++ docs/fluo/1.0.0-incubating/index.html | 17 ++ docs/fluo/1.0.0-incubating/install/index.html | 17 ++ docs/fluo/1.0.0-incubating/metrics/index.html | 17 ++ docs/index.html
[2/2] incubator-fluo-website git commit: #40 - Minor code review updates
#40 - Minor code review updates Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/77528d83 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/77528d83 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/77528d83 Branch: refs/heads/gh-pages Commit: 77528d838c89e17b146e0949cb20bbd9aca15251 Parents: ff477eb Author: Mike WalchAuthored: Tue Nov 8 11:58:28 2016 -0500 Committer: Mike Walch Committed: Tue Nov 8 11:58:28 2016 -0500 -- _layouts/release.html | 6 ++ index.html| 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/77528d83/_layouts/release.html -- diff --git a/_layouts/release.html b/_layouts/release.html index b96509a..b1f37d4 100644 --- a/_layouts/release.html +++ b/_layouts/release.html @@ -3,8 +3,8 @@ layout: default --- {{ page.title }} - https://twitter.com/intent/tweet?text={{ page.title }}={{ site.url }}{{ page.url }}={{ site.twitter_username }}={{ site.twitter_username }}" rel="nofollow" target="_blank" title="Share on Twitter">Twitter {{ page.date | date_to_string }} + https://twitter.com/intent/tweet?text={{ page.title }}={{ site.url }}{{ page.url }}={{ site.twitter_username }}={{ site.twitter_username }}" rel="nofollow" target="_blank" title="Share on Twitter">Twitter {% if page.historical %} @@ -15,8 +15,6 @@ layout: default {{ content }} - - - All releases can be found in the release archive + View all releases in the release archive http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/77528d83/index.html -- diff --git a/index.html b/index.html index 1402471..301a3f2 100644 --- a/index.html +++ b/index.html @@ -7,8 +7,8 @@ html_title_override: true Apache Fluo lets users make incremental updates to large data sets stored in Apache Accumulo Download - https://github.com/apache/incubator-fluo; target="_blank" class="btn btn-primary btn-sm navbar-btn">View on Github - https://twitter.com/apachefluo; target="_blank" class="btn btn-primary btn-sm navbar-btn">Follow + https://github.com/apache/incubator-fluo; target="_blank" class="btn btn-default btn-sm navbar-btn"> GitHub + https://twitter.com/apachefluo; target="_blank" class="btn btn-primary btn-sm navbar-btn"> Follow Overview Apache Fluo (incubating) is an open source implementation of https://research.google.com/pubs/pub36726.html; target="_blank">Percolator
incubator-fluo git commit: Use faster byte comparison
Repository: incubator-fluo Updated Branches: refs/heads/master 389d00700 -> 8e08d89a5 Use faster byte comparison Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/8e08d89a Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/8e08d89a Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/8e08d89a Branch: refs/heads/master Commit: 8e08d89a50928a6757c0e8db90c6fb36e4a47eda Parents: 389d007 Author: Keith TurnerAuthored: Tue Nov 8 08:18:25 2016 -0500 Committer: Keith Turner Committed: Tue Nov 8 08:18:25 2016 -0500 -- .../java/org/apache/fluo/api/data/Bytes.java| 23 +++-- .../org/apache/fluo/api/data/BytesTest.java | 27 2 files changed, 42 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/8e08d89a/modules/api/src/main/java/org/apache/fluo/api/data/Bytes.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/Bytes.java b/modules/api/src/main/java/org/apache/fluo/api/data/Bytes.java index 2902772..89b111b 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/Bytes.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/Bytes.java @@ -29,6 +29,7 @@ import java.util.Arrays; import java.util.Objects; import com.google.common.base.Preconditions; +import com.google.common.primitives.UnsignedBytes; /** * Represents bytes in Fluo. Bytes is an immutable wrapper around a byte array. Bytes always copies @@ -155,7 +156,7 @@ public final class Bytes implements Comparable, Serializable { } public void writeTo(OutputStream out) throws IOException { -// since Bytes is immutable, its important the we do not let the internal byte array escape +// since Bytes is immutable, its important that we do not let the internal byte array escape if (length <= 32) { int end = offset + length; for (int i = offset; i < end; i++) { @@ -177,17 +178,23 @@ public final class Bytes implements Comparable, Serializable { */ @Override public final int compareTo(Bytes other) { -int minLen = Math.min(this.length(), other.length()); +if (this == other) { + return 0; +} else if (this.length == this.data.length && other.length == other.data.length) { + return UnsignedBytes.lexicographicalComparator().compare(this.data, other.data); +} else { + int minLen = Math.min(this.length(), other.length()); -for (int i = 0; i < minLen; i++) { - int a = (this.byteAt(i) & 0xff); - int b = (other.byteAt(i) & 0xff); + for (int i = 0; i < minLen; i++) { +int a = (this.byteAt(i) & 0xff); +int b = (other.byteAt(i) & 0xff); - if (a != b) { -return a - b; +if (a != b) { + return a - b; +} } + return this.length() - other.length(); } -return this.length() - other.length(); } /** http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/8e08d89a/modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java -- diff --git a/modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java b/modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java index 641c9bf..720a1a3 100644 --- a/modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java +++ b/modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java @@ -86,10 +86,37 @@ public class BytesTest { Assert.assertEquals(-1, b1.compareTo(b2)); Assert.assertEquals(1, b2.compareTo(b1)); Assert.assertEquals(0, b1.compareTo(b3)); +Assert.assertEquals(0, b1.compareTo(b1)); Assert.assertEquals(1, b1.compareTo(Bytes.EMPTY)); } @Test + public void testCompareSubsequence() { +Bytes b1 = Bytes.of("abcd"); +Bytes b2 = b1.subSequence(0, 3); +Bytes b3 = Bytes.of("abc"); +Bytes b4 = Bytes.of("~abcde"); +Bytes b5 = b4.subSequence(1, 4); +Bytes b6 = b4.subSequence(1, 5); + +for (Bytes ba : Arrays.asList(b2, b3, b5, b1.subSequence(0, 3))) { + for (Bytes bb : Arrays.asList(b2, b3, b5)) { +Assert.assertEquals(0, ba.compareTo(bb)); + } +} + +Assert.assertEquals(1, b1.compareTo(b2)); +Assert.assertEquals(-1, b2.compareTo(b1)); + +for (Bytes less : Arrays.asList(b2, b3, b5)) { + for (Bytes greater : Arrays.asList(b1, b4, b6)) { +Assert.assertTrue(less.compareTo(greater) < 0); +Assert.assertTrue(greater.compareTo(less) > 0); + } +} + } + + @Test public void testToByteBuffer() { Bytes b1 = Bytes.of("fluofluo"); ByteBuffer buffer = b1.toByteBuffer();
incubator-fluo-website git commit: Jekyll build from gh-pages:ac6b75b
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site a029bb90b -> fe707267b Jekyll build from gh-pages:ac6b75b Minor updates to Fluo Tour Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/fe707267 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/fe707267 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/fe707267 Branch: refs/heads/asf-site Commit: fe707267b0fe0e088b5b906255bdba5b5d2075f2 Parents: a029bb9 Author: Keith TurnerAuthored: Tue Nov 8 06:58:05 2016 -0500 Committer: Keith Turner Committed: Tue Nov 8 06:58:05 2016 -0500 -- feed.xml | 4 ++-- tour/exercise-1/index.html | 8 ++-- tour/index.html| 4 +++- 3 files changed, 11 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/fe707267/feed.xml -- diff --git a/feed.xml b/feed.xml index cd813d8..b509019 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Fri, 28 Oct 2016 19:43:51 + -Fri, 28 Oct 2016 19:43:51 + +Tue, 08 Nov 2016 11:58:02 + +Tue, 08 Nov 2016 11:58:02 + Jekyll v3.2.1 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/fe707267/tour/exercise-1/index.html -- diff --git a/tour/exercise-1/index.html b/tour/exercise-1/index.html index fe76b3f..7d42bdb 100644 --- a/tour/exercise-1/index.html +++ b/tour/exercise-1/index.html @@ -94,9 +94,12 @@ Tour page 19 of 26 - This excercise gives you an opportunity to use everything you have learned so + This exercise gives you an opportunity to use everything you have learned so far to attempt writing a simple Fluo application. A bare minimum of code, -along with a conceptual sketch of a solution, is provided to get you started. +along with a conceptual sketch of a solution, is provided to get you started. +After completing this exercise, consider tweeting a link to your solution to +https://twitter.com/hashtag/apachefluotour;>#apachefluotour. If you have time, try to complete the exercise before +looking at the solutions. The application should compute word counts for unique documents. This application should do the following. @@ -501,6 +504,7 @@ observer as follows. these collisions is to use the CollisionFreeMap provided in Fluo Recipes. Currently Fluo Recipes is not released, this section will be updated with more information once it is. +
incubator-fluo-recipes git commit: fix link in docs
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master 4debb8b79 -> 240a78ad3 fix link in docs Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/240a78ad Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/240a78ad Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/240a78ad Branch: refs/heads/master Commit: 240a78ad311c17ac5e6f6b156606f6ec7d714370 Parents: 4debb8b Author: Keith TurnerAuthored: Fri Oct 28 11:34:50 2016 -0400 Committer: Keith Turner Committed: Fri Oct 28 11:34:50 2016 -0400 -- docs/accumulo-export-queue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/240a78ad/docs/accumulo-export-queue.md -- diff --git a/docs/accumulo-export-queue.md b/docs/accumulo-export-queue.md index 8b4bf39..00aadda 100644 --- a/docs/accumulo-export-queue.md +++ b/docs/accumulo-export-queue.md @@ -107,5 +107,5 @@ Exporting to Accumulo is easy. Follow the steps below: [1]: export-queue.md [AccumuloExporter]: ../modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java -[AccumuloReplicator]: ../modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/DifferenceExport.java +[AccumuloReplicator]: ../modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloReplicator.java
[incubator-fluo-recipes] Git Push Summary
Repository: incubator-fluo-recipes Updated Branches: refs/heads/1.0.0-incubating-rc0 [deleted] 2eb367e17
[incubator-fluo-recipes] Git Push Summary
Repository: incubator-fluo-recipes Updated Branches: refs/heads/1.0.0-incubating-rc1-next [deleted] de7bee53d
[incubator-fluo-recipes] Git Push Summary
Repository: incubator-fluo-recipes Updated Tags: refs/tags/rel/fluo-recipes-1.0.0-incubating [created] a40a41e50
[2/3] incubator-fluo-recipes git commit: [maven-release-plugin] prepare for next development iteration
[maven-release-plugin] prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/de7bee53 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/de7bee53 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/de7bee53 Branch: refs/heads/master Commit: de7bee53d725466c61d325f3bd73c4a9bf233f4f Parents: 682eff9 Author: Keith TurnerAuthored: Thu Oct 20 18:16:50 2016 -0400 Committer: Keith Turner Committed: Thu Oct 20 18:16:50 2016 -0400 -- modules/accumulo/pom.xml | 2 +- modules/core/pom.xml | 2 +- modules/kryo/pom.xml | 2 +- modules/spark/pom.xml| 2 +- modules/test/pom.xml | 2 +- pom.xml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/accumulo/pom.xml -- diff --git a/modules/accumulo/pom.xml b/modules/accumulo/pom.xml index a344319..b4f183e 100644 --- a/modules/accumulo/pom.xml +++ b/modules/accumulo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-accumulo http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/core/pom.xml -- diff --git a/modules/core/pom.xml b/modules/core/pom.xml index f1eb998..dc95ac6 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-core http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/kryo/pom.xml -- diff --git a/modules/kryo/pom.xml b/modules/kryo/pom.xml index 7f1725b..12baafd 100644 --- a/modules/kryo/pom.xml +++ b/modules/kryo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-kryo http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/spark/pom.xml -- diff --git a/modules/spark/pom.xml b/modules/spark/pom.xml index b505896..12895a5 100644 --- a/modules/spark/pom.xml +++ b/modules/spark/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-spark http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/test/pom.xml -- diff --git a/modules/test/pom.xml b/modules/test/pom.xml index bdfb1b8..f495ac4 100644 --- a/modules/test/pom.xml +++ b/modules/test/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-test http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/pom.xml -- diff --git a/pom.xml b/pom.xml index 9188154..3332077 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 1-incubating fluo-recipes - 1.0.0-incubating + 1.1.0-incubating-SNAPSHOT pom Apache Fluo (incubating) Recipes Parent Implementation of Common Fluo patterns @@ -42,7 +42,7 @@ scm:git:https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git scm:git:https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git -rel/fluo-recipes-1.0.0-incubating +HEAD https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git
incubator-fluo-recipes git commit: Added link to Balancing blog post
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master e1d0aa796 -> 4ace42fd3 Added link to Balancing blog post Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/4ace42fd Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/4ace42fd Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/4ace42fd Branch: refs/heads/master Commit: 4ace42fd3b1b70e155f9232f3f30a6ea7ad7e163 Parents: e1d0aa7 Author: Keith TurnerAuthored: Thu Oct 27 13:11:56 2016 -0400 Committer: Keith Turner Committed: Thu Oct 27 13:11:56 2016 -0400 -- docs/table-optimization.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/4ace42fd/docs/table-optimization.md -- diff --git a/docs/table-optimization.md b/docs/table-optimization.md index f170b77..7241473 100644 --- a/docs/table-optimization.md +++ b/docs/table-optimization.md @@ -19,7 +19,7 @@ limitations under the License. ## Background Recipes may need to make Accumulo specific table modifications for optimal -performance. Configuring the Accumulo tablet balancer and adding splits are +performance. Configuring the [Accumulo tablet balancer][3] and adding splits are two optimizations that are currently done. Offering a standard way to do these optimizations makes it easier to use recipes correctly. These optimizations are optional. You could skip them for integration testing, but would probably @@ -75,3 +75,4 @@ this mechanism, its not limited to use by exisitng recipes. [1]: ../modules/core/src/main/java/org/apache/fluo/recipes/core/common/TableOptimizations.java [2]: ../modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/ops/TableOperations.java +[3]: http://accumulo.apache.org/blog/2015/03/20/balancing-groups-of-tablets.html
incubator-fluo-website git commit: Mention that tx are cross node on front page
Repository: incubator-fluo-website Updated Branches: refs/heads/gh-pages d196ec689 -> 281dafe0d Mention that tx are cross node on front page Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/281dafe0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/281dafe0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/281dafe0 Branch: refs/heads/gh-pages Commit: 281dafe0d43ebefbf8196e5482dd7628ff0a91fa Parents: d196ec6 Author: Keith TurnerAuthored: Tue Oct 25 22:12:01 2016 -0400 Committer: Keith Turner Committed: Thu Oct 27 12:52:45 2016 -0400 -- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/281dafe0/index.html -- diff --git a/index.html b/index.html index cb89860..640ae13 100644 --- a/index.html +++ b/index.html @@ -56,7 +56,7 @@ html_title_override: true Core API - The core Fluo API supports simple transactional updates using get/set methods. + The core Fluo API supports simple, cross-node transactional updates using get/set methods. @@ -71,7 +71,7 @@ html_title_override: true Recipes API - The Fluo Recipes API builds on the core API to offer complex transactional updates. + The Fluo Recipes API builds on the core API to offer complex transactional updates.
incubator-fluo-website git commit: Jekyll build from gh-pages:281dafe
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site 4bc3e65db -> 3bfa687c2 Jekyll build from gh-pages:281dafe Mention that tx are cross node on front page Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/3bfa687c Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/3bfa687c Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/3bfa687c Branch: refs/heads/asf-site Commit: 3bfa687c238ac76bef4241c792bf39d4d37a03da Parents: 4bc3e65 Author: Keith TurnerAuthored: Thu Oct 27 12:53:56 2016 -0400 Committer: Keith Turner Committed: Thu Oct 27 12:53:56 2016 -0400 -- feed.xml | 4 ++-- index.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/3bfa687c/feed.xml -- diff --git a/feed.xml b/feed.xml index a833beb..d73baba 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Thu, 20 Oct 2016 18:36:12 + -Thu, 20 Oct 2016 18:36:12 + +Thu, 27 Oct 2016 16:53:48 + +Thu, 27 Oct 2016 16:53:48 + Jekyll v3.2.1 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/3bfa687c/index.html -- diff --git a/index.html b/index.html index 98e9b88..832c5ec 100644 --- a/index.html +++ b/index.html @@ -158,7 +158,7 @@ Core API - The core Fluo API supports simple transactional updates using get/set methods. + The core Fluo API supports simple, cross-node transactional updates using get/set methods. @@ -173,7 +173,7 @@ Recipes API - The Fluo Recipes API builds on the core API to offer complex transactional updates. + The Fluo Recipes API builds on the core API to offer complex transactional updates.
[2/2] incubator-fluo git commit: Merge branch 'fluo-762'
Merge branch 'fluo-762' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/389d0070 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/389d0070 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/389d0070 Branch: refs/heads/master Commit: 389d00700628f5f3dce4658845896d5c366a33d3 Parents: d99a6e0 2bf94b1 Author: Keith TurnerAuthored: Tue Oct 25 18:18:23 2016 -0400 Committer: Keith Turner Committed: Tue Oct 25 18:18:23 2016 -0400 -- .../apache/fluo/integration/impl/CollisionIT.java | 18 -- 1 file changed, 12 insertions(+), 6 deletions(-) --
[1/2] incubator-fluo git commit: fixes #762 improve how test waits for propogation of oldest timestamp
Repository: incubator-fluo Updated Branches: refs/heads/master d99a6e0fa -> 389d00700 fixes #762 improve how test waits for propogation of oldest timestamp Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/2bf94b1d Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/2bf94b1d Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/2bf94b1d Branch: refs/heads/master Commit: 2bf94b1d4b9a69cb55acd49259aac68b0b210c7f Parents: 1d243c3 Author: Keith TurnerAuthored: Tue Oct 25 17:27:44 2016 -0400 Committer: Keith Turner Committed: Tue Oct 25 17:27:44 2016 -0400 -- .../apache/fluo/integration/impl/CollisionIT.java | 18 -- 1 file changed, 12 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/2bf94b1d/modules/integration/src/test/java/org/apache/fluo/integration/impl/CollisionIT.java -- diff --git a/modules/integration/src/test/java/org/apache/fluo/integration/impl/CollisionIT.java b/modules/integration/src/test/java/org/apache/fluo/integration/impl/CollisionIT.java index 8639fbc..3af4fdc 100644 --- a/modules/integration/src/test/java/org/apache/fluo/integration/impl/CollisionIT.java +++ b/modules/integration/src/test/java/org/apache/fluo/integration/impl/CollisionIT.java @@ -42,7 +42,9 @@ import org.apache.fluo.core.util.UtilWaitThread; import org.apache.fluo.integration.ITBaseMini; import org.apache.fluo.integration.TestUtil; import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.Timeout; /** * Run end to end test with lots of collisions and verify the following : @@ -61,6 +63,9 @@ public class CollisionIT extends ITBaseMini { private static final Column STAT_CHANGED = new Column("stat", "changed"); private static final Column STAT_PROCESSED = new Column("stat", "processed"); + @Rule + public Timeout globalTimeout = Timeout.seconds(60); + private static class NumLoader implements Loader { int num; @@ -130,6 +135,8 @@ public class CollisionIT extends ITBaseMini { miniFluo.waitForObservers(); +long recentTS; + try (Snapshot snapshot = client.newSnapshot()) { for (int i = 0; i < expectedCounts.length; i++) { @@ -144,16 +151,15 @@ public class CollisionIT extends ITBaseMini { String allTotal = snapshot.gets("all", STAT_TOTAL); Assert.assertNotNull(allTotal); Assert.assertEquals(1000, Integer.parseInt(allTotal)); + + recentTS = snapshot.getStartTimestamp(); } long oldestTS = ZookeeperUtil.getGcTimestamp(config.getAppZookeepers()); -while (true) { + +while (oldestTS < recentTS) { UtilWaitThread.sleep(300); - long tmp = ZookeeperUtil.getGcTimestamp(config.getAppZookeepers()); - if (oldestTS == tmp) { -break; - } - oldestTS = tmp; + oldestTS = ZookeeperUtil.getGcTimestamp(config.getAppZookeepers()); } conn.tableOperations().compact(getCurTableName(), null, null, true, true);
[1/2] incubator-fluo git commit: fixes #791 give Oracle more time to stop in IT
Repository: incubator-fluo Updated Branches: refs/heads/master 1d243c312 -> d99a6e0fa fixes #791 give Oracle more time to stop in IT Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/34d8944c Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/34d8944c Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/34d8944c Branch: refs/heads/master Commit: 34d8944c1ad4f93aa86ba74276e0f851c5a404d5 Parents: 2f9d3ee Author: Keith TurnerAuthored: Mon Oct 24 17:44:31 2016 -0400 Committer: Keith Turner Committed: Tue Oct 25 17:33:49 2016 -0400 -- .../java/org/apache/fluo/integration/impl/OracleIT.java | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/34d8944c/modules/integration/src/test/java/org/apache/fluo/integration/impl/OracleIT.java -- diff --git a/modules/integration/src/test/java/org/apache/fluo/integration/impl/OracleIT.java b/modules/integration/src/test/java/org/apache/fluo/integration/impl/OracleIT.java index 91636f7..e543c3c 100644 --- a/modules/integration/src/test/java/org/apache/fluo/integration/impl/OracleIT.java +++ b/modules/integration/src/test/java/org/apache/fluo/integration/impl/OracleIT.java @@ -36,7 +36,9 @@ import org.apache.fluo.integration.ITBaseImpl; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.thrift.server.THsHaServer; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.Timeout; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; @@ -44,6 +46,9 @@ import static org.junit.Assert.assertTrue; public class OracleIT extends ITBaseImpl { + @Rule + public Timeout globalTimeout = Timeout.seconds(60); + @Test public void testRestart() throws Exception { OracleClient client = env.getSharedResources().getOracleClient(); @@ -225,10 +230,8 @@ public class OracleIT extends ITBaseImpl { oserver.stop(); sleepWhileConnected(oserver); -int count = 0; -while (count < 5 && client.getOracle() != null) { - Thread.sleep(1000); - count++; +while (client.getOracle() != null) { + Thread.sleep(100); } assertNull(client.getOracle());
[2/2] incubator-fluo git commit: Merge branch 'fluo-791'
Merge branch 'fluo-791' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/d99a6e0f Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/d99a6e0f Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/d99a6e0f Branch: refs/heads/master Commit: d99a6e0fa87599f34ca76c9e720af2ab7b8864b5 Parents: 1d243c3 34d8944 Author: Keith TurnerAuthored: Tue Oct 25 17:34:47 2016 -0400 Committer: Keith Turner Committed: Tue Oct 25 17:34:47 2016 -0400 -- .../java/org/apache/fluo/integration/impl/OracleIT.java | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) --
svn commit: r16655 - in /dev/incubator/fluo/fluo-recipes: ./ 1.0.0-incubating-rc1/
Author: kturner Date: Mon Oct 24 16:17:36 2016 New Revision: 16655 Log: Stage fluo-recipes-1.0.0-incubating (rc1) to svn dev area Added: dev/incubator/fluo/fluo-recipes/ dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/ dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/MD5SUM dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/SHA1SUM dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/fluo-recipes-1.0.0-incubating-source-release.tar.gz (with props) dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/fluo-recipes-1.0.0-incubating-source-release.tar.gz.asc (with props) Added: dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/MD5SUM == --- dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/MD5SUM (added) +++ dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/MD5SUM Mon Oct 24 16:17:36 2016 @@ -0,0 +1 @@ +13a716a26f6711eb4f99d98b67bc549e *fluo-recipes-1.0.0-incubating-source-release.tar.gz Added: dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/SHA1SUM == --- dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/SHA1SUM (added) +++ dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/SHA1SUM Mon Oct 24 16:17:36 2016 @@ -0,0 +1 @@ +4bd77b5d74adfa77fbfaffa1f83ea932a56bf0db *fluo-recipes-1.0.0-incubating-source-release.tar.gz Added: dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/fluo-recipes-1.0.0-incubating-source-release.tar.gz == Binary file - no diff available. Propchange: dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/fluo-recipes-1.0.0-incubating-source-release.tar.gz -- svn:mime-type = application/x-gzip Added: dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/fluo-recipes-1.0.0-incubating-source-release.tar.gz.asc == Binary file - no diff available. Propchange: dev/incubator/fluo/fluo-recipes/1.0.0-incubating-rc1/fluo-recipes-1.0.0-incubating-source-release.tar.gz.asc -- svn:mime-type = application/pgp-signature
incubator-fluo-recipes git commit: [maven-release-plugin] prepare for next development iteration
Repository: incubator-fluo-recipes Updated Branches: refs/heads/1.0.0-incubating-rc1-next [created] de7bee53d [maven-release-plugin] prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/de7bee53 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/de7bee53 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/de7bee53 Branch: refs/heads/1.0.0-incubating-rc1-next Commit: de7bee53d725466c61d325f3bd73c4a9bf233f4f Parents: 682eff9 Author: Keith TurnerAuthored: Thu Oct 20 18:16:50 2016 -0400 Committer: Keith Turner Committed: Thu Oct 20 18:16:50 2016 -0400 -- modules/accumulo/pom.xml | 2 +- modules/core/pom.xml | 2 +- modules/kryo/pom.xml | 2 +- modules/spark/pom.xml| 2 +- modules/test/pom.xml | 2 +- pom.xml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/accumulo/pom.xml -- diff --git a/modules/accumulo/pom.xml b/modules/accumulo/pom.xml index a344319..b4f183e 100644 --- a/modules/accumulo/pom.xml +++ b/modules/accumulo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-accumulo http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/core/pom.xml -- diff --git a/modules/core/pom.xml b/modules/core/pom.xml index f1eb998..dc95ac6 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-core http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/kryo/pom.xml -- diff --git a/modules/kryo/pom.xml b/modules/kryo/pom.xml index 7f1725b..12baafd 100644 --- a/modules/kryo/pom.xml +++ b/modules/kryo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-kryo http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/spark/pom.xml -- diff --git a/modules/spark/pom.xml b/modules/spark/pom.xml index b505896..12895a5 100644 --- a/modules/spark/pom.xml +++ b/modules/spark/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-spark http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/modules/test/pom.xml -- diff --git a/modules/test/pom.xml b/modules/test/pom.xml index bdfb1b8..f495ac4 100644 --- a/modules/test/pom.xml +++ b/modules/test/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating +1.1.0-incubating-SNAPSHOT ../../pom.xml fluo-recipes-test http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/de7bee53/pom.xml -- diff --git a/pom.xml b/pom.xml index 9188154..3332077 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 1-incubating fluo-recipes - 1.0.0-incubating + 1.1.0-incubating-SNAPSHOT pom Apache Fluo (incubating) Recipes Parent Implementation of Common Fluo patterns @@ -42,7 +42,7 @@ scm:git:https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git scm:git:https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git -rel/fluo-recipes-1.0.0-incubating +HEAD https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git
[2/2] incubator-fluo-recipes git commit: Modified rc script and pom for generating release candidates
Modified rc script and pom for generating release candidates Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/5279878b Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/5279878b Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/5279878b Branch: refs/heads/master Commit: 5279878bc87d7f056824a87b9631eb4c417513d6 Parents: ba3c727 Author: Keith TurnerAuthored: Thu Oct 20 16:27:58 2016 -0400 Committer: Keith Turner Committed: Thu Oct 20 17:15:21 2016 -0400 -- contrib/create-release-candidate.sh | 20 +--- pom.xml | 14 ++ 2 files changed, 23 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/5279878b/contrib/create-release-candidate.sh -- diff --git a/contrib/create-release-candidate.sh b/contrib/create-release-candidate.sh index c79db19..0c22468 100755 --- a/contrib/create-release-candidate.sh +++ b/contrib/create-release-candidate.sh @@ -73,7 +73,7 @@ createEmail() { local branch; branch=$ver-rc$rc local commit; commit=$(gitCommit "$branch") || exit 1 - local tag; tag=rel/fluo-$ver + local tag; tag=rel/fluo-recipes-$ver echo yellow "IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!!" echo @@ -83,7 +83,7 @@ createEmail() { echo echo"Remember, $(red DO NOT PUSH) the $(red "$tag") tag until after the vote" echo"passes and the tag is re-made with a gpg signature using:" - echo" $(red "git tag -f -m 'Apache Fluo $ver' -s $tag ${commit:0:7}")" + echo" $(red "git tag -f -m 'Apache Fluo Recipes $ver' -s $tag ${commit:0:7}")" echo yellow "IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!!" echo @@ -105,11 +105,11 @@ createEmail() { cat
incubator-fluo-recipes git commit: [maven-release-plugin] prepare release rel/fluo-recipes-1.0.0-incubating
Repository: incubator-fluo-recipes Updated Branches: refs/heads/1.0.0-incubating-rc1 [created] 682eff983 [maven-release-plugin] prepare release rel/fluo-recipes-1.0.0-incubating Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/682eff98 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/682eff98 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/682eff98 Branch: refs/heads/1.0.0-incubating-rc1 Commit: 682eff983f1fe6e60b75c36d3b2f782c6a93b155 Parents: e1d0aa7 Author: Keith TurnerAuthored: Thu Oct 20 18:16:40 2016 -0400 Committer: Keith Turner Committed: Thu Oct 20 18:16:40 2016 -0400 -- modules/accumulo/pom.xml | 2 +- modules/core/pom.xml | 2 +- modules/kryo/pom.xml | 2 +- modules/spark/pom.xml| 2 +- modules/test/pom.xml | 2 +- pom.xml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/682eff98/modules/accumulo/pom.xml -- diff --git a/modules/accumulo/pom.xml b/modules/accumulo/pom.xml index f7616fe..a344319 100644 --- a/modules/accumulo/pom.xml +++ b/modules/accumulo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating-SNAPSHOT +1.0.0-incubating ../../pom.xml fluo-recipes-accumulo http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/682eff98/modules/core/pom.xml -- diff --git a/modules/core/pom.xml b/modules/core/pom.xml index 38db095..f1eb998 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating-SNAPSHOT +1.0.0-incubating ../../pom.xml fluo-recipes-core http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/682eff98/modules/kryo/pom.xml -- diff --git a/modules/kryo/pom.xml b/modules/kryo/pom.xml index d187712..7f1725b 100644 --- a/modules/kryo/pom.xml +++ b/modules/kryo/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating-SNAPSHOT +1.0.0-incubating ../../pom.xml fluo-recipes-kryo http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/682eff98/modules/spark/pom.xml -- diff --git a/modules/spark/pom.xml b/modules/spark/pom.xml index 8675833..b505896 100644 --- a/modules/spark/pom.xml +++ b/modules/spark/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating-SNAPSHOT +1.0.0-incubating ../../pom.xml fluo-recipes-spark http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/682eff98/modules/test/pom.xml -- diff --git a/modules/test/pom.xml b/modules/test/pom.xml index 727048c..bdfb1b8 100644 --- a/modules/test/pom.xml +++ b/modules/test/pom.xml @@ -18,7 +18,7 @@ org.apache.fluo fluo-recipes -1.0.0-incubating-SNAPSHOT +1.0.0-incubating ../../pom.xml fluo-recipes-test http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/682eff98/pom.xml -- diff --git a/pom.xml b/pom.xml index 59845bc..9188154 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 1-incubating fluo-recipes - 1.0.0-incubating-SNAPSHOT + 1.0.0-incubating pom Apache Fluo (incubating) Recipes Parent Implementation of Common Fluo patterns @@ -42,7 +42,7 @@ scm:git:https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git scm:git:https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git -HEAD +rel/fluo-recipes-1.0.0-incubating https://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes.git
incubator-fluo-website git commit: Jekyll build from gh-pages:d196ec6
Repository: incubator-fluo-website Updated Branches: refs/heads/asf-site aee89efe5 -> 4bc3e65db Jekyll build from gh-pages:d196ec6 fixes #13 linked to Rya fixes #5 mention all mailing list Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/4bc3e65d Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/4bc3e65d Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/4bc3e65d Branch: refs/heads/asf-site Commit: 4bc3e65dba5f27112759955daa5da1296dd0743e Parents: aee89ef Author: Keith TurnerAuthored: Thu Oct 20 14:36:17 2016 -0400 Committer: Keith Turner Committed: Thu Oct 20 14:36:17 2016 -0400 -- feed.xml| 4 ++-- getinvolved/index.html | 34 ++ related-projects/index.html | 8 +++- 3 files changed, 39 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/4bc3e65d/feed.xml -- diff --git a/feed.xml b/feed.xml index d8534d6..a833beb 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ https://fluo.apache.org// https://fluo.apache.org//feed.xml; rel="self" type="application/rss+xml" /> -Tue, 18 Oct 2016 00:16:42 + -Tue, 18 Oct 2016 00:16:42 + +Thu, 20 Oct 2016 18:36:12 + +Thu, 20 Oct 2016 18:36:12 + Jekyll v3.2.1 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/4bc3e65d/getinvolved/index.html -- diff --git a/getinvolved/index.html b/getinvolved/index.html index 3820c28..c297864 100644 --- a/getinvolved/index.html +++ b/getinvolved/index.html @@ -81,9 +81,35 @@ Below are some ways that you can get involved with Apache Fluo: -Mailing list - -Join our public mailing list by sending an email to dev-subscr...@fluo.incubator.apache.org. Discussions regarding issues and pull requests should remain on our GitHub pages (https://github.com/apache/fluo;>Fluo, https://github.com/apache/fluo-recipes;>Fluo Recipes, https://github.com/apache/incubator-fluo-website;>Fluo website). Our email list is for announcing releases, organizing meet ups, or any discussion that does not make sense for GitHub. +Mailing lists + +The dev mailing list is for general disscussion, announcing releases, organizing meet ups, etc. For +discussion regarding specific issues or pull request consider using Github (https://github.com/apache/fluo;>Fluo, https://github.com/apache/fluo-recipes;>Fluo +Recipes, https://github.com/apache/incubator-fluo-website;>Fluo website). The notifications and commits mailing lists receive email from automated +services and can be used to observe project activity. + + + + + d...@fluo.apache.org + Subscribe + Unsubscribe + https://lists.apache.org/list.html?d...@fluo.apache.org;>Archive + + + notificati...@fluo.apache.org + Subscribe + Unsubscribe + https://lists.apache.org/list.html?notificati...@fluo.apache.org;>Archive + + + comm...@fluo.apache.org + Subscribe + Unsubscribe + https://lists.apache.org/list.html?comm...@fluo.apache.org;>Archive + + + IRC @@ -95,7 +121,7 @@ Creating an issue on our GitHub pages: https://github.com/apache/fluo/issues;>Fluo, https://github.com/apache/fluo-recipes/issues;>Fluo Recipes, https://github.com/apache/incubator-fluo-website/issues;>Fluo website - Sending an email to our mailing list at d...@fluo.incubator.apache.org + Sending an email to our mailing list at d...@fluo.apache.org Contributions http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/4bc3e65d/related-projects/index.html -- diff --git a/related-projects/index.html b/related-projects/index.html index 7a41bc7..e5411f5 100644 --- a/related-projects/index.html +++ b/related-projects/index.html @@ -80,10 +80,16 @@ This page list external projects that build on Apache Fluo and may be useful. -These projects are not affiliated with or endorsed by the +These projects are not necessarily affiliated with or endorsed by the https://www.apache.org/;>Apache Software Foundation. If you would like to add a project to this list, please open an issue or submit a pull request https://github.com/apache/incubator-fluo-website;>on Github. +Projects Using Fluo + + + https://rya.apache.org;>Apache Rya - Uses Fluo to keep precomputed joins update to date as new data arrives. + + Tools for running Apache Fluo
incubator-fluo-website git commit: fixes #13 linked to Rya fixes #5 mention all mailing list
Repository: incubator-fluo-website Updated Branches: refs/heads/gh-pages 3c7a60ffa -> d196ec689 fixes #13 linked to Rya fixes #5 mention all mailing list Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/d196ec68 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/d196ec68 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/d196ec68 Branch: refs/heads/gh-pages Commit: d196ec68967c4fba405bb4c1cb4ce9d7c44c00f8 Parents: 3c7a60f Author: Keith TurnerAuthored: Wed Oct 19 18:42:27 2016 -0400 Committer: Keith Turner Committed: Thu Oct 20 14:32:58 2016 -0400 -- pages/getinvolved.md | 22 +++--- pages/related-projects.md | 7 ++- 2 files changed, 25 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/d196ec68/pages/getinvolved.md -- diff --git a/pages/getinvolved.md b/pages/getinvolved.md index d76864c..b7c4e15 100644 --- a/pages/getinvolved.md +++ b/pages/getinvolved.md @@ -6,9 +6,16 @@ permalink: /getinvolved/ Below are some ways that you can get involved with Apache Fluo: -### Mailing list +### Mailing lists -Join our public mailing list by sending an email to ```dev-subscr...@fluo.incubator.apache.org```. Discussions regarding issues and pull requests should remain on our GitHub pages ([Fluo][f], [Fluo Recipes][r], [Fluo website][w]). Our email list is for announcing releases, organizing meet ups, or any discussion that does not make sense for GitHub. +The `dev` mailing list is for general disscussion, announcing releases, organizing meet ups, etc. For +discussion regarding specific issues or pull request consider using Github ([Fluo][f], [Fluo +Recipes][r], [Fluo website][w]). The `notifications` and `commits` mailing lists receive email from automated +services and can be used to observe project activity. + +d...@fluo.apache.org | [Subscribe][dev-sub] | [Unsubscribe][dev-unsub]| [Archive][dev-arch] +notificati...@fluo.apache.org | [Subscribe][ntfy-sub]| [Unsubscribe][ntfy-unsub] | [Archive][ntfy-arch] +comm...@fluo.apache.org | [Subscribe][commits-sub] | [Unsubscribe][commits-unsub]| [Archive][commits-arch] ### IRC @@ -19,7 +26,7 @@ Drop by and chat about Apache Fluo at [#fluo][fnf] on [freenode][fn]. Users can provide feedback by: * Creating an issue on our GitHub pages: [Fluo][fi], [Fluo Recipes][ri], [Fluo website][wi] -* Sending an email to our mailing list at ```d...@fluo.incubator.apache.org``` +* Sending an email to our mailing list at ```d...@fluo.apache.org``` ### Contributions @@ -35,3 +42,12 @@ Contributions are welcome to all Apache Fluo projects! All projects follow a [re [fn]: https://freenode.net/ [htc]: /how-to-contribute/ [rtc]: http://www.apache.org/foundation/glossary.html#ReviewThenCommit +[dev-arch]: https://lists.apache.org/list.html?d...@fluo.apache.org +[ntfy-arch]: https://lists.apache.org/list.html?notificati...@fluo.apache.org +[commits-arch]: https://lists.apache.org/list.html?comm...@fluo.apache.org +[dev-sub]: mailto:dev-subscr...@fluo.apache.org +[dev-unsub]: mailto:dev-unsubscr...@fluo.apache.org +[ntfy-sub]: mailto:notifications-subscr...@fluo.apache.org +[ntfy-unsub]: mailto:notifications-unsubscr...@fluo.apache.org +[commits-sub]: mailto:commits-subscr...@fluo.apache.org +[commits-unsub]: mailto:commits-unsubscr...@fluo.apache.org http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/d196ec68/pages/related-projects.md -- diff --git a/pages/related-projects.md b/pages/related-projects.md index e123c82..2c4ff4e 100644 --- a/pages/related-projects.md +++ b/pages/related-projects.md @@ -5,10 +5,14 @@ permalink: /related-projects/ --- This page list external projects that build on Apache Fluo and may be useful. -These projects are not affiliated with or endorsed by the +These projects are not necessarily affiliated with or endorsed by the [Apache Software Foundation][asf]. If you would like to add a project to this list, please open an issue or submit a pull request [on Github][web-ghr]. +### Projects Using Fluo + +* [Apache Rya][Rya] - Uses Fluo to keep precomputed joins update to date as new data arrives. + ### Tools for running Apache Fluo * [Uno] - Runs Apache Hadoop+Zookeeper+Accumulo+Fluo on a single machine for development and testing. @@ -33,3 +37,4 @@ list, please open an issue or submit a pull request [on Github][web-ghr]. [Phrasecount]: https://github.com/astralway/phrasecount [Jaccard]: https://github.com/keith-turner/jaccard
[1/2] incubator-fluo-recipes git commit: Correct naming in poms and NOTICE
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master eab5787a1 -> 545cbcad8 Correct naming in poms and NOTICE Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/e989dfc3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/e989dfc3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/e989dfc3 Branch: refs/heads/master Commit: e989dfc3826952657148037fead24f246c6878be Parents: 10ccb16 Author: Keith TurnerAuthored: Wed Oct 19 16:15:46 2016 -0400 Committer: Keith Turner Committed: Thu Oct 20 13:33:32 2016 -0400 -- DISCLAIMER | 2 +- NOTICE | 2 +- modules/accumulo/pom.xml | 2 +- modules/core/pom.xml | 2 +- modules/kryo/pom.xml | 2 +- modules/spark/pom.xml| 2 +- modules/test/pom.xml | 2 +- pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/e989dfc3/DISCLAIMER -- diff --git a/DISCLAIMER b/DISCLAIMER index 4fc1ce6..57973b2 100644 --- a/DISCLAIMER +++ b/DISCLAIMER @@ -1,4 +1,4 @@ -Apache Fluo is an effort undergoing incubation at The Apache Software +Apache Fluo (incubating) Recipes is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Apache Incubator. Incubation is required of all newly accepted projects until a further review http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/e989dfc3/NOTICE -- diff --git a/NOTICE b/NOTICE index dab393a..43fad13 100644 --- a/NOTICE +++ b/NOTICE @@ -1,4 +1,4 @@ -Apache Fluo +Apache Fluo (incubating) Recipes Copyright 2016 The Apache Software Foundation. This product includes software developed at http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/e989dfc3/modules/accumulo/pom.xml -- diff --git a/modules/accumulo/pom.xml b/modules/accumulo/pom.xml index 751fbee..f7616fe 100644 --- a/modules/accumulo/pom.xml +++ b/modules/accumulo/pom.xml @@ -22,7 +22,7 @@ ../../pom.xml fluo-recipes-accumulo - Fluo Recipes Accumulo + Apache Fluo (incubating) Recipes for Apache Accumulo commons-configuration http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/e989dfc3/modules/core/pom.xml -- diff --git a/modules/core/pom.xml b/modules/core/pom.xml index 720d5f0..38db095 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -22,7 +22,7 @@ ../../pom.xml fluo-recipes-core - Fluo Recipes Core + Apache Fluo (incubating) Recipes Core com.google.guava http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/e989dfc3/modules/kryo/pom.xml -- diff --git a/modules/kryo/pom.xml b/modules/kryo/pom.xml index eaed2ee..d187712 100644 --- a/modules/kryo/pom.xml +++ b/modules/kryo/pom.xml @@ -22,7 +22,7 @@ ../../pom.xml fluo-recipes-kryo - Fluo Recipes Kryo + Apache Fluo (incubating) Recipes using Kryo com.esotericsoftware http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/e989dfc3/modules/spark/pom.xml -- diff --git a/modules/spark/pom.xml b/modules/spark/pom.xml index 5cb80a4..8675833 100644 --- a/modules/spark/pom.xml +++ b/modules/spark/pom.xml @@ -22,7 +22,7 @@ ../../pom.xml fluo-recipes-spark - Fluo Recipes Spark + Apache Fluo (incubating) Recipes for Apache Spark commons-configuration http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/e989dfc3/modules/test/pom.xml -- diff --git a/modules/test/pom.xml b/modules/test/pom.xml index 86f5fbd..727048c 100644 --- a/modules/test/pom.xml +++ b/modules/test/pom.xml @@ -22,7 +22,7 @@ ../../pom.xml fluo-recipes-test - Fluo Recipes Test + Apache Fluo (incubating) Recipes for Testing com.google.guava http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/e989dfc3/pom.xml -- diff --git a/pom.xml b/pom.xml index 5be0541..2579ff6 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ fluo-recipes 1.0.0-incubating-SNAPSHOT pom - Fluo Recipes Parent + Apache Fluo (incubating) Recipes Parent Implementation of Common Fluo
[2/2] incubator-fluo-recipes git commit: Merge branch 'name-fix'
Merge branch 'name-fix' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/545cbcad Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/545cbcad Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/545cbcad Branch: refs/heads/master Commit: 545cbcad832a0f10042c4277cb46d63c4211c071 Parents: eab5787 e989dfc Author: Keith TurnerAuthored: Thu Oct 20 13:34:01 2016 -0400 Committer: Keith Turner Committed: Thu Oct 20 13:34:01 2016 -0400 -- DISCLAIMER | 2 +- NOTICE | 2 +- modules/accumulo/pom.xml | 2 +- modules/core/pom.xml | 2 +- modules/kryo/pom.xml | 2 +- modules/spark/pom.xml| 2 +- modules/test/pom.xml | 2 +- pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/545cbcad/pom.xml --
incubator-fluo-recipes git commit: Document thrift dep in pom
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master 10ccb16ae -> eab5787a1 Document thrift dep in pom Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/eab5787a Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/eab5787a Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/eab5787a Branch: refs/heads/master Commit: eab5787a104d0cf93f3069a42b2b196bdf4da6a0 Parents: 10ccb16 Author: Keith TurnerAuthored: Tue Oct 18 13:41:17 2016 -0400 Committer: Keith Turner Committed: Wed Oct 19 19:02:05 2016 -0400 -- pom.xml | 6 ++ 1 file changed, 6 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/eab5787a/pom.xml -- diff --git a/pom.xml b/pom.xml index 5be0541..b382051 100644 --- a/pom.xml +++ b/pom.xml @@ -58,6 +58,12 @@ 1.8 1.8 1.5.2 + 0.9.1 3.4.8
[2/2] incubator-fluo-recipes git commit: Misc release prep cleanup
Misc release prep cleanup Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/10ccb16a Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/10ccb16a Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/10ccb16a Branch: refs/heads/master Commit: 10ccb16aedd8c141f5bd21be6822481471afa7ad Parents: 573aeb7 Author: Keith TurnerAuthored: Fri Oct 14 17:04:59 2016 -0400 Committer: Keith Turner Committed: Fri Oct 14 17:43:06 2016 -0400 -- README.md | 16 + docs/accumulo-export-queue.md | 16 + docs/cfm.md | 16 + docs/export-queue.md| 16 + docs/recording-tx.md| 16 + docs/row-hasher.md | 16 + docs/serialization.md | 16 + docs/table-optimization.md | 16 + docs/testing.md | 16 + docs/transient.md | 16 + modules/accumulo/pom.xml| 2 +- modules/core/pom.xml| 2 +- .../recipes/core/common/TableOptimizations.java | 2 +- .../fluo/recipes/core/export/ExportBucket.java | 14 +- .../fluo/recipes/core/impl/BucketUtil.java | 31 -- .../fluo/recipes/core/map/CollisionFreeMap.java | 22 +- .../recipes/core/export/DocumentLoader.java | 35 -- .../recipes/core/export/DocumentObserver.java | 63 .../recipes/core/export/ExportBufferIT.java | 106 -- .../fluo/recipes/core/export/ExportQueueIT.java | 114 -- .../recipes/core/export/ExportTestBase.java | 271 -- .../recipes/core/export/GsonSerializer.java | 42 --- .../fluo/recipes/core/export/OptionsTest.java | 1 + .../fluo/recipes/core/export/RefInfo.java | 26 -- .../fluo/recipes/core/export/RefUpdates.java| 43 --- .../recipes/core/export/it/DocumentLoader.java | 35 ++ .../core/export/it/DocumentObserver.java| 64 .../recipes/core/export/it/ExportBufferIT.java | 107 ++ .../recipes/core/export/it/ExportQueueIT.java | 114 ++ .../recipes/core/export/it/ExportTestBase.java | 274 ++ .../recipes/core/export/it/GsonSerializer.java | 42 +++ .../fluo/recipes/core/export/it/RefInfo.java| 26 ++ .../fluo/recipes/core/export/it/RefUpdates.java | 43 +++ .../fluo/recipes/core/map/BigUpdateIT.java | 208 --- .../recipes/core/map/CollisionFreeMapIT.java| 352 -- .../fluo/recipes/core/map/DocumentLoader.java | 35 -- .../fluo/recipes/core/map/DocumentObserver.java | 89 - .../fluo/recipes/core/map/SplitsTest.java | 1 + .../fluo/recipes/core/map/TestSerializer.java | 45 --- .../recipes/core/map/WordCountCombiner.java | 36 -- .../recipes/core/map/WordCountObserver.java | 47 --- .../fluo/recipes/core/map/it/BigUpdateIT.java | 212 +++ .../recipes/core/map/it/CollisionFreeMapIT.java | 353 +++ .../recipes/core/map/it/DocumentLoader.java | 35 ++ .../recipes/core/map/it/DocumentObserver.java | 90 + .../recipes/core/map/it/TestSerializer.java | 45 +++ .../recipes/core/map/it/WordCountCombiner.java | 38 ++ .../recipes/core/map/it/WordCountObserver.java | 49 +++ modules/kryo/pom.xml| 2 +- .../recipes/kryo/KryoSimplerSerializer.java | 2 +- .../serialization/KryoSimpleSerializerTest.java | 45 --- .../recipes/kryo/KryoSimpleSerializerTest.java | 46 +++ modules/spark/pom.xml | 2 +- .../fluo/recipes/spark/FluoSparkHelperIT.java | 82 - .../recipes/spark/it/FluoSparkHelperIT.java | 84 + modules/test/pom.xml| 2 +- .../fluo/recipes/test/AccumuloExportITBase.java | 1 - pom.xml | 38 +- 58 files changed, 1856 insertions(+), 1722 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/10ccb16a/README.md -- diff --git a/README.md b/README.md index b592204..e5d3a5a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ + # Apache Fluo Recipes [![Build Status][ti]][tl] [![Apache License][li]][ll] http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/10ccb16a/docs/accumulo-export-queue.md -- diff --git a/docs/accumulo-export-queue.md b/docs/accumulo-export-queue.md index b880d58..8b4bf39 100644 --- a/docs/accumulo-export-queue.md +++ b/docs/accumulo-export-queue.md
svn commit: r16561 - /release/incubator/fluo/KEYS
Author: kturner Date: Mon Oct 17 14:34:48 2016 New Revision: 16561 Log: Added key for Keith Turner Modified: release/incubator/fluo/KEYS Modified: release/incubator/fluo/KEYS == --- release/incubator/fluo/KEYS (original) +++ release/incubator/fluo/KEYS Mon Oct 17 14:34:48 2016 @@ -74,3 +74,60 @@ u41KYUOairzb0SLD/QyGgBHbOBEnXOC2OWM6Erdr cVX01+E7tnKRPcAZoqDYsNwR3LsZYqmZBZsRmyUItk3E+HAJ71RblN4iDTx+m3oX =7A6P -END PGP PUBLIC KEY BLOCK- + +pub 4096R/352ACF76 2011-11-02 +uid Richard Keith Turner (CODE SIGNING KEY) <ke...@deenlo.com> +sub 4096R/F299A8F3 2011-11-02 + +-BEGIN PGP PUBLIC KEY BLOCK- +Version: GnuPG v2.0.22 (GNU/Linux) + +mQINBE6xlWgBEADFjZNXWrbMZ8e/kbhuVZnDoYF1EEQ1ffRqSDiLYHXLQiOGGjdg +GtehYsFr0HmSvqtWTC44DlIQihpnM/y3XOCKy4qV8MPZsFhAK+b2PSIZCrQWSMpm +T5I7RhMf74Fu6QgZYQnbGoWoalUN7X5Ru8hP4O4OlJ4hb1/IakDyFTwQ7zI716Kc +N0r+uqguGyEaeKd2+g3fNWQrjouuWeFYcfALFhQOutyVgphrA7x17aD8B7ytIDQ2 +aea9DmE+FyVhUe7zzukwNe9tnDDbHzowuHEmNFgPPP9ETK9kGtlZNkfyCp93QBs5 +o0ftqFMZwTE18U5XNNmcKSD9uxFuDrOxR+eoaC4LwJlc6yunsIBDPLyGorJKjkDH +syITpI7da972QZKLWPrjqiwPNpePb6LrbeMMXbgVTDfvR3OunTZd4rmvHRq8o5aA +gPosWXqhVmRGx8A4+YYK2ke/DWmk2gYj1h0nlO5Bh/nt+/dbCnI3o6pob7AiTrgz +O0uzWWCpKRt89ny6N4uOvdoMoxez0JDHsqd4jMB9lmkt6VOwHndRKkqI+E2kI1vI +FYM0B4c22mQBBnaWJfVwfLi/ubWY5b95+adjQAG0roL1EQ4SYUtWXGKN3Tvr4DpV +9lx1azsztV+e1cn2pe1nH+LL8vU5WHDVObV4giIAoSOA0HCfwhrVRwOfwwARAQAB +tDpSaWNoYXJkIEtlaXRoIFR1cm5lciAoQ09ERSBTSUdOSU5HIEtFWSkgPGtlaXRo +QGRlZW5sby5jb20+iQI3BBMBAgAhAhsDAh4BAheABQJOsZbABQsJCAcDBRUKCQgL +BRYCAwEAAAoJEJqs+1Y1Ks92mdIQAKX2EyhnCX7bD7xjeAArOJAAKgw5hP8xopMB +BOMGZz4eHk8gH++lm25AU9EAXj7rcraF1b/VAQMpj2I/1MkWRkJv0d0Tyo+lx64j +9o/soQEzt0RGKmStGshQHZ6DMYDeVTqHs/c8T+sJTnWxsR0TNU2ZOibNhPmS+RtP +3Z6u9eKVbl9LGDTIvts57F0tN7qxBh6ENp3UYtWYKESFQRzNRdSVDqFMrBowu5uC +dVyXQsQDnalbwO7Jdzv4nFE/zzRi6x0RIlukD+kfQI4KrdHoamQwmAzIn/GZOuxd +tk7r4F/GMM1RqEML5/SWq0eLItALksTHOtt/b7eK0TVqNxVhmYGsKvi+corw7+W6 +hkoSnSuNLOzn1CMFweiQu1j7HthuAl6nY6ndJQRINAy+vBg4LEH1rngWF81imLTg +xUJL/qJmLHTitc0TYblqDL6wWWmam2FqqouNvJU36MIl6iwpwCaFozZngW/so1ni +UWwu5mmfXJ1f6F6qImspoR03wAcBjgxJsP1Otnw2BrcH1xOuOVq5s9XUZxgLIcdf +8FV4jJN/QgNOuwVMsio9jvvmONpNVG5CvoFhnUBXWC28b42B/4/uOe8HiBzeVJp/ +smWH/ID9TTYG/uSwD3VU2XiCt2fF1qftyqmcvUIeZgo25bFVUwb3OzQzrgpk+l4Z +wlw3jLhQuQINBE6xlWgBEADDB6vzGL28p3ZxHxSdTT8n/G4dPh1ez9FGhU451hYa +s2pOTMn1uTNCb14DVMEBnMd5pupWqTAO+gBnowCAI+8tMYLNlXS8eR8gogq4HNMa +sQ/vKHjgXDqPRXaQVKA5eL2yEAhHd/Ucv2OJ4KM7W9DJcQWRaHS7+mYS7Q1uwXHD +SW0DQL1Qp1KKI50ERIJqcfxCTg1bnjSVFatCbGnsYRNwd1n4ANwvLCEK5/xyL2J7 +fadCnGf1PVEfnERawxvKZ6M1F/o8WOVgCuxA9nK4Ta5EzYyZjRrdAUWop8I8KvfR +BEQ4UWrNxw86imnkNJ0gj4oViXz8mgplbthO3R4GEHwA8Q7NwZtEONU6hFc6QkMe +r5X/oWPDVEYD3SVTTCgepTKpfDervrBD76E36WoVZZYGvRbhrj6R1uyZ3PXZDy4H ++In3Ul1vFyUpanw+yB+0DRS50JwwgvN+mq7N06l15hPYIHUYmos0WhvCcFWhp3Hc +pG+bMpdpJThceEXcqLzsLZHA2M9k+15TfNhhvlxHb6tWHATyq5/LnzyfOTz6mXr+ +9LKTQwBdcmhvIchqApy49eqUuvTbzXCshgcsxyvtJ61ouvcslrIM5wpIZH1htfXz +4rY0D4GUs85247rEKKjVCT9F1XM/EoBgXKhaYz2P5pnXzUPsYJFkbacx4VI18oM+ +nwARAQABiQIfBBgBAgAJBQJOsZVoAhsMAAoJEJqs+1Y1Ks92XuMQAIjAwIDQaGn9 +M592eFIFkMk6lnhQq5vsnTAhClpsaIWoih2lJBf0AsT634JFTX5fdf2Heg5ze5uu +RuloKCCrg/DCope4CYhrJmjV4S399quWQsoayNae3p2yhzRtGC4j7DRDGQlnYifq +0viqgaF6fZz17uiWemiy9o5bDULkcacBQWNoqlep5YPXKYE5s61YMfYwyM0aaFCE +djoZs1KWk017eBnNOOaTzlL8d7QfecWPASLPYvxjkqNtvLnV/SAZ5RMwN1ji3WU1 +SufRdcYlBFgIi4KNUERiO0GRDW1QgEP3XLcQsFkQouF8YYfPeKjRmBzUhiJpw3kG +ljKdSwIYaO4Yw4ybUup7nfL2PGtM6Gc8pqsPPEXLW5M8ZcZd3xvGFwRSA5j7QLqp +2THvQZgw9ihTHcpWutxnJRj6lnawDfBoG+vs3IkAlrBnMUAuZLAWNO8KamcGxUvb +RRd5IOLsttehhRi2lOdcOozHO0VI++8YoYx0uCHfSN3ZjZ8vhq9nWrPZcTSIUt0M +f2mw/rDzNLXGdhN8KxeyD4Mnf73R8qwdcufzirc6dWf7OzKmhHzEuFMlZdS4/5Dy +VANGObiCqmZlM3HzeW+sa0MFhhP7xuR0DP2WD1rOjKltauWfDem7R1+3Y7LZPI12 +/wi/NckKSy8bozMEId0/IN1PfmDCqYoh +=RrrE +-END PGP PUBLIC KEY BLOCK-
incubator-fluo-recipes git commit: Avoid allocating collection in AccumuloExporter
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master 42176d1ec -> 573aeb788 Avoid allocating collection in AccumuloExporter Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/573aeb78 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/573aeb78 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/573aeb78 Branch: refs/heads/master Commit: 573aeb788a0b4623f10b7afd8b0363b501e31776 Parents: 42176d1 Author: Keith TurnerAuthored: Wed Oct 12 15:26:47 2016 -0400 Committer: Keith Turner Committed: Thu Oct 13 16:59:32 2016 -0400 -- docs/accumulo-export-queue.md | 4 +-- .../accumulo/export/AccumuloExporter.java | 24 +++- .../accumulo/export/AccumuloReplicator.java | 12 .../accumulo/export/AccumuloExportTest.java | 29 +--- .../recipes/test/export/SimpleExporter.java | 7 ++--- 5 files changed, 47 insertions(+), 29 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/573aeb78/docs/accumulo-export-queue.md -- diff --git a/docs/accumulo-export-queue.md b/docs/accumulo-export-queue.md index 33a1c97..b880d58 100644 --- a/docs/accumulo-export-queue.md +++ b/docs/accumulo-export-queue.md @@ -24,10 +24,10 @@ Exporting to Accumulo is easy. Follow the steps below: public class SimpleExporter extends AccumuloExporter { @Override - protected Collection translate(SequencedExport export) { + protected void translate(SequencedExport export, Consumer consumer) { Mutation m = new Mutation(export.getKey()); m.put("cf", "cq", export.getSequence(), export.getValue()); -return Collections.singleton(m); +consumer.accept(m); } } ``` http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/573aeb78/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java -- diff --git a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java index 4cb0730..6a19362 100644 --- a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java +++ b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/AccumuloExporter.java @@ -16,10 +16,10 @@ package org.apache.fluo.recipes.accumulo.export; import java.util.ArrayList; -import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.function.Consumer; import org.apache.accumulo.core.data.Mutation; import org.apache.fluo.api.config.SimpleConfiguration; @@ -68,9 +68,11 @@ public abstract class AccumuloExporter extends Exporter { ArrayList buffer = new ArrayList<>(); +Consumer consumer = m -> buffer.add(m); + while (exports.hasNext()) { SequencedExport export = exports.next(); - buffer.addAll(translate(export)); + translate(export, consumer); } if (buffer.size() > 0) { @@ -78,7 +80,14 @@ public abstract class AccumuloExporter extends Exporter { } } - protected abstract Collection translate(SequencedExport export); + /** + * Implementations of this method should translate the given SequencedExport to 0 or more + * Mutations. + * + * @param export the input that should be translated to mutations + * @param consumer output mutations to this consumer + */ + protected abstract void translate(SequencedExport export, Consumer consumer); /** * Generates Accumulo mutations by comparing the differences between a RowColumn/Bytes map that is @@ -95,12 +104,13 @@ public abstract class AccumuloExporter extends Exporter { * The export sequence number is used for the timestamp in the mutation. * * + * @param consumer generated mutations will be output to this consumer * @param oldData Map containing old row/column data * @param newData Map containing new row/column data * @param seq Export sequence number */ - public static Collection generateMutations(long seq, Map oldData, - Map newData) { + public static void generateMutations(long seq, Map oldData, + Map newData, Consumer consumer) { Map mutationMap = new HashMap<>(); for (Map.Entry
[4/4] incubator-fluo-website git commit: Jekyll build from gh-pages: b359233
Jekyll build from gh-pages: b359233 Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/76022205 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/76022205 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/76022205 Branch: refs/heads/asf-site Commit: 7602220587409909755994b4c46217db489160dd Parents: bf8cc83 Author: Keith TurnerAuthored: Mon Oct 10 19:33:45 2016 -0400 Committer: Keith Turner Committed: Mon Oct 10 19:33:45 2016 -0400 -- docs/index.html | 4 +- feed.xml | 4 +- index.html| 2 +- resources/tour/RowLocking.png | Bin 0 -> 59627 bytes tour/application-configuration/index.html | 295 + tour/architecture/index.html | 141 +++ tour/basic-read-write/index.html | 175 tour/collision-code/index.html| 176 tour/collisions/index.html| 154 +++ tour/data-model/index.html| 170 tour/data-pojos/index.html| 151 +++ tour/exercise-1/index.html| 545 + tour/index.html | 95 - tour/loader-executer/index.html | 154 +++ tour/mem-self-ntfy-code/index.html| 252 tour/mem-self-ntfy/index.html | 159 tour/multi-get/index.html | 272 tour/observer_example/index.html | 217 ++ tour/observers/index.html | 163 tour/recipes/index.html | 137 +++ tour/row-locking/index.html | 237 +++ tour/scanning-code/index.html | 210 ++ tour/scanning/index.html | 171 tour/snapshot-isolation-code/index.html | 175 tour/snapshot-isolation/index.html| 156 +++ tour/tx-logging/index.html| 178 tour/weak-code/index.html | 210 ++ tour/weak-notifications/index.html| 165 tour/write-skew-code/index.html | 179 tour/write-skew/index.html| 168 tour/writing-code/index.html | 158 +++ 31 files changed, 5266 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/76022205/docs/index.html -- diff --git a/docs/index.html b/docs/index.html index 024f37c..a2df0e8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -77,7 +77,9 @@ -https://github.com/apache/fluo;>Apache Fluo and https://github.com/apache/fluo-recipes;>Apache Fluo Recipes have seperate documentation as they are different repositories with their own release cycle. +For a general overview of Fluo, take the Fluo tour. + +https://github.com/apache/fluo;>Apache Fluo and https://github.com/apache/fluo-recipes;>Apache Fluo Recipes have seperate documentation as they are different repositories with their own release cycle. Apache Fluo http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/76022205/feed.xml -- diff --git a/feed.xml b/feed.xml index 1fba9c8..fdca567 100644 --- a/feed.xml +++ b/feed.xml @@ -5,8 +5,8 @@ http://fluo.io/ http://fluo.io/feed.xml; rel="self" type="application/rss+xml" /> -Fri, 05 Aug 2016 16:09:58 -0400 -Fri, 05 Aug 2016 16:09:58 -0400 +Mon, 10 Oct 2016 19:23:58 -0400 +Mon, 10 Oct 2016 19:23:58 -0400 Jekyll v3.1.6 http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/76022205/index.html -- diff --git a/index.html b/index.html index 0a00fc8..9788166 100644 --- a/index.html +++ b/index.html @@ -78,7 +78,7 @@ Overview Apache Fluo (incubating) is an open source implementation of https://research.google.com/pubs/pub36726.html; target="_blank">Percolator - (which populates Google's search index) for https://accumulo.apache.org/; target="_blank">Apache Accumulo. Fluo makes it possible to update the results of a large-scale computation, index, or analytic as new data is discovered. + (which populates Google's search index) for https://accumulo.apache.org/; target="_blank">Apache Accumulo. Fluo makes it possible to update the results of a large-scale computation, index, or analytic as new data is discovered. For more information, take the Fluo tour.
[2/4] incubator-fluo-website git commit: Jekyll build from gh-pages: b359233
http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/76022205/tour/multi-get/index.html -- diff --git a/tour/multi-get/index.html b/tour/multi-get/index.html new file mode 100644 index 000..3032974 --- /dev/null +++ b/tour/multi-get/index.html @@ -0,0 +1,272 @@ + + + + + + + +https://fonts.googleapis.com/css?family=Montserrat:700,400;> +https://fonts.googleapis.com/css?family=Merriweather;> +https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css; > +http://fluo.io/tour/multi-get/;> + +Fetching multiple cells | Apache Fluo + + + + + + + + + + + + + + + + + +Documentation +Download + + Community + +Get Involved +Blog +People +Related Projects +Powered By + + + + Contributing + +How To Contribute +Release Process + + + + + + Apache Software Foundation + +https://www.apache.org;>Apache Homepage +https://www.apache.org/licenses/LICENSE-2.0;>License +https://www.apache.org/foundation/sponsorship;>Sponsorship +https://www.apache.org/security;>Security +https://www.apache.org/foundation/thanks;>Thanks +https://www.apache.org/foundation/policies/conduct;>Code of Conduct + + + + + + + + + + + + + + Fluo Tour: Fetching multiple cells + Tour page 15 of 26 + + + Each call to get a row column results in a RPC to an Accumulo server. In the cases where there are +many row columns to get, Fluo provides more specialized get methods that make less RPC calls. + +Below is some example code that illustrates using these methods and shows the performance +difference. The example code performs the following task. + + + In a single transaction, generates 100 rows each with 100 columns such that each row has the same +columns. Uses integers for the row and columns names. + Gets 100 columns from a single row in the following ways. Times each way. + + In a loop calls gets(CharSequence, Column). + Calls gets(CharSequence, SetColumn) once + + + Gets 100 columns from 3 rows in the following ways. Times each way. + + For three rows, loops over 100 columns calling gets(CharSequence, Column) + Calls gets(Collection? extends CharSequence, SetColumn) once + + + Generates 100 row column pairs, where each pair is a random row and a random column. Gets each + pair in the following ways. Times each way. + + For each pair calls gets(CharSequence, Column) + Calls gets(CollectionRowColumn) once + + + + +Below is the code to perform the task mentioned above. + + private static void excercise(MiniFluo mini, FluoClient client) { + +SetColumn columns = new LinkedHashSet(); + +for(int c = 0; c 100; c++) { + columns.add(new Column("f", String.format("q%04d", c))); +} + +try(Transaction tx = client.newTransaction()) { + int value = 0; + for(int r = 0; r 100; r++) { +String row = String.format("r%04d", r); +for (Column column : columns) { + tx.set(row, column, value+""); + value++; +} + } + + tx.commit(); +} + +//fetch multiple columns from a single row +try(Snapshot snap = client.newSnapshot()) { + String row = String.format("r%04d", 42); + + long t1 = System.currentTimeMillis(); + + for (Column column : columns) { +snap.gets(row, column); + } + + long t2 = System.currentTimeMillis(); + + snap.gets(row, columns); + + long t3 = System.currentTimeMillis(); + + System.out.printf("test1 time 1:%d time2:%d\n",(t2-t1),(t3-t2)); +} + + +//fetch the same columns from multiple rows +try(Snapshot snap = client.newSnapshot()) { + ListString rows = Arrays.asList(String.format("r%04d", 42), +String.format("r%04d", 21), +String.format("r%04d", 84)); + + long t1 = System.currentTimeMillis(); + + for (String row : rows) { +for (Column column : columns) { + snap.gets(row, column); +} + } + + long t2 = System.currentTimeMillis(); + + snap.gets(rows, columns); + + long t3 = System.currentTimeMillis(); + + System.out.printf("test2 time 1:%d time2:%d\n",(t2-t1),(t3-t2)); +} + +
[1/5] incubator-fluo-website git commit: initial start on Fluo Tour
Repository: incubator-fluo-website Updated Branches: refs/heads/gh-pages c20b58b08 -> b3592332b initial start on Fluo Tour added snapshot isolation pages Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/9b36d6fa Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/9b36d6fa Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/9b36d6fa Branch: refs/heads/gh-pages Commit: 9b36d6fa39c55a0ce2027bfec2f1e9b72e5a1645 Parents: c20b58b Author: Keith TurnerAuthored: Tue Jul 26 15:54:17 2016 -0400 Committer: Keith Turner Committed: Wed Sep 28 18:08:06 2016 -0400 -- tour/pg0-intro.md | 6 + tour/pg1-data-model.md | 25 +++ tour/pg2-architechture.md | 4 tour/pg3-writing-code.md| 9 +++ tour/pg4-basic-read-write.md| 41 tour/pg5-snapshot-isolation.md | 20 tour/pg6-snapshot-isolation-code.md | 40 +++ 7 files changed, 145 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/9b36d6fa/tour/pg0-intro.md -- diff --git a/tour/pg0-intro.md b/tour/pg0-intro.md new file mode 100644 index 000..4cbbe84 --- /dev/null +++ b/tour/pg0-intro.md @@ -0,0 +1,6 @@ +Fluo Tour +- + +This tour provides a sequence of pages that introduce Fluo concepts with +associated coding excercies. If you have any questions along the way, please +ask questions in IRC or on the dev list TODO link. http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/9b36d6fa/tour/pg1-data-model.md -- diff --git a/tour/pg1-data-model.md b/tour/pg1-data-model.md new file mode 100644 index 000..0785caf --- /dev/null +++ b/tour/pg1-data-model.md @@ -0,0 +1,25 @@ +Fluo Data Model +--- + +Fluo uses Accumulo's data model which is based on the BigTable data model. +This data model supports a large online sorted map that spans multiple nodes in +a cluster. The keys in this map have four components : row, column family, +column qualifier, and column visibility. + + * **Row** : This portion of the key is used to partition data across nodes in + a cluster. All data in a row is guaranteed to be stored on single node in + the cluster. Different rows may be stored on different nodes. Fluo + supports cross row transactions, which mean cross node transactions. + * **Column family** : This portion of the key is used to partition data + within each node on the cluster. The data model has locality groups which + store column families in physically separate partitions on each node. If + locality groups are configured, then it allows scanning a subset of rows column + families much more quickly. + * **Column Qualifier** : This portion of the key is used to define arbitrary + columns with a column family. + * **Column Visibility** : In Accumulo this portion of the key is used to + control access to data. + +This data model is schema-less, there is no need to predefine columns. One +thing thats defined in the Accumulo data modes thats not available in Fluo is +timestamps. When using Fluo the timestamp portion of the key is not available. http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/9b36d6fa/tour/pg2-architechture.md -- diff --git a/tour/pg2-architechture.md b/tour/pg2-architechture.md new file mode 100644 index 000..dac8e9d --- /dev/null +++ b/tour/pg2-architechture.md @@ -0,0 +1,4 @@ +Fluo Architechture +-- + +TODO picture http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/9b36d6fa/tour/pg3-writing-code.md -- diff --git a/tour/pg3-writing-code.md b/tour/pg3-writing-code.md new file mode 100644 index 000..f0b8ddb --- /dev/null +++ b/tour/pg3-writing-code.md @@ -0,0 +1,9 @@ +Writing and Running Fluo Code +- + +Following the Fluo tour will require writing code that uses Fluo's API. In +order to enable you to get quickly started writing Fluo code we have provided a +git repository with a basic skeleton. Before continuing with the tour, please +read about the [Fluo Tour git repository][1] and set it up locally. + +[1]:https://github.com/keith-turner/fluo-tour http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/9b36d6fa/tour/pg4-basic-read-write.md
[2/5] incubator-fluo-website git commit: Updated design of Fluo tour
Updated design of Fluo tour * Created template for Fluo tour pages that enables paging * Updated current tour pages to use template * Created tour index * Referenced tour from homepage and documentation Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/b8786f31 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/b8786f31 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/b8786f31 Branch: refs/heads/gh-pages Commit: b8786f3170564680eff870fab82ec71fe13dc233 Parents: 9b36d6f Author: Mike WalchAuthored: Wed Jul 27 12:34:40 2016 -0400 Committer: Keith Turner Committed: Wed Sep 28 18:10:34 2016 -0400 -- _config.yml | 9 _layouts/tour.html | 25 ++ docs/index.md| 3 ++- index.html | 2 +- tour/architecture.md | 7 +++ tour/basic-read-write.md | 44 +++ tour/data-model.md | 28 + tour/index.md| 13 tour/pg1-data-model.md | 25 -- tour/pg2-architechture.md| 4 tour/pg3-writing-code.md | 9 tour/pg4-basic-read-write.md | 41 tour/writing-code.md | 12 +++ 13 files changed, 141 insertions(+), 81 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/b8786f31/_config.yml -- diff --git a/_config.yml b/_config.yml index 4028241..148eca9 100644 --- a/_config.yml +++ b/_config.yml @@ -35,6 +35,12 @@ defaults: layout: "release-summary" category: "release-summaries" permalink: "/:categories/:title/" + - +scope: + path: "tour" + type: "pages" +values: + layout: "tour" # Number of posts displayed on the home page. num_home_posts: 5 @@ -48,6 +54,9 @@ latest_fluo_release_date: "January 12, 2016" latest_recipes_release: "1.0.0-beta-2" latest_recipes_release_date: "March 29, 2016" +# Fluo tour settings +tour_pages: 4 + whitelist: [jekyll-redirect-from] gems: [jekyll-redirect-from] http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/b8786f31/_layouts/tour.html -- diff --git a/_layouts/tour.html b/_layouts/tour.html new file mode 100644 index 000..061e0fe --- /dev/null +++ b/_layouts/tour.html @@ -0,0 +1,25 @@ +--- +layout: default +--- + + Fluo Tour: {{ page.title }} + Tour page {{ page.tour_num }} of {{ site.tour_pages }} + + + {{ content }} + + + + {% assign prev = page.tour_num | minus: 1 %} + {% assign next = page.tour_num | plus: 1 %} + +{% if prev > 0 %} + +{% endif %} + +{{ page.tour_num }} / {{ site.tour_pages }} +{% if next <= site.tour_pages %} + +{% endif %} + + http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/b8786f31/docs/index.md -- diff --git a/docs/index.md b/docs/index.md index 3017ef1..5d2de88 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,6 +3,8 @@ layout: page title: Documentation --- +For a general overview of Fluo, take the [Fluo tour](/tour/). + [Apache Fluo] and [Apache Fluo Recipes] have seperate documentation as they are different repositories with their own release cycle. ## Apache Fluo @@ -19,4 +21,3 @@ Documentation about releases made before Apache Fluo entered incubation at Apach [Apache Fluo]: https://github.com/apache/fluo [Apache Fluo Recipes]: https://github.com/apache/fluo-recipes - http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/b8786f31/index.html -- diff --git a/index.html b/index.html index 9688cb4..f8e8ae4 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ html_title_override: true Overview Apache Fluo (incubating) is an open source implementation of https://research.google.com/pubs/pub36726.html; target="_blank">Percolator - (which populates Google's search index) for https://accumulo.apache.org/; target="_blank">Apache Accumulo. Fluo makes it possible to update the results of a large-scale computation, index, or analytic as new data is discovered. + (which populates Google's search index) for https://accumulo.apache.org/; target="_blank">Apache Accumulo. Fluo makes it possible to update the results of a large-scale computation, index, or analytic as new data is discovered. For more information, take the Fluo tour.
incubator-fluo-website git commit: added more imports needed by tour
Repository: incubator-fluo-website Updated Branches: refs/heads/fluo-tour 729a523d4 -> b09ad4946 added more imports needed by tour Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/b09ad494 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/b09ad494 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/b09ad494 Branch: refs/heads/fluo-tour Commit: b09ad494625c9fc9ac35dbaec2ca492e7353c917 Parents: 729a523 Author: Keith TurnerAuthored: Mon Sep 26 16:13:59 2016 -0400 Committer: Keith Turner Committed: Mon Sep 26 16:13:59 2016 -0400 -- src/main/java/ft/Main.java | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/b09ad494/src/main/java/ft/Main.java -- diff --git a/src/main/java/ft/Main.java b/src/main/java/ft/Main.java index 8925911..9b0a7a2 100644 --- a/src/main/java/ft/Main.java +++ b/src/main/java/ft/Main.java @@ -1,11 +1,14 @@ package ft; +//Normally using * with imports is a bad practice, however in this case it makes experimenting with +//Fluo easier. + import java.nio.file.Files; import java.nio.file.Paths; +import java.util.*; -// Normally using * with imports is a bad practice, however in this case it makes experimenting with -// Fluo easier. import org.apache.fluo.api.client.*; +import org.apache.fluo.api.client.scanner.*; import org.apache.fluo.api.config.*; import org.apache.fluo.api.data.*; import org.apache.fluo.api.mini.MiniFluo;
incubator-fluo git commit: closes #779 added fluo version command
Repository: incubator-fluo Updated Branches: refs/heads/master f316e88ac -> 882299d77 closes #779 added fluo version command Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/882299d7 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/882299d7 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/882299d7 Branch: refs/heads/master Commit: 882299d77329fa1a9c4ff8c0276c9f5495998811 Parents: f316e88 Author: Keith TurnerAuthored: Fri Sep 23 13:57:13 2016 -0400 Committer: Keith Turner Committed: Fri Sep 23 14:46:27 2016 -0400 -- modules/distribution/src/main/assembly/bin.xml | 8 modules/distribution/src/main/scripts/fluo | 4 .../distribution/src/main/scripts/impl/config.sh | 1 + .../src/main/scripts/impl/fluo-version.sh | 17 + 4 files changed, 30 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/882299d7/modules/distribution/src/main/assembly/bin.xml -- diff --git a/modules/distribution/src/main/assembly/bin.xml b/modules/distribution/src/main/assembly/bin.xml index e2b8bd1..c745003 100644 --- a/modules/distribution/src/main/assembly/bin.xml +++ b/modules/distribution/src/main/assembly/bin.xml @@ -49,6 +49,9 @@ */** + +src/main/scripts/impl/fluo-version.sh + src/main/config @@ -91,5 +94,10 @@ conf/examples true + + src/main/scripts/impl/fluo-version.sh + bin/impl + true + http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/882299d7/modules/distribution/src/main/scripts/fluo -- diff --git a/modules/distribution/src/main/scripts/fluo b/modules/distribution/src/main/scripts/fluo index 3f91f75..8b08369 100755 --- a/modules/distribution/src/main/scripts/fluo +++ b/modules/distribution/src/main/scripts/fluo @@ -61,6 +61,7 @@ function print_usage { echo " scan Prints snapshot of data in Fluo application" echo " classpath Prints the classpath setup in fluo-env.sh" echo " wait Waits until all notifications are processed" + echo " version Prints the version of Fluo" echo " exec{}"; echo " " exit 1 @@ -147,6 +148,9 @@ exec) export CLASSPATH="$APP_LIB_DIR/*:$CLASSPATH" java org.apache.fluo.cluster.command.FluoCommand $FLUO_HOME $HADOOP_PREFIX "$@" ;; +version) + echo "$FLUO_VERSION" + ;; *) print_usage esac http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/882299d7/modules/distribution/src/main/scripts/impl/config.sh -- diff --git a/modules/distribution/src/main/scripts/impl/config.sh b/modules/distribution/src/main/scripts/impl/config.sh index 7abbbe5..4b46085 100755 --- a/modules/distribution/src/main/scripts/impl/config.sh +++ b/modules/distribution/src/main/scripts/impl/config.sh @@ -64,3 +64,4 @@ else export SED="sed -i" fi +. $impl/fluo-version.sh http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/882299d7/modules/distribution/src/main/scripts/impl/fluo-version.sh -- diff --git a/modules/distribution/src/main/scripts/impl/fluo-version.sh b/modules/distribution/src/main/scripts/impl/fluo-version.sh new file mode 100644 index 000..30dd115 --- /dev/null +++ b/modules/distribution/src/main/scripts/impl/fluo-version.sh @@ -0,0 +1,17 @@ +#! /usr/bin/env bash + +# 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. + +# Maven should set correct Fluo version below at build time +FLUO_VERSION=${project.version}
incubator-fluo-recipes git commit: Added standard way to setup per exporter configuration.
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master 6f5177363 -> dc765718c Added standard way to setup per exporter configuration. Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/dc765718 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/dc765718 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/dc765718 Branch: refs/heads/master Commit: dc765718c59104a1643cbaa0ae81d565ae5e4146 Parents: 6f51773 Author: Keith TurnerAuthored: Wed Sep 21 18:02:23 2016 -0400 Committer: Keith Turner Committed: Thu Sep 22 12:24:18 2016 -0400 -- docs/accumulo-export-queue.md | 24 +- .../accumulo/export/AccumuloExportQueue.java| 278 --- .../accumulo/export/AccumuloExporter.java | 84 +- .../accumulo/export/AccumuloReplicator.java | 2 +- .../recipes/accumulo/export/AccumuloWriter.java | 169 +++ .../accumulo/export/AccumuloExportTest.java | 2 +- .../recipes/core/export/ExportObserver.java | 19 +- .../fluo/recipes/core/export/ExportQueue.java | 32 +++ .../fluo/recipes/core/export/Exporter.java | 13 +- .../fluo/recipes/core/export/OptionsTest.java | 12 +- .../recipes/test/export/AccumuloExporterIT.java | 12 +- .../test/export/AccumuloReplicatorIT.java | 13 +- .../recipes/test/export/SimpleExporter.java | 2 +- 13 files changed, 347 insertions(+), 315 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/dc765718/docs/accumulo-export-queue.md -- diff --git a/docs/accumulo-export-queue.md b/docs/accumulo-export-queue.md index dde04fb..33a1c97 100644 --- a/docs/accumulo-export-queue.md +++ b/docs/accumulo-export-queue.md @@ -3,8 +3,8 @@ ## Background The [Export Queue Recipe][1] provides a generic foundation for building export mechanism to any -external data store. The [AccumuloExportQueue] provides an implementation of this recipe for -Accumulo. The [AccumuloExportQueue] is located the 'fluo-recipes-accumulo' module and provides the +external data store. The [AccumuloExporter] provides an implementation of this recipe for +Accumulo. The [AccumuloExporter] is located the `fluo-recipes-accumulo` module and provides the following functionality: * Safely batches writes to Accumulo made by multiple transactions exporting data. @@ -24,7 +24,7 @@ Exporting to Accumulo is easy. Follow the steps below: public class SimpleExporter extends AccumuloExporter { @Override - protected Collection processExport(SequencedExport export) { + protected Collection translate(SequencedExport export) { Mutation m = new Mutation(export.getKey()); m.put("cf", "cq", export.getSequence(), export.getValue()); return Collections.singleton(m); @@ -32,7 +32,7 @@ Exporting to Accumulo is easy. Follow the steps below: } ``` -2. With a `SimpleExporter` created, configure a [AccumuloExportQueue] to use `SimpleExporter` and +2. With a `SimpleExporter` created, configure an `ExportQueue` to use `SimpleExporter` and give it information on how to connect to Accumulo. ```java @@ -46,10 +46,17 @@ Exporting to Accumulo is easy. Follow the steps below: String password = // Accumulo user password String exportTable =// Name of table to export to -// Configure accumulo export queue -AccumuloExportQueue.configure(fluoConfig, new ExportQueue.Options(EXPORT_QUEUE_ID, -SimpleExporter.class.getName(), String.class.getName(), String.class.getName(), numMapBuckets), -new AccumuloExportQueue.Options(instance, zookeepers, user, password, exportTable)); + +// Create config for export table. +AccumuloExporter.Configuration exportTableCfg = +new AccumuloExporter.Configuration(instance, zookeepers, user, password, exportTable); + +// Create config for export queue. +ExportQueue.Options eqOpts = new ExportQueue.Options(EXPORT_QUEUE_ID, SimpleExporter.class, +String.class, String.class, numMapBuckets).setExporterConfiguration(exportTableCfg); + +// Configure export queue. This will modify fluoConfig. +ExportQueue.configure(fluoConfig, qeOpts); // Initialize Fluo using fluoConfig ``` @@ -83,7 +90,6 @@ Exporting to Accumulo is easy. Follow the steps below: [AccumuloReplicator] is a specialized [AccumuloExporter] that replicates a Fluo table to Accumulo. [1]: export-queue.md -[AccumuloExportQueue]:
incubator-fluo-website git commit: turned quickstart into fluo tour
Repository: incubator-fluo-website Updated Branches: refs/heads/fluo-tour 7dabafa65 -> 729a523d4 turned quickstart into fluo tour Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/729a523d Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/729a523d Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/729a523d Branch: refs/heads/fluo-tour Commit: 729a523d483476b7641d9bae09106ae9501d38a6 Parents: 7dabafa Author: Keith TurnerAuthored: Tue Sep 20 15:31:59 2016 -0400 Committer: Keith Turner Committed: Wed Sep 21 13:32:58 2016 -0400 -- .gitignore | 6 +++ README.md | 13 ++ pom.xml | 77 src/main/java/ft/Main.java | 44 ++ src/main/resources/log4j.properties | 29 5 files changed, 169 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/729a523d/.gitignore -- diff --git a/.gitignore b/.gitignore new file mode 100644 index 000..93eea5d --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.classpath +.project +.settings +target +.idea +*.iml http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/729a523d/README.md -- diff --git a/README.md b/README.md index 56db76e..b463c11 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,17 @@ Fluo Tour - +This git repository provides a barebones Maven+Java environment for the [Fluo Tour][tour]. As you +go through the tour edit [Main.java] and use the following command to get all of the correct +dependencies on the classpath and execute Main. + +```bash +mvn -q clean compile exec:java +``` + +The command takes a bit to run because it starts a MiniAccumulo and MiniFluo +each time. + +[tour]: https://fluo.apache.org/tour +[Main.java]: src/main/java/ft/Main.java http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/729a523d/pom.xml -- diff --git a/pom.xml b/pom.xml new file mode 100644 index 000..855b2e1 --- /dev/null +++ b/pom.xml @@ -0,0 +1,77 @@ +http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> + 4.0.0 + + org.apache.fluo + fluo-tour + 0.0.1-SNAPSHOT + jar + + fluo-tour + https://fluo.apache.org/tour + + +UTF-8 +1.7.2 +1.0.0-incubating + + + + + +maven-compiler-plugin +3.1 + + 1.8 + 1.8 + true + UTF-8 + + + +org.codehaus.mojo +exec-maven-plugin +1.5.0 + + ft.Main + false + + + + + + + + +org.apache.accumulo +accumulo-minicluster +${accumulo.version} + + +org.apache.accumulo +accumulo-core +${accumulo.version} + + + + + + + org.apache.fluo + fluo-api + ${fluo.version} + + + org.apache.fluo + fluo-core + ${fluo.version} + runtime + + + org.apache.fluo + fluo-mini + ${fluo.version} + runtime + + + http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/729a523d/src/main/java/ft/Main.java -- diff --git a/src/main/java/ft/Main.java b/src/main/java/ft/Main.java new file mode 100644 index 000..8925911 --- /dev/null +++ b/src/main/java/ft/Main.java @@ -0,0 +1,44 @@ +package ft; + +import java.nio.file.Files; +import java.nio.file.Paths; + +// Normally using * with imports is a bad practice, however in this case it makes experimenting with +// Fluo easier. +import org.apache.fluo.api.client.*; +import org.apache.fluo.api.config.*; +import org.apache.fluo.api.data.*; +import org.apache.fluo.api.mini.MiniFluo; +import org.apache.fluo.api.observer.*; + +public class Main { + public static void main(String[] args) throws Exception { + +String tmpDir = Files.createTempDirectory(Paths.get("target"), "mini").toString(); +// System.out.println("tmp dir : "+tmpDir); + +FluoConfiguration fluoConfig = new FluoConfiguration(); +fluoConfig.setApplicationName("class"); +fluoConfig.setMiniDataDir(tmpDir); + +preInit(fluoConfig); + +System.out.print("Starting MiniFluo ... "); + +try (MiniFluo mini = FluoFactory.newMiniFluo(fluoConfig); +
incubator-fluo-website git commit: initial commit
Repository: incubator-fluo-website Updated Branches: refs/heads/fluo-tour [created] 7dabafa65 initial commit Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/commit/7dabafa6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/tree/7dabafa6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/diff/7dabafa6 Branch: refs/heads/fluo-tour Commit: 7dabafa651713e55760bb237b3cd72f82cfaa833 Parents: Author: Keith TurnerAuthored: Tue Sep 20 14:40:01 2016 -0400 Committer: Keith Turner Committed: Tue Sep 20 14:40:01 2016 -0400 -- README.md | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-website/blob/7dabafa6/README.md -- diff --git a/README.md b/README.md new file mode 100644 index 000..56db76e --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +Fluo Tour +- + +
incubator-fluo-recipes git commit: updates for Fluo API changes
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master b79c6fb89 -> d7347ee15 updates for Fluo API changes Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/d7347ee1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/d7347ee1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/d7347ee1 Branch: refs/heads/master Commit: d7347ee1abcc01881d04af1b375eca4018a3 Parents: b79c6fb Author: Keith TurnerAuthored: Fri Sep 16 18:03:14 2016 -0400 Committer: Keith Turner Committed: Fri Sep 16 18:03:14 2016 -0400 -- .../recipes/core/export/ExportObserver.java | 2 +- .../fluo/recipes/core/export/ExportQueue.java | 6 +- .../fluo/recipes/core/map/CollisionFreeMap.java | 6 +- .../core/map/CollisionFreeMapObserver.java | 2 +- .../transaction/RecordingTransactionBase.java | 65 +--- .../recipes/core/types/TypedSnapshotBase.java | 3 +- .../recipes/core/export/ExportTestBase.java | 4 +- .../recipes/core/map/CollisionFreeMapIT.java| 4 +- .../recipes/core/types/MockSnapshotBase.java| 26 +--- .../recipes/core/types/MockTransactionBase.java | 9 +-- 10 files changed, 23 insertions(+), 104 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/d7347ee1/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportObserver.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportObserver.java b/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportObserver.java index 2c41313..b3070e0 100644 --- a/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportObserver.java +++ b/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportObserver.java @@ -83,7 +83,7 @@ public class ExportObserver extends AbstractObserver { @SuppressWarnings("unchecked") @Override public void init(Context context) throws Exception { -queueId = context.getParameters().get("queueId"); +queueId = context.getObserverConfiguration().getString("queueId"); ExportQueue.Options opts = new ExportQueue.Options(queueId, context.getAppConfiguration()); // TODO defer loading classes... so that not done during fluo init http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/d7347ee1/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportQueue.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportQueue.java b/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportQueue.java index e53e17c..81d277b 100644 --- a/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportQueue.java +++ b/modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportQueue.java @@ -27,7 +27,7 @@ import com.google.common.base.Preconditions; import com.google.common.hash.Hashing; import org.apache.fluo.api.client.TransactionBase; import org.apache.fluo.api.config.FluoConfiguration; -import org.apache.fluo.api.config.ObserverConfiguration; +import org.apache.fluo.api.config.ObserverSpecification; import org.apache.fluo.api.config.SimpleConfiguration; import org.apache.fluo.api.data.Bytes; import org.apache.fluo.recipes.core.common.TableOptimizations; @@ -105,8 +105,8 @@ public class ExportQueue { SimpleConfiguration appConfig = fluoConfig.getAppConfiguration(); opts.save(appConfig); -fluoConfig.addObserver(new ObserverConfiguration(ExportObserver.class.getName()) -.setParameters(Collections.singletonMap("queueId", opts.queueId))); +fluoConfig.addObserver(new ObserverSpecification(ExportObserver.class.getName(), Collections +.singletonMap("queueId", opts.queueId))); Bytes exportRangeStart = Bytes.of(opts.queueId + RANGE_BEGIN); Bytes exportRangeStop = Bytes.of(opts.queueId + RANGE_END); http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/d7347ee1/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java b/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java index 8747c87..6e74c3c 100644 --- a/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java +++ b/modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java @@ -36,7 +36,7 @@ import com.google.common.hash.Hashing;
incubator-fluo git commit: removed default methods from interfaces #770 #771 #772
Repository: incubator-fluo Updated Branches: refs/heads/master 0373ec549 -> 49b3abb64 removed default methods from interfaces #770 #771 #772 Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/49b3abb6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/49b3abb6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/49b3abb6 Branch: refs/heads/master Commit: 49b3abb64e463f8a6265dbe1d2ce48068fbea8fe Parents: 0373ec5 Author: Keith TurnerAuthored: Fri Sep 16 16:22:50 2016 -0400 Committer: Keith Turner Committed: Fri Sep 16 16:22:50 2016 -0400 -- .../fluo/api/client/AbstractSnapshotBase.java | 102 + .../api/client/AbstractTransactionBase.java | 41 .../apache/fluo/api/client/SnapshotBase.java| 71 +-- .../apache/fluo/api/client/TransactionBase.java | 13 +- .../api/client/AbstractTransactionBaseTest.java | 210 +++ .../client/TestDefaultTransactionMethods.java | 210 --- .../apache/fluo/core/impl/TransactionImpl.java | 3 +- .../fluo/core/log/TracingTransaction.java | 4 +- .../fluo/integration/TestTransaction.java | 3 +- 9 files changed, 375 insertions(+), 282 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/49b3abb6/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java b/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java new file mode 100644 index 000..30b325a --- /dev/null +++ b/modules/api/src/main/java/org/apache/fluo/api/client/AbstractSnapshotBase.java @@ -0,0 +1,102 @@ +/* + * 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.api.client; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.google.common.collect.Collections2; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Maps; +import org.apache.fluo.api.data.Bytes; +import org.apache.fluo.api.data.Column; +import org.apache.fluo.api.data.RowColumn; + +/** + * This class provides default implementations for many of the classes in SnapshotBase. It exists to + * make implementing SnapshotBase easier. + */ + +public abstract class AbstractSnapshotBase implements SnapshotBase { + + public Bytes get(Bytes row, Column column, Bytes defaultValue) { +Bytes ret = get(row, column); +if (ret == null) { + return defaultValue; +} + +return ret; + } + + public Map get(Bytes row, Column... columns) { +return get(row, ImmutableSet.copyOf(columns)); + } + + public Map > get(Collection rows, Column... columns) { +return get(rows, ImmutableSet.copyOf(columns)); + } + + public Map gets(Collection rowColumns) { +Map bytesMap = get(rowColumns); +return Maps.transformValues(bytesMap, b -> b.toString()); + } + + public Map > gets(Collection rows, + Set columns) { +Map > rcvs = +get(Collections2.transform(rows, s -> Bytes.of(s)), columns); +Map > ret = new HashMap<>(rcvs.size()); + +for (Entry > entry : rcvs.entrySet()) { + ret.put(entry.getKey().toString(), Maps.transformValues(entry.getValue(), b -> b.toString())); +} +return ret; + } + + public Map > gets(Collection rows, + Column... columns) { +return gets(rows, ImmutableSet.copyOf(columns)); + } + + public String gets(CharSequence row, Column column) { +Bytes val = get(Bytes.of(row), column); +if (val == null) { + return null; +} +return val.toString(); + } + + public String
[5/6] incubator-fluo git commit: closes #768 made observer & app cfg consistent
closes #768 made observer & app cfg consistent Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/556df6db Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/556df6db Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/556df6db Branch: refs/heads/master Commit: 556df6dbbe5460caa1372e6962301b3415e88eef Parents: 2b1c456 Author: Keith TurnerAuthored: Thu Sep 15 18:13:17 2016 -0400 Committer: Keith Turner Committed: Thu Sep 15 18:13:17 2016 -0400 -- .../fluo/api/config/FluoConfiguration.java | 28 +++--- .../fluo/api/config/ObserverConfiguration.java | 78 - .../fluo/api/config/ObserverSpecification.java | 90 .../fluo/api/config/SimpleConfiguration.java| 28 ++ .../org/apache/fluo/api/observer/Observer.java | 6 +- .../fluo/api/config/FluoConfigurationTest.java | 37 .../apache/fluo/core/client/FluoAdminImpl.java | 30 +++ .../org/apache/fluo/core/client/Operations.java | 20 ++--- .../org/apache/fluo/core/impl/Environment.java | 20 ++--- .../fluo/core/worker/ObserverContext.java | 16 ++-- .../org/apache/fluo/core/worker/Observers.java | 6 +- .../org/apache/fluo/integration/ITBase.java | 4 +- .../fluo/integration/impl/AppConfigIT.java | 6 +- .../fluo/integration/impl/CollisionIT.java | 6 +- .../apache/fluo/integration/impl/FailureIT.java | 8 +- .../apache/fluo/integration/impl/FluoIT.java| 6 +- .../fluo/integration/impl/NotificationGcIT.java | 6 +- .../fluo/integration/impl/ObserverConfigIT.java | 33 +++ .../integration/impl/SelfNotificationIT.java| 6 +- .../integration/impl/StrongNotificationIT.java | 6 +- .../integration/impl/WeakNotificationIT.java| 6 +- .../impl/WeakNotificationOverlapIT.java | 6 +- .../apache/fluo/integration/impl/WorkerIT.java | 6 +- .../org/apache/fluo/integration/log/LogIT.java | 8 +- 24 files changed, 254 insertions(+), 212 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/556df6db/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java b/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java index 562221d..801a025 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java +++ b/modules/api/src/main/java/org/apache/fluo/api/config/FluoConfiguration.java @@ -113,6 +113,10 @@ public class FluoConfiguration extends SimpleConfiguration { super(propertiesFile); } + public FluoConfiguration(Map map) { +super(map); + } + public void validate() { // keep in alphabetical order getAccumuloClasspath(); @@ -126,7 +130,7 @@ public class FluoConfiguration extends SimpleConfiguration { getClientRetryTimeout(); getLoaderQueueSize(); getLoaderThreads(); -getObserverConfig(); +getObserverSpecifications(); getTransactionRollbackTime(); getWorkerThreads(); getZookeeperTimeout(); @@ -275,9 +279,9 @@ public class FluoConfiguration extends SimpleConfiguration { return getPositiveInt(WORKER_NUM_THREADS_PROP, WORKER_NUM_THREADS_DEFAULT); } - public List getObserverConfig() { + public List getObserverSpecifications() { -List configList = new ArrayList<>(); +List configList = new ArrayList<>(); Iterator iter = getKeys(); while (iter.hasNext()) { @@ -298,7 +302,6 @@ public class FluoConfiguration extends SimpleConfiguration { if (className.isEmpty()) { throw new IllegalArgumentException(key + " has empty class name: " + className); } -ObserverConfiguration observerConfig = new ObserverConfiguration(className); Map params = new HashMap<>(); for (int i = 1; i < fields.length; i++) { @@ -313,8 +316,9 @@ public class FluoConfiguration extends SimpleConfiguration { } params.put(kv[0], kv[1]); } -observerConfig.setParameters(params); -configList.add(observerConfig); + +ObserverSpecification observerSpecification = new ObserverSpecification(className, params); +configList.add(observerSpecification); } } return configList; @@ -338,8 +342,8 @@ public class FluoConfiguration extends SimpleConfiguration { return max + 1; } - private void addObserver(ObserverConfiguration oconf, int next) { -Map params = oconf.getParameters(); + private void addObserver(ObserverSpecification oconf, int next) { +Map params =
[6/6] incubator-fluo git commit: Merge remote-tracking branch 'origin/fluo-770'
Merge remote-tracking branch 'origin/fluo-770' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/0373ec54 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/0373ec54 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/0373ec54 Branch: refs/heads/master Commit: 0373ec549cfe7fbce7e5bea554194e69fead9617 Parents: 556df6d b8a69cf Author: Keith TurnerAuthored: Fri Sep 16 14:24:56 2016 -0400 Committer: Keith Turner Committed: Fri Sep 16 14:24:56 2016 -0400 -- .../apache/fluo/api/client/SnapshotBase.java| 104 - .../apache/fluo/api/client/TransactionBase.java | 12 +- .../client/TestDefaultTransactionMethods.java | 210 +++ .../apache/fluo/core/impl/TransactionImpl.java | 36 .../org/apache/fluo/core/impl/TxStringUtil.java | 64 -- .../fluo/core/log/TracingTransaction.java | 37 .../fluo/integration/TestTransaction.java | 36 7 files changed, 316 insertions(+), 183 deletions(-) --
[3/3] incubator-fluo git commit: Merge branch 'fluo-746'
Merge branch 'fluo-746' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/f8d0af6e Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/f8d0af6e Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/f8d0af6e Branch: refs/heads/master Commit: f8d0af6e92a58beebf2060416448a1f3ed138fe6 Parents: 5400971 aa36c88 Author: Keith TurnerAuthored: Thu Aug 4 09:56:42 2016 -0400 Committer: Keith Turner Committed: Thu Aug 4 09:56:42 2016 -0400 -- .../fluo/accumulo/data/WriteUtilImpl.java | 36 --- .../fluo/accumulo/util/ByteArrayUtil.java | 65 +++- .../fluo/accumulo/util/NotificationUtil.java| 4 +- .../apache/fluo/accumulo/values/LockValue.java | 6 +- .../java/org/apache/fluo/api/data/Bytes.java| 307 --- .../org/apache/fluo/api/data/BytesBuilder.java | 133 .../apache/fluo/api/data/BytesBuilderTest.java | 164 ++ .../org/apache/fluo/api/data/BytesTest.java | 171 +++ .../org/apache/fluo/api/data/ColumnTest.java| 122 .../org/apache/fluo/api/data/RowColumnTest.java | 86 ++ .../fluo/api/data/RowColumnValueTest.java | 87 ++ .../java/org/apache/fluo/api/data/SpanTest.java | 260 .../org/apache/fluo/core/util/ByteUtil.java | 19 ++ .../org/apache/fluo/core/util/ColumnUtil.java | 22 +- .../apache/fluo/core/data/BytesBuilderTest.java | 131 .../org/apache/fluo/core/data/BytesTest.java| 102 -- .../org/apache/fluo/core/data/ColumnTest.java | 122 .../apache/fluo/core/data/RowColumnTest.java| 86 -- .../fluo/core/data/RowColumnValueTest.java | 87 -- .../org/apache/fluo/core/data/SpanTest.java | 260 .../org/apache/fluo/core/util/ByteUtilTest.java | 18 ++ 21 files changed, 1196 insertions(+), 1092 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/f8d0af6e/modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java -- diff --cc modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java index 000,12acdcc..56c33f6 mode 00,100644..100644 --- a/modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java +++ b/modules/api/src/test/java/org/apache/fluo/api/data/BytesTest.java @@@ -1,0 -1,163 +1,171 @@@ + /* + * 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.api.data; + + import java.io.ByteArrayOutputStream; + import java.io.IOException; + import java.nio.ByteBuffer; + import java.nio.ReadOnlyBufferException; + import java.nio.charset.StandardCharsets; + import java.util.Arrays; + + import org.apache.fluo.api.data.Bytes; + import org.junit.Assert; + import org.junit.Test; + + /** + * Unit test for {@link Bytes} + */ + public class BytesTest { + + @Test + public void testBytesWrap() { + + String s1 = "test1"; + Bytes b1 = Bytes.of(s1); + Assert.assertArrayEquals(s1.getBytes(), b1.toArray()); + Assert.assertEquals(s1, b1.toString()); + + String s2 = "test2"; + ByteBuffer bb = ByteBuffer.wrap(s2.getBytes()); + Bytes b2 = Bytes.of(bb); + Assert.assertArrayEquals(s2.getBytes(), b2.toArray()); + Assert.assertEquals(s2, b2.toString()); + + // call again to ensure that position was not changed by previous call + b2 = Bytes.of(bb); + Assert.assertArrayEquals(s2.getBytes(), b2.toArray()); + Assert.assertEquals(s2, b2.toString()); + + String s3 = "test3"; + Bytes b3 = Bytes.of(s3.getBytes()); + Assert.assertArrayEquals(s3.getBytes(), b3.toArray()); + Assert.assertEquals(s3, b3.toString()); + + String s4 = "test4"; + byte[] d4 = s4.getBytes(); + Bytes b4 = Bytes.of(d4, 0, d4.length); + Assert.assertArrayEquals(s4.getBytes(), b4.toArray()); + Assert.assertEquals(s4, b4.toString()); + } + + @Test + public void testImmutable() { + byte[] d1 =
[1/2] incubator-fluo git commit: Fixes #740 - Use Java hashcode helper methods. * Removed hashCode() method from Bytes. * Add hashCode() method to MutableBytes. * Used Java helper methods for hashCode
Repository: incubator-fluo Updated Branches: refs/heads/master 69f8369c7 -> 540097174 Fixes #740 - Use Java hashcode helper methods. * Removed hashCode() method from Bytes. * Add hashCode() method to MutableBytes. * Used Java helper methods for hashCode() methods in data classes. * Added test to BytesTest to check for proper hashing. Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/61a43a7b Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/61a43a7b Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/61a43a7b Branch: refs/heads/master Commit: 61a43a7b84db631b8bd8a58e0a802c367f5dda7b Parents: 051a33b Author: Christopher McTagueAuthored: Thu Jul 28 14:35:28 2016 -0400 Committer: Keith Turner Committed: Mon Aug 1 10:46:25 2016 -0400 -- .../api/src/main/java/org/apache/fluo/api/data/Column.java | 2 +- .../src/main/java/org/apache/fluo/api/data/ColumnValue.java | 3 ++- .../src/main/java/org/apache/fluo/api/data/RowColumn.java| 2 +- .../main/java/org/apache/fluo/api/data/RowColumnValue.java | 4 +++- .../src/test/java/org/apache/fluo/core/data/BytesTest.java | 8 .../test/java/org/apache/fluo/core/data/RowColumnTest.java | 2 +- 6 files changed, 16 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/api/src/main/java/org/apache/fluo/api/data/Column.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/Column.java b/modules/api/src/main/java/org/apache/fluo/api/data/Column.java index 8d17a93..0c0ed29 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/Column.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/Column.java @@ -172,7 +172,7 @@ public class Column implements Comparable, Serializable { @Override public int hashCode() { -return family.hashCode() + 31 * (31 * qualifier.hashCode() + visibility.hashCode()); +return Objects.hash(family, qualifier, visibility); } @Override http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java b/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java index 4080e8c..92def93 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java @@ -16,6 +16,7 @@ package org.apache.fluo.api.data; import java.io.Serializable; +import java.util.Objects; /** * @since 1.0.0 @@ -73,7 +74,7 @@ public class ColumnValue implements Serializable, Comparable { @Override public int hashCode() { -return column.hashCode() + 31 * val.hashCode(); +return Objects.hash(column, val); } @Override http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java index 1fa43d7..28ead11 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java @@ -122,7 +122,7 @@ public class RowColumn implements Comparable, Serializable { @Override public int hashCode() { -return row.hashCode() + 31 * col.hashCode(); +return Objects.hash(row, col); } /** http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java index de32948..f1a325e 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java @@ -15,6 +15,8 @@ package org.apache.fluo.api.data; +import java.util.Objects; + /** * An immutable object that can hold a row, column, and value. * @@ -49,7 +51,7 @@ public class RowColumnValue extends RowColumn { @Override public int hashCode() { -return super.hashCode() + 31 * val.hashCode(); +return Objects.hash(super.hashCode(), val); } @Override
[2/3] incubator-fluo git commit: fixes #743 made data classes final
fixes #743 made data classes final Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/2805e2fa Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/2805e2fa Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/2805e2fa Branch: refs/heads/master Commit: 2805e2fadbcc1dedfcc9c422e642d39fefe3cdfc Parents: 051a33b Author: Keith TurnerAuthored: Thu Jul 28 17:32:55 2016 -0400 Committer: Keith Turner Committed: Fri Jul 29 15:31:51 2016 -0400 -- .../apache/fluo/accumulo/data/MutableBytes.java | 135 --- .../fluo/accumulo/data/MutableBytesFactory.java | 30 - .../java/org/apache/fluo/api/data/Bytes.java| 109 +-- .../java/org/apache/fluo/api/data/Column.java | 2 +- .../org/apache/fluo/api/data/ColumnValue.java | 2 +- .../org/apache/fluo/api/data/RowColumn.java | 2 +- .../apache/fluo/api/data/RowColumnValue.java| 77 +++ .../java/org/apache/fluo/api/data/Span.java | 2 +- .../org/apache/fluo/core/impl/Notification.java | 28 ++-- .../apache/fluo/core/impl/TransactionImpl.java | 6 +- .../java/org/apache/fluo/core/util/Hex.java | 2 +- .../fluo/core/worker/NotificationProcessor.java | 10 +- .../finder/hash/HashNotificationFinder.java | 6 +- .../apache/fluo/core/data/MutableBytesTest.java | 52 --- .../fluo/core/data/RowColumnValueTest.java | 7 - .../fluo/mapreduce/FluoEntryInputFormat.java| 2 +- 16 files changed, 158 insertions(+), 314 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/2805e2fa/modules/accumulo/src/main/java/org/apache/fluo/accumulo/data/MutableBytes.java -- diff --git a/modules/accumulo/src/main/java/org/apache/fluo/accumulo/data/MutableBytes.java b/modules/accumulo/src/main/java/org/apache/fluo/accumulo/data/MutableBytes.java deleted file mode 100644 index 898382f..000 --- a/modules/accumulo/src/main/java/org/apache/fluo/accumulo/data/MutableBytes.java +++ /dev/null @@ -1,135 +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.accumulo.data; - -import java.io.Serializable; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; - -import org.apache.fluo.api.data.Bytes; - -/** - * An implementation of {@link Bytes} that is mutable and uses a backing byte array - */ -public class MutableBytes extends Bytes implements Serializable { - - private static final long serialVersionUID = 1L; - - private final byte[] data; - private final int offset; - private final int length; - - public MutableBytes() { -this.data = null; -this.offset = 0; -this.length = 0; - } - - /** - * Creates a new MutableBytes. The given byte array is used directly as the backing array so later - * changes made to the array reflect into the new sequence. - */ - public MutableBytes(byte[] data) { -this.data = data; -this.offset = 0; -this.length = data.length; - } - - /** - * Creates a new MutableBytes from a subsequence of the given byte array. The given byte array is - * used directly as the backing array, so later changes made to the (relevant portion of the) - * array reflect into the new sequence. - * - * @param data byte data - * @param offset starting offset in byte array (inclusive) - * @param length number of bytes to include in sequence - * @throws IllegalArgumentException if the offset or length are out of bounds for the given byte - * array - */ - public MutableBytes(byte[] data, int offset, int length) { -if (offset < 0 || offset > data.length || length < 0 || (offset + length) > data.length) { - throw new IllegalArgumentException(" Bad offset and/or length data.length = " + data.length - + " offset = " + offset + " length = " + length); -} -this.data = data; -this.offset = offset; -this.length = length; - } - - /**
incubator-fluo git commit: Add incubator disclaimer to Fluo Parent POM
Repository: incubator-fluo Updated Branches: refs/heads/fluo-parent b19c35458 -> 005d8ea9f Add incubator disclaimer to Fluo Parent POM Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/005d8ea9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/005d8ea9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/005d8ea9 Branch: refs/heads/fluo-parent Commit: 005d8ea9f5c26f729e28facc420829955f0c2c3a Parents: b19c354 Author: Christopher TubbsAuthored: Tue Jul 26 17:12:39 2016 -0400 Committer: Christopher Tubbs Committed: Tue Jul 26 17:12:39 2016 -0400 -- DISCLAIMER | 9 + 1 file changed, 9 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/005d8ea9/DISCLAIMER -- diff --git a/DISCLAIMER b/DISCLAIMER new file mode 100644 index 000..d028686 --- /dev/null +++ b/DISCLAIMER @@ -0,0 +1,9 @@ +Apache Fluo is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by Apache Incubator. + +Incubation is required of all newly accepted projects until a further review +indicates that the infrastructure, communications, and decision making process +have stabilized in a manner consistent with other successful ASF projects. +While incubation status is not necessarily a reflection of the completeness +or stability of the code, it does indicate that the project has yet +to be fully endorsed by the ASF.
[2/2] incubator-fluo git commit: Merge branch 'fluo-723'
Merge branch 'fluo-723' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/b30c9d76 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/b30c9d76 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/b30c9d76 Branch: refs/heads/master Commit: b30c9d76f917275cf552a75b49d57c89efb80c79 Parents: aa5c766 0e1a601 Author: Keith TurnerAuthored: Mon Jul 25 14:55:22 2016 -0400 Committer: Keith Turner Committed: Mon Jul 25 14:55:22 2016 -0400 -- .../org/apache/fluo/api/client/FluoAdmin.java | 31 .../fluo/cluster/runner/ClusterAppRunner.java | 2 +- .../apache/fluo/core/client/FluoAdminImpl.java | 3 +- .../org/apache/fluo/integration/ITBaseImpl.java | 5 ++-- .../org/apache/fluo/integration/ITBaseMini.java | 5 ++-- .../integration/client/FluoAdminImplIT.java | 10 --- .../java/org/apache/fluo/mini/MiniFluoImpl.java | 4 +-- 7 files changed, 35 insertions(+), 25 deletions(-) --
incubator-fluo git commit: fixes #717 Fixed readme, notice, license, and travis files
Repository: incubator-fluo Updated Branches: refs/heads/fluo-parent fac72e982 -> b19c35458 fixes #717 Fixed readme, notice, license, and travis files Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/b19c3545 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/b19c3545 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/b19c3545 Branch: refs/heads/fluo-parent Commit: b19c3545800fa5a3ac650b6ae27a94bf04f1a404 Parents: fac72e9 Author: Keith TurnerAuthored: Fri Jul 22 15:10:00 2016 -0400 Committer: Keith Turner Committed: Fri Jul 22 17:01:46 2016 -0400 -- .travis.yml | 2 -- LICENSE | 5 +++-- NOTICE | 6 +- README.md | 27 ++- 4 files changed, 18 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/b19c3545/.travis.yml -- diff --git a/.travis.yml b/.travis.yml index 0595e1d..18b277f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,4 @@ language: java jdk: - oraclejdk8 - - oraclejdk7 - - openjdk7 http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/b19c3545/LICENSE -- diff --git a/LICENSE b/LICENSE index 8dada3e..d645695 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,4 @@ + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -178,7 +179,7 @@ APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -186,7 +187,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {} {name of copyright owner} + Copyright [] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/b19c3545/NOTICE -- diff --git a/NOTICE b/NOTICE index d2fa8fb..dab393a 100644 --- a/NOTICE +++ b/NOTICE @@ -1 +1,5 @@ -Copyright 2016 fluo.io contributors +Apache Fluo +Copyright 2016 The Apache Software Foundation. + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/b19c3545/README.md -- diff --git a/README.md b/README.md index 7e7661e..22a4f92 100644 --- a/README.md +++ b/README.md @@ -12,27 +12,20 @@ limitations under the License. --> -[![Build Status][ti]][tl] [![Maven Central][mi]][ml] [![Issues][ii]][il] -[![Forks][fi]][fl] [![Stars][si]][sl] [![Apache License][li]][ll] +[![Build Status][ti]][tl] [![Maven Central][mi]][ml] [![Apache License][li]][ll] -# Fluo.io Parent POM +# Apache Fluo Parent POM View documentation at: -http://fluo.io +https://fluo.apache.org -Parent pom for fluo-io projects +Parent pom for Apache Fluo projects This project uses a 1-up counter for its versioning. -[ti]: https://travis-ci.org/fluo-io/fluo-io-parent.svg?branch=master -[tl]: https://travis-ci.org/fluo-io/fluo-io-parent -[mi]: https://maven-badges.herokuapp.com/maven-central/io.fluo/fluo-io-parent/badge.svg -[ml]: https://maven-badges.herokuapp.com/maven-central/io.fluo/fluo-io-parent -[ii]: https://img.shields.io/github/issues/fluo-io/fluo-io-parent.svg -[il]: https://github.com/fluo-io/fluo-io-parent/issues -[fi]: https://img.shields.io/github/forks/fluo-io/fluo-io-parent.svg -[fl]: https://github.com/fluo-io/fluo-io-parent/network -[si]: https://img.shields.io/github/stars/fluo-io/fluo-io-parent.svg -[sl]: https://github.com/fluo-io/fluo-io-parent/stargazers -[li]: http://img.shields.io/badge/license-ASL-blue.svg -[ll]: https://github.com/fluo-io/fluo-io-parent/blob/master/LICENSE +[ti]: https://travis-ci.org/apache/incubator-fluo.svg?branch=fluo-parent +[tl]: https://travis-ci.org/apache/incubator-fluo/branches +[mi]: https://maven-badges.herokuapp.com/maven-central/org.apache.fluo/fluo-parent/badge.svg +[ml]: https://maven-badges.herokuapp.com/maven-central/org.apache.fluo/fluo-parent
[2/2] incubator-fluo git commit: Merge branch 'fixes435'
Merge branch 'fixes435' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/8944203d Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/8944203d Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/8944203d Branch: refs/heads/master Commit: 8944203df03c3ec35edb1784a47f3b49091a051a Parents: d70b860 22a4911 Author: Keith TurnerAuthored: Mon Jul 18 15:05:24 2016 -0400 Committer: Keith Turner Committed: Mon Jul 18 15:05:24 2016 -0400 -- modules/accumulo/pom.xml | 5 - modules/api/pom.xml | 14 - modules/cluster/pom.xml | 41 +++ modules/core/pom.xml | 14 + modules/distribution/pom.xml | 8 modules/integration/pom.xml | 19 +- modules/mapreduce/pom.xml| 30 modules/mini/pom.xml | 8 pom.xml | 23 ++ 9 files changed, 63 insertions(+), 99 deletions(-) --
[05/10] incubator-fluo-recipes git commit: Updated package names in core module
http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/beea3f96/modules/core/src/main/java/org/apache/fluo/recipes/core/types/TypedSnapshotBase.java -- diff --git a/modules/core/src/main/java/org/apache/fluo/recipes/core/types/TypedSnapshotBase.java b/modules/core/src/main/java/org/apache/fluo/recipes/core/types/TypedSnapshotBase.java new file mode 100644 index 000..7764e67 --- /dev/null +++ b/modules/core/src/main/java/org/apache/fluo/recipes/core/types/TypedSnapshotBase.java @@ -0,0 +1,555 @@ +/* + * 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.types; + +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.google.common.collect.Maps; +import org.apache.commons.collections.map.DefaultedMap; +import org.apache.fluo.api.client.SnapshotBase; +import org.apache.fluo.api.config.ScannerConfiguration; +import org.apache.fluo.api.data.Bytes; +import org.apache.fluo.api.data.Column; +import org.apache.fluo.api.data.RowColumn; +import org.apache.fluo.api.iterator.RowIterator; +import org.apache.fluo.recipes.core.types.TypeLayer.Data; +import org.apache.fluo.recipes.core.types.TypeLayer.FamilyMethods; +import org.apache.fluo.recipes.core.types.TypeLayer.QualifierMethods; +import org.apache.fluo.recipes.core.types.TypeLayer.RowMethods; + +// TODO need to refactor column to use Encoder + +/** + * A {@link SnapshotBase} that uses a {@link TypeLayer} + * + * @since 1.0.0 + */ +public class TypedSnapshotBase implements SnapshotBase { + + private SnapshotBase snapshot; + private Encoder encoder; + private TypeLayer tl; + + /** + * @since 1.0.0 + */ + public class VisibilityMethods extends Value { + +VisibilityMethods(Data data) { + super(data); +} + +public Value vis(Bytes cv) { + data.vis = cv; + return new Value(data); +} + +public Value vis(byte[] cv) { + data.vis = Bytes.of(cv); + return new Value(data); +} + +public Value vis(ByteBuffer bb) { + data.vis = Bytes.of(bb); + return new Value(data); +} + +public Value vis(String cv) { + data.vis = Bytes.of(cv); + return new Value(data); +} + } + + /** + * @since 1.0.0 + */ + public class Value { +private Bytes bytes; +private boolean gotBytes = false; +Data data; + +public Bytes getBytes() { + if (!gotBytes) { +try { + bytes = snapshot.get(data.row, data.getCol()); + gotBytes = true; +} catch (Exception e) { + if (e instanceof RuntimeException) { +throw (RuntimeException) e; + } + throw new RuntimeException(e); +} + } + + return bytes; +} + +private Value(Bytes bytes) { + this.bytes = bytes; + this.gotBytes = true; +} + +private Value(Data data) { + this.data = data; + this.gotBytes = false; +} + +public Integer toInteger() { + if (getBytes() == null) { +return null; + } + return encoder.decodeInteger(getBytes()); +} + +public int toInteger(int defaultValue) { + if (getBytes() == null) { +return defaultValue; + } + return encoder.decodeInteger(getBytes()); +} + +public Long toLong() { + if (getBytes() == null) { +return null; + } + return encoder.decodeLong(getBytes()); +} + +public long toLong(long defaultValue) { + if (getBytes() == null) { +return defaultValue; + } + return encoder.decodeLong(getBytes()); +} + +@Override +public String toString() { + if (getBytes() == null) { +return null; + } + return encoder.decodeString(getBytes()); +} + +public String toString(String defaultValue) { + if (getBytes() == null) { +return defaultValue; + } + return encoder.decodeString(getBytes()); +} + +public Float toFloat() { + if
[02/10] incubator-fluo-recipes git commit: Updated package names in core module
http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/beea3f96/modules/core/src/test/java/org/apache/fluo/recipes/core/types/MockSnapshot.java -- diff --git a/modules/core/src/test/java/org/apache/fluo/recipes/core/types/MockSnapshot.java b/modules/core/src/test/java/org/apache/fluo/recipes/core/types/MockSnapshot.java new file mode 100644 index 000..64fa7c2 --- /dev/null +++ b/modules/core/src/test/java/org/apache/fluo/recipes/core/types/MockSnapshot.java @@ -0,0 +1,30 @@ +/* + * 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.types; + +import org.apache.fluo.api.client.Snapshot; + +public class MockSnapshot extends MockSnapshotBase implements Snapshot { + + MockSnapshot(String... entries) { +super(entries); + } + + @Override + public void close() { +// no resources need to be closed + } +} http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/beea3f96/modules/core/src/test/java/org/apache/fluo/recipes/core/types/MockSnapshotBase.java -- diff --git a/modules/core/src/test/java/org/apache/fluo/recipes/core/types/MockSnapshotBase.java b/modules/core/src/test/java/org/apache/fluo/recipes/core/types/MockSnapshotBase.java new file mode 100644 index 000..d31b36c --- /dev/null +++ b/modules/core/src/test/java/org/apache/fluo/recipes/core/types/MockSnapshotBase.java @@ -0,0 +1,202 @@ +/* + * 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.types; + +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import org.apache.fluo.api.client.SnapshotBase; +import org.apache.fluo.api.config.ScannerConfiguration; +import org.apache.fluo.api.data.Bytes; +import org.apache.fluo.api.data.Column; +import org.apache.fluo.api.data.RowColumn; +import org.apache.fluo.api.iterator.RowIterator; +import org.apache.fluo.core.impl.TxStringUtil; + +public class MockSnapshotBase implements SnapshotBase { + + final Map> getData; + + /** + * Initializes {@link #getData} using {@link #toRCVM(String...)} + */ + MockSnapshotBase(String... entries) { +getData = toRCVM(entries); + } + + @Override + public Bytes get(Bytes row, Column column) { +Map cols = getData.get(row); +if (cols != null) { + return cols.get(column); +} + +return null; + } + + @Override + public Map get(Bytes row, Set columns) { +Map ret = new HashMap<>(); +Map cols = getData.get(row); +if (cols != null) { + for (Column column : columns) { +Bytes val = cols.get(column); +if (val != null) { + ret.put(column, val); +} + } +} +return ret; + } + + @Override + public Map > get(Collection rows, Set columns) { + +Map > ret = new HashMap<>(); + +for (Bytes row : rows) { + Map colMap = get(row, columns); + if (colMap != null && colMap.size() > 0) { +ret.put(row, colMap); + } +} + +return ret; + } + + @Override + public RowIterator get(ScannerConfiguration config) { +throw new UnsupportedOperationException(); + } + + /** + * toRCVM stands for "To Row
[10/10] incubator-fluo-recipes git commit: Merge remote-tracking branch 'mike/package-refactor'
Merge remote-tracking branch 'mike/package-refactor' Conflicts: docs/row-hasher.md modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/cmds/OptimizeTable.java modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/ops/TableOperations.java modules/core/src/main/java/org/apache/fluo/recipes/common/Pirtos.java modules/core/src/main/java/org/apache/fluo/recipes/common/TableOptimizations.java modules/core/src/main/java/org/apache/fluo/recipes/core/common/Pirtos.java modules/core/src/main/java/org/apache/fluo/recipes/core/data/RowHasher.java modules/core/src/main/java/org/apache/fluo/recipes/core/export/ExportQueue.java modules/core/src/main/java/org/apache/fluo/recipes/core/map/CollisionFreeMap.java modules/core/src/test/java/org/apache/fluo/recipes/core/map/SplitsTest.java modules/test/src/main/java/org/apache/fluo/recipes/test/AccumuloExportITBase.java Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/22354d0f Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/22354d0f Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/22354d0f Branch: refs/heads/master Commit: 22354d0f7f03f532ec093b7ece61b5ae9fb070e9 Parents: a8b85f3 083e4af Author: Keith TurnerAuthored: Fri Jul 15 18:01:55 2016 -0400 Committer: Keith Turner Committed: Fri Jul 15 18:01:55 2016 -0400 -- docs/export-queue.md| 2 +- docs/row-hasher.md | 4 +- docs/serialization.md | 2 +- docs/transient.md | 2 +- .../recipes/accumulo/cmds/CompactTransient.java | 13 +- .../recipes/accumulo/cmds/OptimizeTable.java| 6 +- .../recipes/accumulo/export/AccumuloExport.java | 1 + .../accumulo/export/AccumuloExporter.java | 5 +- .../accumulo/export/DifferenceExport.java | 1 + .../accumulo/export/ReplicationExport.java | 5 +- .../accumulo/export/SharedBatchWriter.java | 14 +- .../fluo/recipes/accumulo/export/TableInfo.java | 3 + .../recipes/accumulo/ops/TableOperations.java | 9 +- .../apache/fluo/recipes/common/RowRange.java| 82 --- .../fluo/recipes/common/TableOptimizations.java | 82 --- .../fluo/recipes/common/TransientRegistry.java | 79 --- .../fluo/recipes/core/common/RowRange.java | 85 +++ .../recipes/core/common/TableOptimizations.java | 84 +++ .../recipes/core/common/TransientRegistry.java | 80 +++ .../fluo/recipes/core/data/RowHasher.java | 137 .../apache/fluo/recipes/core/export/Export.java | 41 ++ .../fluo/recipes/core/export/ExportBucket.java | 203 ++ .../fluo/recipes/core/export/ExportEntry.java | 22 + .../recipes/core/export/ExportObserver.java | 143 .../fluo/recipes/core/export/ExportQueue.java | 277 .../fluo/recipes/core/export/Exporter.java | 67 ++ .../recipes/core/export/SequencedExport.java| 32 + .../fluo/recipes/core/impl/BucketUtil.java | 24 + .../fluo/recipes/core/map/CollisionFreeMap.java | 657 +++ .../core/map/CollisionFreeMapObserver.java | 54 ++ .../apache/fluo/recipes/core/map/Combiner.java | 34 + .../recipes/core/map/NullUpdateObserver.java| 25 + .../apache/fluo/recipes/core/map/Update.java| 46 ++ .../fluo/recipes/core/map/UpdateObserver.java | 35 + .../core/serialization/SimpleSerializer.java| 59 ++ .../fluo/recipes/core/transaction/LogEntry.java | 116 .../core/transaction/RecordingTransaction.java | 66 ++ .../transaction/RecordingTransactionBase.java | 252 +++ .../fluo/recipes/core/transaction/TxLog.java| 81 +++ .../apache/fluo/recipes/core/types/Encoder.java | 86 +++ .../fluo/recipes/core/types/StringEncoder.java | 86 +++ .../fluo/recipes/core/types/TypeLayer.java | 488 ++ .../fluo/recipes/core/types/TypedLoader.java| 45 ++ .../fluo/recipes/core/types/TypedObserver.java | 46 ++ .../fluo/recipes/core/types/TypedSnapshot.java | 38 ++ .../recipes/core/types/TypedSnapshotBase.java | 555 .../recipes/core/types/TypedTransaction.java| 46 ++ .../core/types/TypedTransactionBase.java| 278 .../org/apache/fluo/recipes/data/RowHasher.java | 135 .../org/apache/fluo/recipes/export/Export.java | 38 -- .../fluo/recipes/export/ExportBucket.java | 203 -- .../apache/fluo/recipes/export/ExportEntry.java | 22 - .../fluo/recipes/export/ExportObserver.java | 140 .../apache/fluo/recipes/export/ExportQueue.java | 274 .../apache/fluo/recipes/export/Exporter.java| 64 -- .../fluo/recipes/export/SequencedExport.java| 29 -
[08/10] incubator-fluo-recipes git commit: Made SharedBatchWriter package private
Made SharedBatchWriter package private Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/594997ab Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/594997ab Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/594997ab Branch: refs/heads/master Commit: 594997ab7afe4f5a0b57854e64f245b96816aaeb Parents: beea3f9 Author: Mike WalchAuthored: Fri Jul 15 11:50:40 2016 -0400 Committer: Mike Walch Committed: Fri Jul 15 11:50:40 2016 -0400 -- .../recipes/accumulo/export/SharedBatchWriter.java| 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/594997ab/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/SharedBatchWriter.java -- diff --git a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/SharedBatchWriter.java b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/SharedBatchWriter.java index ddc7830..9d189e6 100644 --- a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/SharedBatchWriter.java +++ b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/export/SharedBatchWriter.java @@ -36,14 +36,14 @@ import org.apache.accumulo.core.client.ZooKeeperInstance; import org.apache.accumulo.core.client.security.tokens.PasswordToken; import org.apache.accumulo.core.data.Mutation; -public class SharedBatchWriter { +class SharedBatchWriter { private static class Mutations { List mutations; CountDownLatch cdl = new CountDownLatch(1); -public Mutations(Collection mutations) { +Mutations(Collection mutations) { this.mutations = new ArrayList<>(mutations); } } @@ -52,8 +52,8 @@ public class SharedBatchWriter { private BatchWriter bw; -public ExportTask(String instanceName, String zookeepers, String user, String password, -String table) throws TableNotFoundException, AccumuloException, AccumuloSecurityException { +ExportTask(String instanceName, String zookeepers, String user, String password, String table) +throws TableNotFoundException, AccumuloException, AccumuloSecurityException { ZooKeeperInstance zki = new ZooKeeperInstance(new ClientConfiguration().withInstance(instanceName).withZkHosts( zookeepers)); @@ -107,7 +107,7 @@ public class SharedBatchWriter { private static LinkedBlockingQueue exportQueue = null; - public SharedBatchWriter(String instanceName, String zookeepers, String user, String password, + private SharedBatchWriter(String instanceName, String zookeepers, String user, String password, String table) throws Exception { // TODO: fix this write to static and remove findbugs max rank override in pom.xml @@ -121,7 +121,7 @@ public class SharedBatchWriter { private static Map exporters = new HashMap<>(); - public static synchronized SharedBatchWriter getInstance(String instanceName, String zookeepers, + static synchronized SharedBatchWriter getInstance(String instanceName, String zookeepers, String user, String password, String table) throws Exception { String key = @@ -137,7 +137,7 @@ public class SharedBatchWriter { return ret; } - public void write(Collection mutations) { + void write(Collection mutations) { Mutations work = new Mutations(mutations); exportQueue.add(work); try {
[1/3] incubator-fluo-recipes git commit: Fixes #50 - Rename Pirtos to TableOptimizations
Repository: incubator-fluo-recipes Updated Branches: refs/heads/master f1dce1499 -> a8b85f332 Fixes #50 - Rename Pirtos to TableOptimizations Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/0ce1bc20 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/0ce1bc20 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/0ce1bc20 Branch: refs/heads/master Commit: 0ce1bc20684ab383bb306f31e5435bb7100dd14a Parents: f1dce14 Author: Mike WalchAuthored: Thu Jul 14 10:49:28 2016 -0400 Committer: Mike Walch Committed: Thu Jul 14 10:49:28 2016 -0400 -- docs/row-hasher.md | 4 +- docs/table-optimization.md | 6 +- .../recipes/accumulo/cmds/OptimizeTable.java| 5 +- .../recipes/accumulo/ops/TableOperations.java | 14 ++-- .../org/apache/fluo/recipes/common/Pirtos.java | 83 .../fluo/recipes/common/TableOptimizations.java | 82 +++ .../org/apache/fluo/recipes/data/RowHasher.java | 12 +-- .../apache/fluo/recipes/export/ExportQueue.java | 21 ++--- .../fluo/recipes/map/CollisionFreeMap.java | 20 ++--- .../fluo/recipes/common/TestGrouping.java | 25 +++--- .../org/apache/fluo/recipes/map/SplitsTest.java | 15 ++-- .../fluo/recipes/test/AccumuloExportITBase.java | 5 +- 12 files changed, 149 insertions(+), 143 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/0ce1bc20/docs/row-hasher.md -- diff --git a/docs/row-hasher.md b/docs/row-hasher.md index adb423f..78aab23 100644 --- a/docs/row-hasher.md +++ b/docs/row-hasher.md @@ -31,7 +31,7 @@ balancing of the prefix. ```java import org.apache.fluo.api.data.Bytes; -import org.apache.fluo.recipes.common.Pirtos; +import org.apache.fluo.recipes.common.TableOptimizations; import org.apache.fluo.recipes.data.RowHasher; public class RowHasherExample { @@ -60,7 +60,7 @@ public class RowHasherExample { // Generate table optimizations for the recipe. This can be called when setting up an // application that uses a hashed row. int numTablets = 20; -Pirtos tableOptimizations = pageRowHasher.getTableOptimizations(numTablets); +TableOptimizations tableOptimizations = pageRowHasher.getTableOptimizations(numTablets); System.out.println("Balance config : " + tableOptimizations.getTabletGroupingRegex()); System.out.println("Splits : "); tableOptimizations.getSplits().forEach(System.out::println); http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/0ce1bc20/docs/table-optimization.md -- diff --git a/docs/table-optimization.md b/docs/table-optimization.md index a194b5e..068f586 100644 --- a/docs/table-optimization.md +++ b/docs/table-optimization.md @@ -24,7 +24,7 @@ CollisionFreeMap.configure(fluoConf, ...); FluoFactory.newAdmin(fluoConf).initialize(...) //Automatically optimize the Fluo table for all configured recipes -Pirtos tableOptimizations = getConfiguredOptimizations(fluoConf); +TableOptimizations tableOptimizations = getConfiguredOptimizations(fluoConf); TableOperations.optimizeTable(fluoConf, tableOptimizations); ``` @@ -33,8 +33,8 @@ selective optimizations is need look into using the following methods instead. * `CollisionFreeMap.getTableOptimizations(String mapId, Configuration appConfig)` * `ExportQueue.getTableOptimizations(String queueId, Configuration appConfig)` - * `TableOperations.optimizeTable(FluoConfiguration fluoConfig, Pirtos pirtos)` - * `Pirtos.merge()` + * `TableOperations.optimizeTable(FluoConfiguration fluoConfig, TableOptimizations tableOptim)` + * `TableOptimizations.merge()` ## Command Example http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/0ce1bc20/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/cmds/OptimizeTable.java -- diff --git a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/cmds/OptimizeTable.java b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/cmds/OptimizeTable.java index 6b5276b..7910bdb 100644 --- a/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/cmds/OptimizeTable.java +++ b/modules/accumulo/src/main/java/org/apache/fluo/recipes/accumulo/cmds/OptimizeTable.java @@ -19,7 +19,7 @@ import javax.inject.Inject; import org.apache.fluo.api.config.FluoConfiguration; import org.apache.fluo.recipes.accumulo.ops.TableOperations; -import org.apache.fluo.recipes.common.Pirtos; +import
[2/3] incubator-fluo-recipes git commit: Update whitespace in LICENSE file
Update whitespace in LICENSE file Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/9bafe1a1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/9bafe1a1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/9bafe1a1 Branch: refs/heads/master Commit: 9bafe1a1e371ae6d8af45a5307c1333baf9981a2 Parents: f1dce14 Author: Mike WalchAuthored: Fri Jul 15 13:34:03 2016 -0400 Committer: Mike Walch Committed: Fri Jul 15 13:34:03 2016 -0400 -- LICENSE | 367 ++- 1 file changed, 189 insertions(+), 178 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/blob/9bafe1a1/LICENSE -- diff --git a/LICENSE b/LICENSE index 37ec93a..d645695 100644 --- a/LICENSE +++ b/LICENSE @@ -1,180 +1,191 @@ -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. - -2. Grant of Copyright License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license
[3/3] incubator-fluo-recipes git commit: Merge remote-tracking branch 'mike/fr-50'
Merge remote-tracking branch 'mike/fr-50' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/commit/a8b85f33 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/tree/a8b85f33 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo-recipes/diff/a8b85f33 Branch: refs/heads/master Commit: a8b85f33288e32b73b6c042305f1cf065195b863 Parents: 9bafe1a 0ce1bc2 Author: Keith TurnerAuthored: Fri Jul 15 17:05:40 2016 -0400 Committer: Keith Turner Committed: Fri Jul 15 17:05:40 2016 -0400 -- docs/row-hasher.md | 4 +- docs/table-optimization.md | 6 +- .../recipes/accumulo/cmds/OptimizeTable.java| 5 +- .../recipes/accumulo/ops/TableOperations.java | 14 ++-- .../org/apache/fluo/recipes/common/Pirtos.java | 83 .../fluo/recipes/common/TableOptimizations.java | 82 +++ .../org/apache/fluo/recipes/data/RowHasher.java | 12 +-- .../apache/fluo/recipes/export/ExportQueue.java | 21 ++--- .../fluo/recipes/map/CollisionFreeMap.java | 20 ++--- .../fluo/recipes/common/TestGrouping.java | 25 +++--- .../org/apache/fluo/recipes/map/SplitsTest.java | 15 ++-- .../fluo/recipes/test/AccumuloExportITBase.java | 5 +- 12 files changed, 149 insertions(+), 143 deletions(-) --
[2/3] incubator-fluo git commit: fixes #639 vastly improved the scanner API
fixes #639 vastly improved the scanner API Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/23374784 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/23374784 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/23374784 Branch: refs/heads/master Commit: 233747847831efc4dad6cc030a895860ead7d71e Parents: e72a931 Author: Keith TurnerAuthored: Wed Jul 13 18:09:15 2016 -0400 Committer: Keith Turner Committed: Fri Jul 15 11:27:13 2016 -0400 -- .../apache/fluo/api/client/SnapshotBase.java| 43 +++- .../fluo/api/client/scanner/CellScanner.java| 25 ++ .../fluo/api/client/scanner/ColumnScanner.java | 30 +++ .../fluo/api/client/scanner/RowScanner.java | 23 ++ .../api/client/scanner/RowScannerBuilder.java | 26 ++ .../fluo/api/client/scanner/ScannerBuilder.java | 61 + .../fluo/api/config/ScannerConfiguration.java | 98 .../org/apache/fluo/api/data/ColumnValue.java | 76 ++ .../fluo/api/iterator/ColumnIterator.java | 31 --- .../apache/fluo/api/iterator/RowIterator.java | 30 --- .../apache/fluo/cluster/runner/AppRunner.java | 107 .../apache/fluo/cluster/runner/ScanTest.java| 8 +- .../fluo/core/impl/ColumnIteratorImpl.java | 90 --- .../apache/fluo/core/impl/RowIteratorImpl.java | 77 -- .../apache/fluo/core/impl/SnapshotScanner.java | 244 +++ .../apache/fluo/core/impl/TransactionImpl.java | 61 +++-- .../fluo/core/impl/scanner/CellScannerImpl.java | 57 + .../core/impl/scanner/ColumnScannerImpl.java| 71 ++ .../fluo/core/impl/scanner/RowScannerImpl.java | 50 .../core/impl/scanner/ScannerBuilderImpl.java | 90 +++ .../fluo/core/log/TracingTransaction.java | 9 +- .../core/config/ScannerConfigurationTest.java | 92 --- .../org/apache/fluo/integration/ITBase.java | 21 +- .../org/apache/fluo/integration/ITBaseImpl.java | 1 + .../fluo/integration/TestTransaction.java | 7 +- .../apache/fluo/integration/impl/FluoIT.java| 31 +-- .../apache/fluo/integration/impl/ScannerIT.java | 217 + .../fluo/integration/impl/StochasticBankIT.java | 24 +- .../integration/impl/WeakNotificationIT.java| 21 +- .../apache/fluo/integration/impl/WorkerIT.java | 17 +- .../fluo/mapreduce/FluoEntryInputFormat.java| 45 ++-- .../fluo/mapreduce/FluoRowInputFormat.java | 37 +-- pom.xml | 4 +- 33 files changed, 1082 insertions(+), 742 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/23374784/modules/api/src/main/java/org/apache/fluo/api/client/SnapshotBase.java -- diff --git a/modules/api/src/main/java/org/apache/fluo/api/client/SnapshotBase.java b/modules/api/src/main/java/org/apache/fluo/api/client/SnapshotBase.java index 778aa94..79e1cef 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/client/SnapshotBase.java +++ b/modules/api/src/main/java/org/apache/fluo/api/client/SnapshotBase.java @@ -19,11 +19,11 @@ import java.util.Collection; import java.util.Map; import java.util.Set; -import org.apache.fluo.api.config.ScannerConfiguration; +import org.apache.fluo.api.client.scanner.ScannerBuilder; import org.apache.fluo.api.data.Bytes; import org.apache.fluo.api.data.Column; import org.apache.fluo.api.data.RowColumn; -import org.apache.fluo.api.iterator.RowIterator; +import org.apache.fluo.api.data.Span; /** * Allows users to read from a Fluo table at a certain point in time @@ -57,9 +57,44 @@ public interface SnapshotBase { Map > get(Collection rowColumns); /** - * Retrieves a {@link RowIterator} with the given {@link ScannerConfiguration} + * This method is the starting point for constructing a scanner. Scanners can be constructed over + * a {@link Span} and/or with a subset of columns. Below is simple example of building a scanner. + * + * + * {@code + * Transaction tx = ...; + * Span span = Span.exact("row4"); + * Column col1 = new Column("fam1","qual1"); + * Column col2 = new Column("fam1","qual2"); + * + * //create a scanner over row4 fetching columns fam1:qual1 and fam1:qual2 + * CellScanner cs = tx.scanner().over(span).fetch(col1,col2).build(); + * for(RowColumnValue rcv : cs) { + * //do stuff with rcv + * } + * } + * + * + * + * The following example shows how to build a row scanner. + * + * + * { + * code + * RowScanner rs = tx.scanner().over(span).fetch(col1, col2).byRow().build(); + * for (ColumnScanner colScanner : rs) { + * Bytes row =
[3/3] incubator-fluo git commit: Merge branch 'fluo-639'
Merge branch 'fluo-639' Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/bf15cef6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/bf15cef6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/bf15cef6 Branch: refs/heads/master Commit: bf15cef613357fe9bf62076a44dd96c4fe4fed54 Parents: add0fd4 2337478 Author: Keith TurnerAuthored: Fri Jul 15 11:27:53 2016 -0400 Committer: Keith Turner Committed: Fri Jul 15 11:27:53 2016 -0400 -- .../apache/fluo/api/client/SnapshotBase.java| 43 +++- .../fluo/api/client/scanner/CellScanner.java| 25 ++ .../fluo/api/client/scanner/ColumnScanner.java | 30 +++ .../fluo/api/client/scanner/RowScanner.java | 23 ++ .../api/client/scanner/RowScannerBuilder.java | 26 ++ .../fluo/api/client/scanner/ScannerBuilder.java | 61 + .../fluo/api/config/ScannerConfiguration.java | 98 .../org/apache/fluo/api/data/ColumnValue.java | 76 ++ .../fluo/api/iterator/ColumnIterator.java | 31 --- .../apache/fluo/api/iterator/RowIterator.java | 30 --- .../apache/fluo/cluster/runner/AppRunner.java | 107 .../apache/fluo/cluster/runner/ScanTest.java| 8 +- .../fluo/core/impl/ColumnIteratorImpl.java | 90 --- .../apache/fluo/core/impl/RowIteratorImpl.java | 77 -- .../apache/fluo/core/impl/SnapshotScanner.java | 244 +++ .../apache/fluo/core/impl/TransactionImpl.java | 61 +++-- .../fluo/core/impl/scanner/CellScannerImpl.java | 57 + .../core/impl/scanner/ColumnScannerImpl.java| 71 ++ .../fluo/core/impl/scanner/RowScannerImpl.java | 50 .../core/impl/scanner/ScannerBuilderImpl.java | 90 +++ .../fluo/core/log/TracingTransaction.java | 9 +- .../core/config/ScannerConfigurationTest.java | 92 --- .../org/apache/fluo/integration/ITBase.java | 21 +- .../org/apache/fluo/integration/ITBaseImpl.java | 1 + .../fluo/integration/TestTransaction.java | 7 +- .../apache/fluo/integration/impl/FluoIT.java| 31 +-- .../apache/fluo/integration/impl/ScannerIT.java | 217 + .../fluo/integration/impl/StochasticBankIT.java | 24 +- .../integration/impl/WeakNotificationIT.java| 21 +- .../apache/fluo/integration/impl/WorkerIT.java | 17 +- .../fluo/mapreduce/FluoEntryInputFormat.java| 45 ++-- .../fluo/mapreduce/FluoRowInputFormat.java | 37 +-- 32 files changed, 1080 insertions(+), 740 deletions(-) --