[01/15] usergrid git commit: Adds trace logging for debugging purposes to diagnose issue
Repository: usergrid Updated Branches: refs/heads/2.1-release 1fe1d1a34 -> 0604247f6 Adds trace logging for debugging purposes to diagnose issue Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/c417099d Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/c417099d Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/c417099d Branch: refs/heads/2.1-release Commit: c417099d6260163ad391c76162b673efb861bf3a Parents: a09485a Author: Todd NineAuthored: Wed Oct 21 10:19:28 2015 -0600 Committer: Todd Nine Committed: Wed Oct 21 10:19:28 2015 -0600 -- .../corepersistence/index/IndexServiceImpl.java | 3 +- .../core/astyanax/MultiRowColumnIterator.java | 46 +++- .../shard/impl/ShardGroupColumnIterator.java| 11 + .../impl/shard/impl/ShardsColumnIterator.java | 10 + 4 files changed, 38 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/c417099d/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java index d160aac..ccb6221 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java @@ -204,8 +204,9 @@ public class IndexServiceImpl implements IndexService { //If we get no search results, its possible that something was already deleted or //that it wasn't indexed yet. In either case we can't delete anything and return an empty observable.. -if(crs.isEmpty()) +if(crs.isEmpty()) { return Observable.empty(); +} UUID timeUUID = UUIDUtils.isTimeBased(entityId.getUuid()) ? entityId.getUuid() : UUIDUtils.newTimeUUID(); //not actually sure about the timestamp but ah well. works. http://git-wip-us.apache.org/repos/asf/usergrid/blob/c417099d/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowColumnIterator.java -- diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowColumnIterator.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowColumnIterator.java index 667992c..c6c1a12 100644 --- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowColumnIterator.java +++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowColumnIterator.java @@ -50,7 +50,7 @@ import com.netflix.astyanax.util.RangeBuilder; */ public class MultiRowColumnIterator implements Iterator { -private static final Logger LOG = LoggerFactory.getLogger( MultiRowColumnIterator.class ); +private static final Logger logger = LoggerFactory.getLogger( MultiRowColumnIterator.class ); private final int pageSize; @@ -148,6 +148,9 @@ public class MultiRowColumnIterator implements Iterator { public void advance() { + +logger.trace( "Advancing multi row column iterator" ); + /** * If the edge is present, we need to being seeking from this */ @@ -156,7 +159,6 @@ public class MultiRowColumnIterator implements Iterator { -//TODO, finalize why this isn't working as expected final int selectSize = skipFirstColumn ? pageSize + 1 : pageSize; final RangeBuilder rangeBuilder = new RangeBuilder(); @@ -174,6 +176,7 @@ public class MultiRowColumnIterator implements Iterator { rangeBuilder.setLimit( selectSize ); +logger.trace( "Executing cassandra query" ); /** * Get our list of slices @@ -242,7 +245,7 @@ public class MultiRowColumnIterator implements Iterator { currentColumnIterator = mergedResults.iterator(); -LOG.trace( "Finished parsing {} rows for results", rowKeys.size() ); +logger.trace( "Finished parsing {} rows for results", rowKeys.size() ); } @@ -275,6 +278,7 @@ public class MultiRowColumnIterator implements Iterator { */ private List singleRowResult( final Rows result ) { +logger.trace( "Only a single row has columns. Parsing directly" ); for ( R key : result.getKeys() ) { final ColumnList columnList = result.getRow( key
[02/15] usergrid git commit: USERGRID-1056 - Move the filtering of older entity versions on index deletes to Usergrid and not in the Elasticsearch query.
USERGRID-1056 - Move the filtering of older entity versions on index deletes to Usergrid and not in the Elasticsearch query. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2c1147e4 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2c1147e4 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2c1147e4 Branch: refs/heads/2.1-release Commit: 2c1147e49f76702dcf03ecaef6ece1f30306aa5f Parents: c417099 Author: Michael RussoAuthored: Wed Oct 21 14:07:18 2015 -0700 Committer: Michael Russo Committed: Wed Oct 21 14:07:18 2015 -0700 -- .../index/impl/EsEntityIndexImpl.java | 45 +++- 1 file changed, 35 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2c1147e4/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java -- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java index f6ebce2..9be591e 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java @@ -460,7 +460,7 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData { while(true){ //add search result hits to some sort of running tally of hits. -candidates = aggregateScrollResults( candidates, searchResponse ); +candidates = aggregateScrollResults( candidates, searchResponse, null ); SearchScrollRequestBuilder ssrb = searchRequestBuilderStrategyV2 .getScrollBuilder( searchResponse.getScrollId() ) @@ -510,11 +510,7 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData { FilterBuilder entityIdFilter = FilterBuilders.termFilter(IndexingUtils.ENTITY_ID_FIELDNAME, IndexingUtils.entityId(entityId)); -FilterBuilder entityVersionFilter = FilterBuilders.rangeFilter( IndexingUtils.ENTITY_VERSION_FIELDNAME ).lte(markedVersion); - -FilterBuilder andFilter = FilterBuilders.andFilter(entityIdFilter, entityVersionFilter); - -srb.setPostFilter(andFilter); +srb.setPostFilter(entityIdFilter); @@ -536,7 +532,7 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData { while(true){ //add search result hits to some sort of running tally of hits. -candidates = aggregateScrollResults( candidates, searchResponse ); +candidates = aggregateScrollResults( candidates, searchResponse, markedVersion); SearchScrollRequestBuilder ssrb = searchRequestBuilderStrategyV2 .getScrollBuilder( searchResponse.getScrollId() ) @@ -649,8 +645,8 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData { return candidateResults; } -private List aggregateScrollResults( List candidates, - final SearchResponse searchResponse ){ +private List aggregateScrollResults(List candidates, + final SearchResponse searchResponse, final UUID markedVersion){ final SearchHits searchHits = searchResponse.getHits(); final SearchHit[] hits = searchHits.getHits(); @@ -659,7 +655,36 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData { final CandidateResult candidateResult = parseIndexDocId( hit.getId() ); -candidates.add( candidateResult ); +// if comparing against the latestVersion, make sure we only add the candidateResult if it's +// older than or equal to the latest marked version +if (markedVersion != null) { + +if(candidateResult.getVersion().timestamp() <= markedVersion.timestamp()){ + +if(logger.isDebugEnabled()){ +logger.debug("Candidate version {} is <= provided entity version {} for entityId {}", +candidateResult.getVersion(), +markedVersion, +candidateResult.getId() +); +} + +candidates.add(candidateResult); + +}else{ +if(logger.isDebugEnabled()){ +
[06/15] usergrid git commit: Added tests for mocking
Added tests for mocking Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0286dcc6 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0286dcc6 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0286dcc6 Branch: refs/heads/2.1-release Commit: 0286dcc65c322c0aa606b760efc3cfe9c59f5ed6 Parents: 9fddd75 Author: Todd NineAuthored: Wed Oct 21 16:15:51 2015 -0600 Committer: Todd Nine Committed: Wed Oct 21 16:15:51 2015 -0600 -- .../impl/shard/ShardEntryGroup.java | 11 +- .../impl/shard/ShardGroupDeletion.java | 5 + .../impl/shard/impl/ShardGroupDeletionImpl.java | 19 +- .../shard/impl/ShardGroupDeletionImplTest.java | 300 +++ 4 files changed, 325 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/0286dcc6/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java -- diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java index 11bf7a4..555d467 100644 --- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java +++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java @@ -291,11 +291,20 @@ public class ShardEntryGroup { * cache refresh, we can't compact yet. */ -&& currentTime - delta > maxCreatedTime; +&& !isNew( currentTime ); } /** + * Return true if our current time - delta is newer than our maxCreatedtime + * @param currentTime + * @return + */ +public boolean isNew(final long currentTime){ +return currentTime - delta < maxCreatedTime; +} + +/** * Return true if this shard can be deleted AFTER all of the data in it has been moved */ public boolean canBeDeleted( final Shard shard ) { http://git-wip-us.apache.org/repos/asf/usergrid/blob/0286dcc6/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardGroupDeletion.java -- diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardGroupDeletion.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardGroupDeletion.java index 3d5a1ef..640e8bd 100644 --- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardGroupDeletion.java +++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardGroupDeletion.java @@ -56,6 +56,11 @@ public interface ShardGroupDeletion { CONTAINS_EDGES, /** + * Compaction pending, we can't delete it + */ +COMPACTION_PENDING, + +/** * The shard is too new, and may not have been fully replicated, we can't delete it safely */ TOO_NEW, http://git-wip-us.apache.org/repos/asf/usergrid/blob/0286dcc6/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java -- diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java index c51a021..9c97d77 100644 --- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java +++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java @@ -27,6 +27,7 @@ import javax.annotation.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.usergrid.persistence.core.consistency.TimeService; import org.apache.usergrid.persistence.core.scope.ApplicationScope; import org.apache.usergrid.persistence.graph.MarkedEdge; import org.apache.usergrid.persistence.graph.serialization.impl.shard.AsyncTaskExecutor; @@ -57,12 +58,15 @@ public class
[11/15] usergrid git commit: Fix issues with integrating with Apigee's mobile analytics.
Fix issues with integrating with Apigee's mobile analytics. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/c9bf87c6 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/c9bf87c6 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/c9bf87c6 Branch: refs/heads/2.1-release Commit: c9bf87c68defd1cb84bd8b65220b1994f0e8b17e Parents: 88d1179 Author: Michael RussoAuthored: Thu Oct 22 10:20:42 2015 -0700 Committer: Michael Russo Committed: Thu Oct 22 10:20:42 2015 -0700 -- .../usergrid/management/cassandra/ManagementServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/c9bf87c6/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java index 03b798c..70d74fc 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java @@ -1610,7 +1610,8 @@ public class ManagementServiceImpl implements ManagementService { @Override public ApplicationInfo createApplication( UUID organizationId, String applicationName ) throws Exception { -return createApplication( organizationId, applicationName,null, null ); +// DO NOT CHANGE THIS AS SOME EXTERNAL CLASSES MAY RELY ON THIS BEHAVIOR WHEN EXTENDING +return createApplication( organizationId, applicationName, null ); }
[08/15] usergrid git commit: Merge branch 'USERGRID-1052' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1052
Merge branch 'USERGRID-1052' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1052 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/10d0a070 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/10d0a070 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/10d0a070 Branch: refs/heads/2.1-release Commit: 10d0a070758c2f1e499ff43c6efab866f8469d1e Parents: beaed6f 5b01fc9 Author: Todd NineAuthored: Wed Oct 21 18:19:48 2015 -0600 Committer: Todd Nine Committed: Wed Oct 21 18:19:48 2015 -0600 -- .../persistence/core/astyanax/CassandraFig.java | 2 +- .../index/impl/EsEntityIndexImpl.java | 45 +++- .../usergrid/persistence/queue/QueueFig.java| 2 +- 3 files changed, 37 insertions(+), 12 deletions(-) --
[14/15] usergrid git commit: Merge branch 'USERGRID-1052' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1052
Merge branch 'USERGRID-1052' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1052 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/48161a1a Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/48161a1a Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/48161a1a Branch: refs/heads/2.1-release Commit: 48161a1ac9bfbf3e8c3aefa9586fc104ff0ec664 Parents: b1e1ed1 1b83a86 Author: Todd NineAuthored: Thu Oct 22 12:13:08 2015 -0600 Committer: Todd Nine Committed: Thu Oct 22 12:13:08 2015 -0600 -- .../org/apache/usergrid/rest/applications/ApplicationResource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --
[15/15] usergrid git commit: Merge commit 'refs/pull/407/head' of apache.github.com:apache/usergrid into 2.1-release
Merge commit 'refs/pull/407/head' of apache.github.com:apache/usergrid into 2.1-release Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0604247f Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0604247f Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0604247f Branch: refs/heads/2.1-release Commit: 0604247f690db09b1a25feef9532cb5e58929437 Parents: 1fe1d1a 48161a1 Author: Mike DunkerAuthored: Thu Oct 22 11:27:59 2015 -0700 Committer: Mike Dunker Committed: Thu Oct 22 11:27:59 2015 -0700 -- .../corepersistence/index/IndexServiceImpl.java | 3 +- .../persistence/core/astyanax/CassandraFig.java | 2 +- .../core/astyanax/MultiRowColumnIterator.java | 46 +-- .../usergrid/persistence/graph/GraphFig.java| 2 +- .../persistence/graph/guice/GraphModule.java| 11 +- .../impl/EdgeSerializationImpl.java | 17 +- .../impl/shard/AsyncTaskExecutor.java | 34 ++ .../graph/serialization/impl/shard/Shard.java | 15 + .../impl/shard/ShardEntryGroup.java | 13 +- .../impl/shard/ShardGroupCompaction.java| 4 - .../impl/shard/ShardGroupDeletion.java | 78 .../impl/shard/impl/AsyncTaskExecutorImpl.java | 53 +++ .../shard/impl/NodeShardAllocationImpl.java | 81 ++-- .../shard/impl/ShardGroupColumnIterator.java| 72 ++-- .../shard/impl/ShardGroupCompactionImpl.java| 10 +- .../impl/shard/impl/ShardGroupDeletionImpl.java | 219 +++ .../impl/shard/impl/ShardsColumnIterator.java | 10 + .../graph/GraphManagerShardConsistencyIT.java | 378 ++- .../impl/shard/ShardEntryGroupTest.java | 14 + .../impl/shard/ShardGroupCompactionTest.java| 30 +- .../shard/impl/ShardGroupDeletionImplTest.java | 341 + .../index/impl/EsEntityIndexImpl.java | 45 ++- .../usergrid/persistence/queue/QueueFig.java| 2 +- .../rest/applications/ApplicationResource.java | 50 +++ .../cassandra/ManagementServiceImpl.java| 3 +- 25 files changed, 1307 insertions(+), 226 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/0604247f/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java --
[13/15] usergrid git commit: Address issues found during code review
Address issues found during code review Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/b1e1ed18 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/b1e1ed18 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/b1e1ed18 Branch: refs/heads/2.1-release Commit: b1e1ed181d88f6a8e4b1b7bac76c99f936f66c8c Parents: c9bf87c Author: Todd NineAuthored: Thu Oct 22 12:13:00 2015 -0600 Committer: Todd Nine Committed: Thu Oct 22 12:13:00 2015 -0600 -- .../graph/GraphManagerShardConsistencyIT.java| 5 +++-- .../impl/shard/impl/ShardGroupDeletionImplTest.java | 11 --- 2 files changed, 11 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/b1e1ed18/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/GraphManagerShardConsistencyIT.java -- diff --git a/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/GraphManagerShardConsistencyIT.java b/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/GraphManagerShardConsistencyIT.java index 9ee7b95..c1917bb 100644 --- a/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/GraphManagerShardConsistencyIT.java +++ b/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/GraphManagerShardConsistencyIT.java @@ -55,6 +55,7 @@ import org.apache.usergrid.persistence.graph.guice.TestGraphModule; import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdgeType; import org.apache.usergrid.persistence.graph.serialization.impl.shard.DirectedEdgeMeta; import org.apache.usergrid.persistence.graph.serialization.impl.shard.NodeShardCache; +import org.apache.usergrid.persistence.graph.serialization.impl.shard.Shard; import org.apache.usergrid.persistence.graph.serialization.impl.shard.ShardEntryGroup; import org.apache.usergrid.persistence.model.entity.Id; @@ -595,7 +596,7 @@ public class GraphManagerShardConsistencyIT { while ( groups.hasNext() ) { -group = groups.next();; +group = groups.next(); log.info( "Shard size for group is {}", group.getReadShards() ); @@ -604,7 +605,7 @@ public class GraphManagerShardConsistencyIT { //we're done, 1 shard remains, we have a group, and it's our default shard -if ( shardCount == 1 && group != null && group.getMinShard().getShardIndex() == 0 ) { +if ( shardCount == 1 && group != null && group.getMinShard().getShardIndex() == Shard.MIN_SHARD.getShardIndex() ) { log.info( "All compactions complete," ); break; http://git-wip-us.apache.org/repos/asf/usergrid/blob/b1e1ed18/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImplTest.java -- diff --git a/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImplTest.java b/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImplTest.java index 9a3e407..f943e9b 100644 --- a/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImplTest.java +++ b/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImplTest.java @@ -43,6 +43,7 @@ import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; import com.netflix.astyanax.MutationBatch; +import com.netflix.astyanax.connectionpool.exceptions.ConnectionException; import static org.apache.usergrid.persistence.core.util.IdGenerator.createId; import static org.junit.Assert.assertEquals; @@ -50,6 +51,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.same; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -252,7 +254,7 @@ public class ShardGroupDeletionImplTest { //now check when marked we also retain them final Iterator markedEdgeIterator = Collections.singleton( -( MarkedEdge ) new SimpleMarkedEdge( createId( "source" ), "type", createId( "target" ), 1000, false ) ) +( MarkedEdge ) new SimpleMarkedEdge(
usergrid git commit: This closes #404 -- invalid PR
Repository: usergrid Updated Branches: refs/heads/master df9bc60d9 -> e9c51cddd This closes #404 -- invalid PR Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/e9c51cdd Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/e9c51cdd Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/e9c51cdd Branch: refs/heads/master Commit: e9c51ce910a5b8f6cf35f34f6f91eb05f4f0 Parents: df9bc60 Author: Mike DunkerAuthored: Thu Oct 22 12:19:09 2015 -0700 Committer: Mike Dunker Committed: Thu Oct 22 12:19:09 2015 -0700 -- --
usergrid git commit: This closes #405 -- invalid PR
Repository: usergrid Updated Branches: refs/heads/master e9c51cddd -> 8a59becdf This closes #405 -- invalid PR Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/8a59becd Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/8a59becd Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/8a59becd Branch: refs/heads/master Commit: 8a59becdff07b0b524d23fa23a15dd7315eeba7d Parents: e9c51cd Author: Mike DunkerAuthored: Thu Oct 22 12:21:22 2015 -0700 Committer: Mike Dunker Committed: Thu Oct 22 12:21:22 2015 -0700 -- --
usergrid git commit: USERGRID-1044: make load entities unlimited save invalid requests
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 7271935bb -> 1a6de02ab USERGRID-1044: make load entities unlimited save invalid requests Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/1a6de02a Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/1a6de02a Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/1a6de02a Branch: refs/heads/USERGRID-1044 Commit: 1a6de02ab89f1e5272d1902003fb07085568c069 Parents: 7271935 Author: Mike DunkerAuthored: Mon Oct 26 12:51:38 2015 -0700 Committer: Mike Dunker Committed: Mon Oct 26 12:51:38 2015 -0700 -- stack/loadtests/runLoadEntitiesUnlimited.sh | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/1a6de02a/stack/loadtests/runLoadEntitiesUnlimited.sh -- diff --git a/stack/loadtests/runLoadEntitiesUnlimited.sh b/stack/loadtests/runLoadEntitiesUnlimited.sh index 11ca0a4..c14b6b1 100755 --- a/stack/loadtests/runLoadEntitiesUnlimited.sh +++ b/stack/loadtests/runLoadEntitiesUnlimited.sh @@ -99,5 +99,6 @@ mvn gatling:execute \ -DuuidFilename=${UUID_FILENAME} \ -DprintFailedRequests=${PRINT_FAILED_REQUESTS} \ -DusergridRegion=${USERGRID_REGION} \ +-DsaveInvalidResponse=true \ -Dgatling.simulationClass=org.apache.usergrid.simulations.ConfigurableSimulation
usergrid git commit: USERGRID-1044: don't log UUID mismatch if UUID was never retrieved during load
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 2a09bf15d -> 0fc18041e USERGRID-1044: don't log UUID mismatch if UUID was never retrieved during load Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0fc18041 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0fc18041 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0fc18041 Branch: refs/heads/USERGRID-1044 Commit: 0fc18041e32df049040f26a0faaef1f46dbe6d9f Parents: 2a09bf1 Author: Mike DunkerAuthored: Wed Oct 28 08:09:19 2015 -0700 Committer: Mike Dunker Committed: Wed Oct 28 08:09:19 2015 -0700 -- .../scala/org/apache/usergrid/scenarios/AuditScenarios.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/0fc18041/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index d1e2c4b..cc59e0a 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -183,7 +183,7 @@ object AuditScenarios { errorString += "|NoUuidReturned" Settings.incAuditPayloadUuidError() println(s"PAYLOAD UUID MISSING (DIRECT): requestedUuid=$uuid") -} else if (!uuid.equalsIgnoreCase(entityUuid)) { +} else if (!uuid.isEmpty && !uuid.equalsIgnoreCase(entityUuid)) { errorString += "|ReturnedUuidMismatch" Settings.incAuditPayloadUuidError() println(s"PAYLOAD UUID MISMATCH (DIRECT): requestedUuid=$uuid returnedUuid=$entityUuid") @@ -247,7 +247,7 @@ object AuditScenarios { errorString += "|NoUuidReturned" Settings.incAuditPayloadUuidError() println(s"PAYLOAD UUID MISSING (QUERY): requestedUuid=$uuid") - } else if (!uuid.equalsIgnoreCase(entityUuid)) { + } else if (!uuid.isEmpty && !uuid.equalsIgnoreCase(entityUuid)) { errorString += "|ReturnedUuidMismatch" Settings.incAuditPayloadUuidError() println(s"PAYLOAD UUID MISMATCH (QUERY): requestedUuid=$uuid returnedUuid=$entityUuid")
usergrid git commit: USERGRID-1044: print progress during audit and log failures as such
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 2e70a72b9 -> 2a09bf15d USERGRID-1044: print progress during audit and log failures as such Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2a09bf15 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2a09bf15 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2a09bf15 Branch: refs/heads/USERGRID-1044 Commit: 2a09bf15d8063199bf25b7e7f437929601f7193a Parents: 2e70a72 Author: Mike DunkerAuthored: Wed Oct 28 07:28:51 2015 -0700 Committer: Mike Dunker Committed: Wed Oct 28 07:28:51 2015 -0700 -- .../org/apache/usergrid/datagenerators/FeederGenerator.scala | 8 .../scala/org/apache/usergrid/scenarios/AuditScenarios.scala | 6 +++--- .../usergrid/scenarios/EntityCollectionScenarios.scala | 8 +--- 3 files changed, 16 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2a09bf15/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala index 38db19a..a9225b2 100755 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala @@ -255,6 +255,9 @@ object FeederGenerator { val csvLines = if (Settings.feedAuditUuids) Source.fromFile(Settings.feedAuditUuidFilename).getLines().toArray else Array[String]() val csvLinesLen = csvLines.length var counter = new AtomicInteger(0) +var entityCounter: Long = 0L +var lastEntityCountPrinted: Long = 0L +var entityProgressCount: Long = Settings.entityProgressCount override def hasNext: Boolean = true @@ -284,6 +287,11 @@ object FeederGenerator { val accessField = if (uuid != "") uuid else name val queryField = if (uuid != "") s"uuid='$uuid'" else s"name='$name'" + if (entityProgressCount > 0L && entityCounter >= lastEntityCountPrinted + entityProgressCount) { +println(s"CSV Entity: $entityCounter") +lastEntityCountPrinted = entityCounter + } + Map("collectionName" -> collectionName, "name" -> name, "uuid" -> uuid, "modified" -> modified, "lastStatus" -> lastStatus, "validEntity" -> validEntity, "accessField" -> accessField, "queryField" -> queryField) } http://git-wip-us.apache.org/repos/asf/usergrid/blob/2a09bf15/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index 1ce2bc2..d1e2c4b 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -202,15 +202,15 @@ object AuditScenarios { Settings.incAuditNotFoundViaQuery() println(s"NOT FOUND VIA QUERY: $collectionName.$reqName ($uuid)") } - session + session.markAsFailed } else if (saveFailures) { Settings.addAuditUuid(uuid, collectionName, reqName, modified, status, "Failure", lastStatus) - session + session.markAsFailed } else { session.markAsFailed } - }).exitHereIfFailed + }) val getCollectionEntity = exec( http("GET collection entity") http://git-wip-us.apache.org/repos/asf/usergrid/blob/2a09bf15/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala index d5b3101..22b9f08 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala @@ -241,16 +241,18 @@ object EntityCollectionScenarios { val entityName = session("entityName").as[String] val modified = if (status == 200) session(SessionVarModified).as[Long] else 0 val collectionName = session("collectionName").as[String] +
[2/2] usergrid git commit: Fix failing test to ensure we don't set the same timestamp for all entities inserted into the index (since we don't do actually do that). Also ensure it's a long as what's r
Fix failing test to ensure we don't set the same timestamp for all entities inserted into the index (since we don't do actually do that). Also ensure it's a long as what's required of the timestamps Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/c652171f Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/c652171f Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/c652171f Branch: refs/heads/2.1-release Commit: c652171f476f6ad953c94328e0fb2f4ea0b3aa44 Parents: 22beca2 Author: Michael RussoAuthored: Wed Oct 28 16:56:19 2015 -0700 Committer: Michael Russo Committed: Wed Oct 28 16:56:19 2015 -0700 -- .../persistence/index/impl/EntityIndexTest.java | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/c652171f/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java -- diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java index 5243d5a..d6758dd 100644 --- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java +++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java @@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicLong; import com.google.common.base.Optional; import org.apache.usergrid.persistence.core.astyanax.CassandraFig; import org.apache.usergrid.persistence.index.*; +import org.apache.usergrid.persistence.model.field.*; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -48,10 +49,6 @@ import org.apache.usergrid.persistence.index.utils.UUIDUtils; import org.apache.usergrid.persistence.model.entity.Entity; import org.apache.usergrid.persistence.model.entity.Id; import org.apache.usergrid.persistence.model.entity.SimpleId; -import org.apache.usergrid.persistence.model.field.ArrayField; -import org.apache.usergrid.persistence.model.field.IntegerField; -import org.apache.usergrid.persistence.model.field.StringField; -import org.apache.usergrid.persistence.model.field.UUIDField; import org.apache.usergrid.persistence.model.util.EntityUtils; import org.apache.usergrid.persistence.model.util.UUIDGenerator; @@ -394,7 +391,6 @@ public class EntityIndexTest extends BaseIT { int numberOfEntities = 1000; int versionToSearchFor = numberOfEntities / 2; -IndexEdge searchEdge = new IndexEdgeImpl( appId, "mehCars", SearchEdge.NodeType.SOURCE, 1 ); UUID entityUUID = UUID.randomUUID(); Id entityId = new SimpleId( "mehCar" ); @@ -408,9 +404,11 @@ public class EntityIndexTest extends BaseIT { Entity[] entity = new Entity[numberOfEntities]; for(int i = 0; i < numberOfEntities; i++) { entity[i] = EntityIndexMapUtils.fromMap( entityMap ); -EntityUtils.setId( entity[i], entityId ); -EntityUtils.setVersion( entity[i], UUIDGenerator.newTimeUUID() ); -entity[i].setField( new UUIDField( IndexingUtils.ENTITY_ID_FIELDNAME, entityUUID ) ); +EntityUtils.setId(entity[i], entityId); +EntityUtils.setVersion(entity[i], UUIDGenerator.newTimeUUID()); +entity[i].setField(new UUIDField(IndexingUtils.ENTITY_ID_FIELDNAME, entityUUID)); + +IndexEdge searchEdge = new IndexEdgeImpl( appId, "mehCars", SearchEdge.NodeType.SOURCE, System.currentTimeMillis()*1000 ); //index the new entity. This is where the loop will be set to create like 100 entities. indexProducer.put(entityIndex.createBatch().index( searchEdge, entity[i] ).build()).subscribe();
usergrid git commit: USERGRID-1044: make jsonPath extraction optional to keep users from exiting
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 1a6de02ab -> 3c60c49a1 USERGRID-1044: make jsonPath extraction optional to keep users from exiting Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/3c60c49a Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/3c60c49a Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/3c60c49a Branch: refs/heads/USERGRID-1044 Commit: 3c60c49a157be63ec626ff88666472f2d4876554 Parents: 1a6de02 Author: Mike DunkerAuthored: Tue Oct 27 08:52:17 2015 -0700 Committer: Mike Dunker Committed: Tue Oct 27 08:52:17 2015 -0700 -- .../org/apache/usergrid/helpers/Extractors.scala | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/3c60c49a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala index 136a561..b21f9d7 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala @@ -37,7 +37,7 @@ object Extractors { jsonPath("$.cursor").transformOption(extract => { //it may or may not be present. If it is, save it, otherwise save it as an empty string extract.orElse(Some("")) -}).saveAs(saveAsName) +}).optional.saveAs(saveAsName) } /** @@ -47,7 +47,7 @@ object Extractors { jsonPath("$.entities[0].uuid").transformOption(extract => { //it may or may not be present. If it is, save it, otherwise save it as an empty string extract.orElse(Some("")) -}).saveAs(saveAsName) +}).optional.saveAs(saveAsName) } /** @@ -57,7 +57,7 @@ object Extractors { jsonPath("$.entities[0].name").transformOption(extract => { //it may or may not be present. If it is, save it, otherwise save it as an empty string extract.orElse(Some("")) -}).saveAs(saveAsName) +}).optional.saveAs(saveAsName) } /** @@ -67,21 +67,25 @@ object Extractors { jsonPath("$.entities[0].modified").ofType[Long].transformOption(extract => { //it may or may not be present. If it is, save it, otherwise save it as -1 extract.orElse(Some(-1)) -}).saveAs(saveAsName) +}).optional.saveAs(saveAsName) } /** * Will extract the audit entities from the get collection response. */ def extractAuditEntities(saveAsName: String) = { - jsonPath("$.entities[*]").ofType[Map[String,Any]].findAll.transformOption(extract => { extract.orElse(Some(Seq.empty)) }).saveAs(saveAsName) + jsonPath("$.entities[*]").ofType[Map[String,Any]].findAll.transformOption(extract => { + extract.orElse(Some(Seq.empty)) +}).optional.saveAs(saveAsName) } /** * Will extract the audit entities from the get collection response. */ def extractAuditEntity(saveAsName: String) = { - jsonPath("$.entities[0]").ofType[Map[String,Any]].findAll.transformOption(extract => { extract.orElse(Some(Seq.empty)) }).saveAs(saveAsName) + jsonPath("$.entities[0]").ofType[Map[String,Any]].findAll.transformOption(extract => { + extract.orElse(Some(Seq.empty)) +}).optional.saveAs(saveAsName) } /** @@ -100,7 +104,7 @@ object Extractors { def maybeExtractEntities(saveAsName: String) = { jsonPath("$.entities").ofType[Seq[Any]].transformOption(extract => { extract.orElse(Some(Seq())) -}).saveAs(saveAsName) +}).optional.saveAs(saveAsName) } /**
usergrid git commit: USERGRID-1044: attempt #2 to preprocess response body
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 2778f0a0b -> 4b2d00355 USERGRID-1044: attempt #2 to preprocess response body Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/4b2d0035 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/4b2d0035 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/4b2d0035 Branch: refs/heads/USERGRID-1044 Commit: 4b2d00355e5645ab5c158b4c4f8e228037879af4 Parents: 2778f0a Author: Mike DunkerAuthored: Tue Oct 27 11:29:16 2015 -0700 Committer: Mike Dunker Committed: Tue Oct 27 11:29:16 2015 -0700 -- .../usergrid/scenarios/EntityCollectionScenarios.scala | 13 - 1 file changed, 4 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/4b2d0035/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala index bcdb49a..f37a2d2 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala @@ -223,15 +223,10 @@ object EntityCollectionScenarios { .transformResponse { case response if response.isReceived => new ResponseWrapper(response) { - override val body = { -val contentType = response.header("content-type").getOrElse("").toLowerCase -if (contentType.contains("json")) { - StringResponseBody(response.body.string, response.charset) -} else { - StringResponseBody("{}", StandardCharsets.UTF_8) -} - } - } + val contentType = response.header("content-type").getOrElse("").toLowerCase + val bodyStr = if (contentType.contains("json")) response.body.string else "[]" + override val body = StringResponseBody(bodyStr, response.charset) +} } // 200 for success, 400 if already exists .check(status.saveAs(SessionVarStatus), extractEntityUuid(SessionVarUuid), extractEntityModified(SessionVarModified)))
usergrid git commit: USERGRID-1044: transform payload to empty JSON if non-json
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 3c60c49a1 -> 2778f0a0b USERGRID-1044: transform payload to empty JSON if non-json Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2778f0a0 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2778f0a0 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2778f0a0 Branch: refs/heads/USERGRID-1044 Commit: 2778f0a0b196bfc09e914033392ccb49271136e0 Parents: 3c60c49 Author: Mike DunkerAuthored: Tue Oct 27 10:49:44 2015 -0700 Committer: Mike Dunker Committed: Tue Oct 27 10:49:44 2015 -0700 -- .../org/apache/usergrid/helpers/Extractors.scala | 2 +- .../scenarios/EntityCollectionScenarios.scala | 17 + 2 files changed, 18 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2778f0a0/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala index b21f9d7..4c6ac8d 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala @@ -85,7 +85,7 @@ object Extractors { def extractAuditEntity(saveAsName: String) = { jsonPath("$.entities[0]").ofType[Map[String,Any]].findAll.transformOption(extract => { extract.orElse(Some(Seq.empty)) -}).optional.saveAs(saveAsName) +}).saveAs(saveAsName) } /** http://git-wip-us.apache.org/repos/asf/usergrid/blob/2778f0a0/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala index ecd0c21..bcdb49a 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala @@ -16,9 +16,13 @@ */ package org.apache.usergrid.scenarios +import java.nio.charset.StandardCharsets + import io.gatling.core.Predef._ import io.gatling.core.feeder.RecordSeqFeederBuilder import io.gatling.http.Predef._ +import io.gatling.http.response.ResponseWrapper +import io.gatling.http.response.StringResponseBody import org.apache.usergrid.datagenerators.FeederGenerator import org.apache.usergrid.enums.{CsvFeedPatternType, EndConditionType, AuthType} import org.apache.usergrid.helpers.Extractors._ @@ -216,6 +220,19 @@ object EntityCollectionScenarios { .headers(Headers.authToken) .headers(Headers.usergridRegionHeaders) .body(StringBody("""${entity}""")) +.transformResponse { + case response if response.isReceived => +new ResponseWrapper(response) { + override val body = { +val contentType = response.header("content-type").getOrElse("").toLowerCase +if (contentType.contains("json")) { + StringResponseBody(response.body.string, response.charset) +} else { + StringResponseBody("{}", StandardCharsets.UTF_8) +} + } + } +} // 200 for success, 400 if already exists .check(status.saveAs(SessionVarStatus), extractEntityUuid(SessionVarUuid), extractEntityModified(SessionVarModified))) .exec(session => {
[1/2] usergrid git commit: USERGRID-1044: handle audit for CSV rows that don't have UUIDs by accessing via name
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 4b2d00355 -> be0033eac USERGRID-1044: handle audit for CSV rows that don't have UUIDs by accessing via name Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/9158772b Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/9158772b Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/9158772b Branch: refs/heads/USERGRID-1044 Commit: 9158772bc20befa8affa6c1bc10af032a07d0400 Parents: 4b2d003 Author: Mike DunkerAuthored: Tue Oct 27 12:46:48 2015 -0700 Committer: Mike Dunker Committed: Tue Oct 27 12:46:48 2015 -0700 -- .../org/apache/usergrid/datagenerators/FeederGenerator.scala| 5 - .../scala/org/apache/usergrid/scenarios/AuditScenarios.scala| 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/9158772b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala index b8a28d5..73b3d3c 100755 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala @@ -280,8 +280,11 @@ object FeederGenerator { val uuid = if (line != null) array(2) else "" val modified = if (line != null) array(3) else "" //println(s"$collectionName|$name|$uuid|$modified") + val accessField = if (uuid != "") uuid else name + val queryField = if (uuid != "") s"uuid='$uuid'" else s"name='$name'" - Map("collectionName" -> collectionName, "name" -> name, "uuid" -> uuid, "modified" -> modified, "validEntity" -> validEntity) + Map("collectionName" -> collectionName, "name" -> name, "uuid" -> uuid, "modified" -> modified, +"validEntity" -> validEntity, "accessField" -> accessField, "queryField" -> queryField) } } http://git-wip-us.apache.org/repos/asf/usergrid/blob/9158772b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index f90348e..7a93eb6 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -144,7 +144,7 @@ object AuditScenarios { val getCollectionEntityDirect = exec( http("GET collection entity direct") - .get("/${collectionName}/${uuid}") + .get("/${collectionName}/${accessField}") .headers(Headers.authToken) .headers(Headers.usergridRegionHeaders) .check() @@ -213,7 +213,7 @@ object AuditScenarios { val getCollectionEntity = exec( http("GET collection entity") - .get("/${collectionName}?ql=uuid=${uuid}") + .get("/${collectionName}?ql=${queryField}") .headers(Headers.authToken) .headers(Headers.usergridRegionHeaders) .check(status.is(200), status.saveAs(SessionVarStatus), jsonPath("$.count").optional.saveAs("count"),
usergrid git commit: USERGRID-1044: print non-200s during load (including body)
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 83d7a6f83 -> 038974475 USERGRID-1044: print non-200s during load (including body) Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/03897447 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/03897447 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/03897447 Branch: refs/heads/USERGRID-1044 Commit: 0389744752f479d215f84ebbd5f25aa36d2108a4 Parents: 83d7a6f Author: Mike DunkerAuthored: Tue Oct 27 14:59:10 2015 -0700 Committer: Mike Dunker Committed: Tue Oct 27 14:59:10 2015 -0700 -- .../usergrid/scenarios/EntityCollectionScenarios.scala | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/03897447/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala index f37a2d2..d5b3101 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala @@ -42,6 +42,7 @@ object EntityCollectionScenarios { val SessionVarStatus: String = "status" val SessionVarUuid: String = "createUuid" val SessionVarModified: String = "createModified" + val SessionVarBodyString: String = "bodyString" def entityGetUrl(useCursor: Boolean): String = { val url = s"/${Settings.collection}?" + @@ -225,11 +226,12 @@ object EntityCollectionScenarios { new ResponseWrapper(response) { val contentType = response.header("content-type").getOrElse("").toLowerCase val bodyStr = if (contentType.contains("json")) response.body.string else "[]" + if (bodyStr == "[]") { println(">>> USING EMPTY BODY") } override val body = StringResponseBody(bodyStr, response.charset) } } // 200 for success, 400 if already exists -.check(status.saveAs(SessionVarStatus), extractEntityUuid(SessionVarUuid), extractEntityModified(SessionVarModified))) +.check(status.saveAs(SessionVarStatus), bodyString.saveAs(SessionVarBodyString), extractEntityUuid(SessionVarUuid), extractEntityModified(SessionVarModified))) .exec(session => { val saveFailures = Settings.saveInvalidResponse val status = session(SessionVarStatus).as[Int] @@ -239,6 +241,10 @@ object EntityCollectionScenarios { val entityName = session("entityName").as[String] val modified = if (status == 200) session(SessionVarModified).as[Long] else 0 val collectionName = session("collectionName").as[String] +if (status != 200) { + val bodyString = session(SessionVarBodyString).as[String] + println(s" LOAD ERROR - Status: $status\nBody:\n$bodyString") +} Settings.addUuid(uuid, collectionName, entityName, modified, status) session } else {
usergrid git commit: USERGRID-1044: for org/app/collection create, default to testConfig settings
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 038974475 -> fc23b79e9 USERGRID-1044: for org/app/collection create, default to testConfig settings Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/fc23b79e Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/fc23b79e Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/fc23b79e Branch: refs/heads/USERGRID-1044 Commit: fc23b79e9a8a08bc57d25e3e60a9718304f8f1c0 Parents: 0389744 Author: Mike DunkerAuthored: Tue Oct 27 16:39:33 2015 -0700 Committer: Mike Dunker Committed: Tue Oct 27 16:39:33 2015 -0700 -- stack/loadtests/runOrgAppSetup.sh | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/fc23b79e/stack/loadtests/runOrgAppSetup.sh -- diff --git a/stack/loadtests/runOrgAppSetup.sh b/stack/loadtests/runOrgAppSetup.sh index 19936b7..b26eb37 100755 --- a/stack/loadtests/runOrgAppSetup.sh +++ b/stack/loadtests/runOrgAppSetup.sh @@ -29,6 +29,9 @@ if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi #ENTITY_TYPE= #ENTITY_PREFIX= #ENTITY_SEED= #may be overridden on command line +#ORG= #may be overridden on command line +#APP= #may be overridden on command line +#COLLECTION= #may be overridden on command line #RETRY_COUNT= #ENTITY_PROGRESS_COUNT= #CONSTANT_USERS_PER_SEC= @@ -36,14 +39,14 @@ if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi die() { echo "$@" 1>&2 ; exit 1; } -[ "$#" -ge 2 ] || die "At least 2 arguments required, $# provided. Example is $0 ORG APP [COLLECTION [SANDBOX_COLLECTION (true/false)]]" +[ "$#" -ge 1 ] || die "At least 1 argument required, $# provided. Example is $0 SANDBOX_COLLECTION(true/false) [ORG [APP [COLLECTION]]]" -ORG="$1" -APP="$2" -COLLECTION="gatlingitems" -[ "$#" -ge 3 ] && COLLECTION="$3" -SANDBOX_COLLECTION=true -[ "$#" -ge 4 ] && SANDBOX_COLLECTION="$4" + +SANDBOX_COLLECTION="$1" +# org, app, and collection can come from testConfig.sh +[ "$#" -ge 2 ] && ORG="$2" +[ "$#" -ge 3 ] && APP="$3" +[ "$#" -ge 4 ] && COLLECTION="$4" shift $#
usergrid git commit: USERGRID-1044: add shutdown handler to audit simulations
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 fc23b79e9 -> 2e70a72b9 USERGRID-1044: add shutdown handler to audit simulations Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2e70a72b Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2e70a72b Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2e70a72b Branch: refs/heads/USERGRID-1044 Commit: 2e70a72b99ac0a48e5f703a1b464fdad3c4d2665 Parents: fc23b79 Author: Mike DunkerAuthored: Tue Oct 27 16:45:02 2015 -0700 Committer: Mike Dunker Committed: Tue Oct 27 16:45:02 2015 -0700 -- .../apache/usergrid/simulations/AuditSimulation.scala| 11 +++ .../usergrid/simulations/ConfigurableSimulation.scala| 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2e70a72b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/AuditSimulation.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/AuditSimulation.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/AuditSimulation.scala index 47323ea..bdec3dd 100755 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/AuditSimulation.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/AuditSimulation.scala @@ -57,6 +57,10 @@ class AuditSimulation extends Simulation { } after { +endHandler + } + + def endHandler: Unit = { Settings.setTestEndTime() if (Settings.captureAuditUuids) { val uuidDesc = Settings.scenarioType match { @@ -69,5 +73,12 @@ class AuditSimulation extends Simulation { Settings.printAuditResults() } + def abortedEarly: Unit = { +println("AUDIT ABORTED") +endHandler + } + + sys addShutdownHook abortedEarly + } http://git-wip-us.apache.org/repos/asf/usergrid/blob/2e70a72b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/ConfigurableSimulation.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/ConfigurableSimulation.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/ConfigurableSimulation.scala index 9d4b05d..a3eb595 100755 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/ConfigurableSimulation.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/ConfigurableSimulation.scala @@ -99,7 +99,7 @@ class ConfigurableSimulation extends Simulation { Settings.printSettingsSummary(true) } - sys addShutdownHook(endHandler) + sys addShutdownHook endHandler }
usergrid git commit: Fix annotations so that CORS and tracing filters work, and add JIRA issue for the TODO on the Metering Filter.
Repository: usergrid Updated Branches: refs/heads/master 40e002b97 -> de42b9cb0 Fix annotations so that CORS and tracing filters work, and add JIRA issue for the TODO on the Metering Filter. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/de42b9cb Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/de42b9cb Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/de42b9cb Branch: refs/heads/master Commit: de42b9cb0ee77ab40f2f0af5f34dc4d7df56dac5 Parents: 40e002b Author: Dave JohnsonAuthored: Tue Nov 10 15:21:21 2015 -0500 Committer: Dave Johnson Committed: Tue Nov 10 15:21:21 2015 -0500 -- .../org/apache/usergrid/rest/filters/MeteringFilter.java | 8 .../java/org/apache/usergrid/rest/filters/TracingFilter.java | 5 ++--- .../usergrid/rest/security/CrossOriginRequestFilter.java | 4 ++-- 3 files changed, 8 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/de42b9cb/stack/rest/src/main/java/org/apache/usergrid/rest/filters/MeteringFilter.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/filters/MeteringFilter.java b/stack/rest/src/main/java/org/apache/usergrid/rest/filters/MeteringFilter.java index 2735cdf..b8adc9a 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/filters/MeteringFilter.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/filters/MeteringFilter.java @@ -36,6 +36,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.container.*; import javax.ws.rs.core.Context; +import javax.ws.rs.ext.Provider; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; @@ -46,10 +47,9 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; -// TODO: Metering for Jersey 2 -@Resource -@PreMatching -@Component +// TODO: Metering for Jersey 2 (https://issues.apache.org/jira/browse/USERGRID-1103) + +@Provider public class MeteringFilter implements ContainerRequestFilter, ContainerResponseFilter { @Override http://git-wip-us.apache.org/repos/asf/usergrid/blob/de42b9cb/stack/rest/src/main/java/org/apache/usergrid/rest/filters/TracingFilter.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/filters/TracingFilter.java b/stack/rest/src/main/java/org/apache/usergrid/rest/filters/TracingFilter.java index 64d0209..1c23f63 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/filters/TracingFilter.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/filters/TracingFilter.java @@ -30,6 +30,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.container.*; import javax.ws.rs.core.Context; +import javax.ws.rs.ext.Provider; /** @@ -37,9 +38,7 @@ import javax.ws.rs.core.Context; * * @author zznate */ -@Resource -@PreMatching -@Component +@Provider public class TracingFilter implements ContainerRequestFilter, ContainerResponseFilter { private Logger logger = LoggerFactory.getLogger( TracingFilter.class ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/de42b9cb/stack/rest/src/main/java/org/apache/usergrid/rest/security/CrossOriginRequestFilter.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/security/CrossOriginRequestFilter.java b/stack/rest/src/main/java/org/apache/usergrid/rest/security/CrossOriginRequestFilter.java index 00c12d7..f150b2b 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/security/CrossOriginRequestFilter.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/security/CrossOriginRequestFilter.java @@ -21,14 +21,14 @@ import org.apache.usergrid.rest.utils.CORSUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.annotation.Resource; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; +import javax.ws.rs.ext.Provider; import java.io.IOException; -@Resource +@Provider public class CrossOriginRequestFilter implements ContainerResponseFilter { public static final Logger logger = LoggerFactory.getLogger( CrossOriginRequestFilter.class );
usergrid git commit: USERGRID-1044: add audit delete test (delete only, no verify)
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 0fc18041e -> 247f79603 USERGRID-1044: add audit delete test (delete only, no verify) Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/247f7960 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/247f7960 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/247f7960 Branch: refs/heads/USERGRID-1044 Commit: 247f79603d1775273a56274ce7810f1b8f1f5d29 Parents: 0fc1804 Author: Mike DunkerAuthored: Mon Nov 2 07:34:42 2015 -0800 Committer: Mike Dunker Committed: Mon Nov 2 07:34:42 2015 -0800 -- stack/loadtests/runAuditDeleteEntities.sh | 65 .../runAuditVerifyCollectionEntities.sh | 2 +- .../apache/usergrid/enums/ScenarioType.scala| 3 +- .../usergrid/scenarios/AuditScenarios.scala | 49 ++- .../usergrid/simulations/AuditSimulation.scala | 4 +- 5 files changed, 118 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/247f7960/stack/loadtests/runAuditDeleteEntities.sh -- diff --git a/stack/loadtests/runAuditDeleteEntities.sh b/stack/loadtests/runAuditDeleteEntities.sh new file mode 100755 index 000..ff92940 --- /dev/null +++ b/stack/loadtests/runAuditDeleteEntities.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# +# Licensed 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. +# + +DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi +. "$DIR/testConfig.sh" + +# from testConfig.sh +#URL= +#ADMIN_USER= +#ADMIN_PASSWORD= +#ORG= +#APP= +#AUTH_TYPE= +#TOKEN_TYPE= +#RETRY_COUNT= + +die() { echo "$@" 1>&2 ; exit 1; } + +[ "$#" -ge 3 ] || die "At least 3 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) AUDIT_UUID_FILENAME [FAILED_UUID_FILENAME [USERGRID_REGION]]" + +RAMP_USERS="$1" +RAMP_TIME="$2" +AUDIT_UUID_FILENAME="$3" +FAILED_UUID_FILENAME="$4" +[ "$#" -ge 5 ] && USERGRID_REGION="$5" + +shift $# + +SCENARIO_TYPE=auditDeleteEntities + +#Compile everything +mvn compile + +#Execute the test +mvn gatling:execute \ +-DbaseUrl=${URL} \ +-DadminUser=${ADMIN_USER} \ +-DadminPassword=${ADMIN_PASSWORD} \ +-Dorg=${ORG} \ +-Dapp=${APP} \ +-DauthType=${AUTH_TYPE} \ +-DtokenType=${TOKEN_TYPE} \ +-DretryCount=${RETRY_COUNT} \ +-DscenarioType=${SCENARIO_TYPE} \ +-DrampUsers=${RAMP_USERS} \ +-DrampTime=${RAMP_TIME} \ +-DauditUuidFilename=${AUDIT_UUID_FILENAME} \ +-DfailedUuidFilename=${FAILED_UUID_FILENAME} \ +-DprintFailedRequests=${PRINT_FAILED_REQUESTS} \ +-DusergridRegion=${USERGRID_REGION} \ +-Dgatling.simulationClass=org.apache.usergrid.simulations.AuditSimulation + http://git-wip-us.apache.org/repos/asf/usergrid/blob/247f7960/stack/loadtests/runAuditVerifyCollectionEntities.sh -- diff --git a/stack/loadtests/runAuditVerifyCollectionEntities.sh b/stack/loadtests/runAuditVerifyCollectionEntities.sh index 695c9ee..be50189 100755 --- a/stack/loadtests/runAuditVerifyCollectionEntities.sh +++ b/stack/loadtests/runAuditVerifyCollectionEntities.sh @@ -31,7 +31,7 @@ DELETE_AFTER_SUCCESSFUL_AUDIT=false die() { echo "$@" 1>&2 ; exit 1; } -[ "$#" -ge 3 ] || die "At least 3 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) AUDIT_UUID_FILENAME [FAILED_UUID_FILENAME [DELETE_AFTER_SUCCESSFUL_AUDIT(true/false)[USERGRID_REGION]]]" +[ "$#" -ge 3 ] || die "At least 3 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) AUDIT_UUID_FILENAME [FAILED_UUID_FILENAME [DELETE_AFTER_SUCCESSFUL_AUDIT(true/false) [USERGRID_REGION]]]" RAMP_USERS="$1" RAMP_TIME="$2" http://git-wip-us.apache.org/repos/asf/usergrid/blob/247f7960/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ScenarioType.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ScenarioType.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ScenarioType.scala index c86dc33..1cc1fa2 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ScenarioType.scala +++
[1/2] usergrid git commit: Fix issue where read repair was causing empty messages to be queued.
Repository: usergrid Updated Branches: refs/heads/2.1-release 70b7e2750 -> 8da60e2aa Fix issue where read repair was causing empty messages to be queued. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/91354471 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/91354471 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/91354471 Branch: refs/heads/2.1-release Commit: 913544719ddc84c1eb6cbbdfe463a7712ad73051 Parents: dfc70f4 Author: Michael RussoAuthored: Wed Nov 4 14:02:53 2015 -0800 Committer: Michael Russo Committed: Wed Nov 4 14:02:53 2015 -0800 -- .../corepersistence/asyncevents/AmazonAsyncEventService.java | 8 +--- .../pipeline/read/traverse/AbstractReadGraphFilter.java | 2 +- .../persistence/index/impl/IndexOperationMessage.java| 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/91354471/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java index 6b9abbc..16e119c 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java @@ -490,6 +490,11 @@ public class AmazonAsyncEventService implements AsyncEventService { */ public void queueIndexOperationMessage( final IndexOperationMessage indexOperationMessage ) { +// don't try to produce something with nothing +if(indexOperationMessage.isEmpty()){ +return; +} + final String jsonValue = ObjectJsonSerializer.INSTANCE.toString( indexOperationMessage ); final UUID newMessageId = UUIDGenerator.newTimeUUID(); @@ -760,10 +765,7 @@ public class AmazonAsyncEventService implements AsyncEventService { .map(result -> result.getQueueMessage().get()) .collect(Collectors.toList()); -//only Q it if it's empty -if(!combined.isEmpty()) { queueIndexOperationMessage( combined ); -} return messagesToAck; } http://git-wip-us.apache.org/repos/asf/usergrid/blob/91354471/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/traverse/AbstractReadGraphFilter.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/traverse/AbstractReadGraphFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/traverse/AbstractReadGraphFilter.java index 89230d7..78a3450 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/traverse/AbstractReadGraphFilter.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/traverse/AbstractReadGraphFilter.java @@ -245,8 +245,8 @@ public abstract class AbstractReadGraphFilter extends AbstractPathFilter applyCollector() { return observable -> observable -.filter((IndexOperationMessage msg) -> !msg.isEmpty()) .collect(() -> new IndexOperationMessage(), (collector, single) -> collector.ingest(single)) +.filter(msg -> !msg.isEmpty()) .doOnNext(indexOperation -> { asyncEventService.queueIndexOperationMessage(indexOperation); }); http://git-wip-us.apache.org/repos/asf/usergrid/blob/91354471/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexOperationMessage.java -- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexOperationMessage.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexOperationMessage.java index bcee308..7d19ce3 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexOperationMessage.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexOperationMessage.java @@ -115,7 +115,7 @@ public class IndexOperationMessage implements Serializable { } public void ingest(IndexOperationMessage singleMessage) { -
[2/2] usergrid git commit: Merge commit 'refs/pull/427/head' of apache.github.com:apache/usergrid into 2.1-release
Merge commit 'refs/pull/427/head' of apache.github.com:apache/usergrid into 2.1-release Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/8da60e2a Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/8da60e2a Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/8da60e2a Branch: refs/heads/2.1-release Commit: 8da60e2aa745a1f897bebbe4773438e6339637df Parents: 70b7e27 9135447 Author: Mike DunkerAuthored: Wed Nov 4 14:12:39 2015 -0800 Committer: Mike Dunker Committed: Wed Nov 4 14:12:39 2015 -0800 -- .../corepersistence/asyncevents/AmazonAsyncEventService.java | 8 +--- .../pipeline/read/traverse/AbstractReadGraphFilter.java | 2 +- .../persistence/index/impl/IndexOperationMessage.java| 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) --
usergrid git commit: This closes #46
Repository: usergrid Updated Branches: refs/heads/master 568d35d57 -> 02d6a914d This closes #46 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/02d6a914 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/02d6a914 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/02d6a914 Branch: refs/heads/master Commit: 02d6a914d85f9ef4d631c166164b59b9f1650acc Parents: 568d35d Author: Mike DunkerAuthored: Tue Nov 3 14:49:43 2015 -0800 Committer: Mike Dunker Committed: Tue Nov 3 14:49:43 2015 -0800 -- --
usergrid git commit: This closes #163 - cannot merge from unknown repository
Repository: usergrid Updated Branches: refs/heads/master 11594cebc -> 61a25bddf This closes #163 - cannot merge from unknown repository Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/61a25bdd Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/61a25bdd Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/61a25bdd Branch: refs/heads/master Commit: 61a25bddfe5c24ffb750a089e436732ee0d19604 Parents: 11594ce Author: Mike DunkerAuthored: Tue Nov 3 14:52:53 2015 -0800 Committer: Mike Dunker Committed: Tue Nov 3 14:52:53 2015 -0800 -- --
usergrid git commit: Change read by name not found message from INFO to DEBUG.
Repository: usergrid Updated Branches: refs/heads/2.1-release ad07e2bb1 -> c3a5bc436 Change read by name not found message from INFO to DEBUG. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/c3a5bc43 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/c3a5bc43 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/c3a5bc43 Branch: refs/heads/2.1-release Commit: c3a5bc436d927bab0a17db7e857027914a4d6b15 Parents: ad07e2b Author: Mike DunkerAuthored: Fri Nov 6 15:36:21 2015 -0800 Committer: Mike Dunker Committed: Fri Nov 6 15:36:21 2015 -0800 -- .../org/apache/usergrid/services/AbstractCollectionService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/c3a5bc43/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java b/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java index 607c476..351abc6 100644 --- a/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java +++ b/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java @@ -152,7 +152,9 @@ public class AbstractCollectionService extends AbstractService { Entity entity = em.getUniqueEntityFromAlias( getEntityType(), name ); if ( entity == null ) { -logger.info( "miss on entityType: {} with name: {}", getEntityType(), name ); +if (logger.isDebugEnabled()) { +logger.debug("miss on entityType: {} with name: {}", getEntityType(), name); +} String msg = "Cannot find entity with name: "+name; throw new EntityNotFoundException( msg ); }
usergrid git commit: This closes #312 - closed at request of developer
Repository: usergrid Updated Branches: refs/heads/master 61a25bddf -> 38a7d6236 This closes #312 - closed at request of developer Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/38a7d623 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/38a7d623 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/38a7d623 Branch: refs/heads/master Commit: 38a7d62364637eef53b7a184e0e66cc2f46eef55 Parents: 61a25bd Author: Mike DunkerAuthored: Tue Nov 3 14:54:15 2015 -0800 Committer: Mike Dunker Committed: Tue Nov 3 14:54:15 2015 -0800 -- --
usergrid git commit: USERGRID-1044: update README
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 247f79603 -> 73dcaebd2 USERGRID-1044: update README Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/73dcaebd Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/73dcaebd Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/73dcaebd Branch: refs/heads/USERGRID-1044 Commit: 73dcaebd286fad3edffd0a8e523b31b042b061c2 Parents: 247f796 Author: Mike DunkerAuthored: Mon Nov 2 08:54:18 2015 -0800 Committer: Mike Dunker Committed: Mon Nov 2 08:54:18 2015 -0800 -- stack/loadtests/README.md | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/73dcaebd/stack/loadtests/README.md -- diff --git a/stack/loadtests/README.md b/stack/loadtests/README.md index ec34b42..9dc24e9 100644 --- a/stack/loadtests/README.md +++ b/stack/loadtests/README.md @@ -9,6 +9,9 @@ The test scripts are found in the top level loadtests directory. Look inside the ###testConfig.sh Contains defaults that are used for all the other test scripts. +###runAuditDeleteEntities.sh +For a specified organization and given CSV file, delete all entities, writing those that fail to delete to another CSV file. + ###runAuditGetAllAppCollectionEntities.sh For a specified organization, finds all apps, and for each app, finds all collections and writes a CSV file line containing collection name, UUID, entity name, and modified timestamp for each entity in each collection. @@ -16,7 +19,7 @@ For a specified organization, finds all apps, and for each app, finds all collec For a specified organization and application, finds all collections and writes a CSV file line containing collection name, UUID, entity name, and modified timestamp for each entity in each collection. ###runAuditVerifyCollectionEntities.sh -For a specified organization and given CSV file, verify that all entities are retrievable, writing those that fail to another CSV file. +For a specified organization and given CSV file, verify that all entities are retrievable via query, writing those that fail to another CSV file, optionally deleting verified entities. ###runCollectionQueryTest.sh For a given collection, retrieve all entities using a cursor and a query. @@ -115,6 +118,13 @@ Defaults listed are those that are specified by the Usergrid Gatling code, not n * getViaQuery (**false**) - retrieve entities via query instead of via name or uuid * queryParams (**""**) - additional query parameters (currently used for get by entity or by name) * csvFeedPattern (**"random"**) - pattern to use when feeding from a CSV ("random" is random, "circular" goes through CSV sequentially and restarts from beginning when it reaches the end) +* unlimitedFeed (**false**) - continue loading with no limit on number of entities (forces interleavedWorkerFeed=true); hit CTRL-c to abort +* flushCsv (**0**) - if > 0, flush CSV file when that number of CSV entries has been received +* interleavedWorkerFeed (**false**) - for multiple gatling servers, shard the entities via interleaving rather than splitting into separate chunks; for example, for 10 workers over 1M entities, interleaving would cause one worker to have 1, 11, 21, 31, etc. instead of 1-10 +* newCsvOnFlush (**false**) - when the output CSV file is flushed, create a new CSV file +* deleteAfterSuccessfulAudit (**false**) - delete a record that is successfully verified via query +* usergridRegion (**""**) - send specified region in the UsergridRegion header for all requests -- this allows Edge proxy to call different regions for testing +* saveInvalidResponse (**false**) - on audit, do not retry but immediately save failure to output CSV file The following settings are currently not used (were used by deprecated tests, but may be valid in the future):
[2/2] usergrid git commit: Merge branch '2.1-release' of https://git-wip-us.apache.org/repos/asf/usergrid into 2.1-release
Merge branch '2.1-release' of https://git-wip-us.apache.org/repos/asf/usergrid into 2.1-release Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/67c0bfa1 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/67c0bfa1 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/67c0bfa1 Branch: refs/heads/2.1-release Commit: 67c0bfa103e3ee37218d8ace70ae6a6f14b530a7 Parents: 6b58d3e 3f4d33a Author: Mike DunkerAuthored: Fri Nov 6 12:29:19 2015 -0800 Committer: Mike Dunker Committed: Fri Nov 6 12:29:19 2015 -0800 -- .../impl/shard/impl/ShardGroupDeletionImpl.java | 165 ++- .../shard/impl/ShardGroupDeletionImplTest.java | 2 + 2 files changed, 86 insertions(+), 81 deletions(-) --
usergrid git commit: USERGRID-1044: fix typo
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 9e8138107 -> 4fa61a9ef USERGRID-1044: fix typo Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/4fa61a9e Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/4fa61a9e Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/4fa61a9e Branch: refs/heads/USERGRID-1044 Commit: 4fa61a9ef15339183058517ad37f9a85621c957e Parents: 9e81381 Author: Mike DunkerAuthored: Thu Oct 15 13:30:48 2015 -0700 Committer: Mike Dunker Committed: Thu Oct 15 13:30:48 2015 -0700 -- .../main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/4fa61a9e/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index 0b798a8..390029b 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -145,7 +145,7 @@ object AuditScenarios { val reqName = session("name").as[String] val modified = session("modified").as[String].toLong val collectionName = session(SessionVarCollectionName).as[String] -val collectionEntities = session(SessionVarCollectionEntities).as[Seq[Any]) +val collectionEntities = session(SessionVarCollectionEntities).as[Seq[Any]] val entityUuid = session(SessionVarEntityUuid).as[String] val entityName = session(SessionVarEntityName).as[String]
usergrid git commit: USERGRID-1044: fix direct access on query failure
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 2757e905d -> 9e8138107 USERGRID-1044: fix direct access on query failure and log when name/uuid error/mismatch in payload occurs Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/9e813810 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/9e813810 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/9e813810 Branch: refs/heads/USERGRID-1044 Commit: 9e813810756a1b48a23b1bac4d7cec6bc326f186 Parents: 2757e90 Author: Mike DunkerAuthored: Thu Oct 15 13:16:04 2015 -0700 Committer: Mike Dunker Committed: Thu Oct 15 13:16:04 2015 -0700 -- .../apache/usergrid/helpers/Extractors.scala| 18 - .../usergrid/scenarios/AuditScenarios.scala | 84 +++- .../scenarios/EntityCollectionScenarios.scala | 6 +- .../org/apache/usergrid/settings/Settings.scala | 19 + 4 files changed, 100 insertions(+), 27 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/9e813810/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala index 8a18053..136a561 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/helpers/Extractors.scala @@ -41,9 +41,9 @@ object Extractors { } /** - * Will extract the uuid from the create response. If the uuid is not present, an empty string will be set + * Will extract the uuid from the response. If the uuid is not present, an empty string will be set */ - def extractCreateUuid(saveAsName: String) = { + def extractEntityUuid(saveAsName: String) = { jsonPath("$.entities[0].uuid").transformOption(extract => { //it may or may not be present. If it is, save it, otherwise save it as an empty string extract.orElse(Some("")) @@ -51,9 +51,19 @@ object Extractors { } /** - * Will extract the modified date from the create response. If the modified field is not present, -1 will be set + * Will extract the name from the response. If the name is not present, an empty string will be set */ - def extractCreateModified(saveAsName: String) = { + def extractEntityName(saveAsName: String) = { +jsonPath("$.entities[0].name").transformOption(extract => { + //it may or may not be present. If it is, save it, otherwise save it as an empty string + extract.orElse(Some("")) +}).saveAs(saveAsName) + } + + /** + * Will extract the modified date from the response. If the modified field is not present, -1 will be set + */ + def extractEntityModified(saveAsName: String) = { jsonPath("$.entities[0].modified").ofType[Long].transformOption(extract => { //it may or may not be present. If it is, save it, otherwise save it as -1 extract.orElse(Some(-1)) http://git-wip-us.apache.org/repos/asf/usergrid/blob/9e813810/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index 905c652..0b798a8 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -32,7 +32,8 @@ object AuditScenarios { //The value for the cursor val SessionVarCursor: String = "cursor" - val SessionVarUuid: String = "entityUuid" + val SessionVarEntityUuid: String = "entityUuid" + val SessionVarEntityName: String = "entityName" val SessionVarDeletedUuid: String = "deletedUuid" val SessionVarCollectionName: String = "collectionName" val SessionVarCollectionEntities: String = "collectionEntities" @@ -117,7 +118,7 @@ object AuditScenarios { http("DELETE audited entity") .delete("/${collectionName}/${uuid}") .headers(Headers.authToken) - .check(extractCreateUuid(SessionVarDeletedUuid))) + .check(extractEntityUuid(SessionVarDeletedUuid))) .exec(session => { val uuid = session(SessionVarDeletedUuid).as[String] @@ -136,28 +137,50 @@ object AuditScenarios { .get("/${collectionName}/${uuid}") .headers(Headers.authToken) .headers(Headers.auditRegionHeaders) -
usergrid git commit: USERGRID-1044: and another typo
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 4fa61a9ef -> 06e3fa49a USERGRID-1044: and another typo Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/06e3fa49 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/06e3fa49 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/06e3fa49 Branch: refs/heads/USERGRID-1044 Commit: 06e3fa49abb2e1e5f4e7ad187741025499ee22c5 Parents: 4fa61a9 Author: Mike DunkerAuthored: Thu Oct 15 13:33:55 2015 -0700 Committer: Mike Dunker Committed: Thu Oct 15 13:33:55 2015 -0700 -- .../scala/org/apache/usergrid/scenarios/AuditScenarios.scala | 8 1 file changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/06e3fa49/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index 390029b..bd0d007 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -166,14 +166,14 @@ object AuditScenarios { if (entityUuid == null || entityUuid.isEmpty) { Settings.incAuditPayloadUuidError() println(s"PAYLOAD UUID MISSING (DIRECT): requestedUuid=$uuid") - } else if (uuid.equalsIgnoreCase(entityUuid)) { + } else if (!uuid.equalsIgnoreCase(entityUuid)) { Settings.incAuditPayloadUuidError() println(s"PAYLOAD UUID MISMATCH (DIRECT): requestedUuid=$uuid returnedUuid=$entityUuid") } if (entityName == null || entityName.isEmpty) { Settings.incAuditPayloadNameError() println(s"PAYLOAD NAME MISSING (DIRECT): requestedName=$reqName") - } else if (reqName.equalsIgnoreCase(entityName)) { + } else if (!reqName.equalsIgnoreCase(entityName)) { Settings.incAuditPayloadNameError() println(s"PAYLOAD NAME MISMATCH (DIRECT): requestedName=$reqName returnedName=$entityName") } @@ -217,14 +217,14 @@ object AuditScenarios { if (entityUuid == null || entityUuid.isEmpty) { Settings.incAuditPayloadUuidError() println(s"PAYLOAD UUID MISSING (QUERY): requestedUuid=$uuid") - } else if (uuid.equalsIgnoreCase(entityUuid)) { + } else if (!uuid.equalsIgnoreCase(entityUuid)) { Settings.incAuditPayloadUuidError() println(s"PAYLOAD UUID MISMATCH (QUERY): requestedUuid=$uuid returnedUuid=$entityUuid") } if (entityName == null || entityName.isEmpty) { Settings.incAuditPayloadNameError() println(s"PAYLOAD NAME MISSING (QUERY): requestedName=$reqName") - } else if (reqName.equalsIgnoreCase(entityName)) { + } else if (!reqName.equalsIgnoreCase(entityName)) { Settings.incAuditPayloadNameError() println(s"PAYLOAD NAME MISMATCH (QUERY): requestedName=$reqName returnedName=$entityName") }
usergrid git commit: Update the visibility timeout used when taking messages from SQS as it overrides the queue's configured/default timeout. Also change the queue's visibility timeout property to be
Repository: usergrid Updated Branches: refs/heads/2.1-release 0f589f688 -> 2b22c610d Update the visibility timeout used when taking messages from SQS as it overrides the queue's configured/default timeout. Also change the queue's visibility timeout property to be exposed as milliseconds for consistency. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2b22c610 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2b22c610 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2b22c610 Branch: refs/heads/2.1-release Commit: 2b22c610ddc3b9f9f08777fe5467713efe2ba553 Parents: 0f589f6 Author: Michael RussoAuthored: Thu Oct 15 10:23:29 2015 -0700 Committer: Michael Russo Committed: Thu Oct 15 10:23:29 2015 -0700 -- .../usergrid/corepersistence/index/IndexProcessorFig.java | 7 +++ .../java/org/apache/usergrid/persistence/queue/QueueFig.java | 6 +++--- .../usergrid/persistence/queue/impl/SNSQueueManagerImpl.java | 2 +- .../persistence/queue/util/AmazonNotificationUtils.java | 4 +++- 4 files changed, 10 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2b22c610/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java index 410f162..7d022e5 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexProcessorFig.java @@ -62,11 +62,10 @@ public interface IndexProcessorFig extends GuicyFig { /** * Set the visibility timeout for messages received from the queue. (in milliseconds). - * AWS default is also currently 30 seconds. Received messages will remain 'in flight' until - * they are ack'd(deleted) or this timeout occurs. If the timeout occurs, the messages will become - * visible again for re-processing. + * Received messages will remain 'in flight' until they are ack'd(deleted) or this timeout occurs. + * If the timeout occurs, the messages will become visible again for re-processing. */ -@Default( "3" ) +@Default( "5000" ) // 5 seconds @Key( INDEX_QUEUE_VISIBILITY_TIMEOUT ) int getIndexQueueVisibilityTimeout(); http://git-wip-us.apache.org/repos/asf/usergrid/blob/2b22c610/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java -- diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java index 7f26bcf..0453a9b 100644 --- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java +++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java @@ -76,10 +76,10 @@ public interface QueueFig extends GuicyFig { int getAsyncQueueSize(); /** - * Set the visibility timeout for faster retries + * Set the visibility timeout (in milliseconds) for faster retries * @return */ @Key( "usergrid.queue.visibilityTimeout" ) -@Default("10") -String getVisibilityTimeout(); +@Default("5000") // 5 seconds +int getVisibilityTimeout(); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/2b22c610/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java -- diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java index a2b5d72..d476f76 100644 --- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java +++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java @@ -351,7 +351,7 @@ public class SNSQueueManagerImpl implements QueueManager { ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(url); receiveMessageRequest.setMaxNumberOfMessages(limit); -receiveMessageRequest.setVisibilityTimeout(transactionTimeout / 1000); +receiveMessageRequest.setVisibilityTimeout(Math.max(1,
usergrid git commit: USERGRID-1044: if query audit fails, try direct access
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 b62ad30cb -> 2757e905d USERGRID-1044: if query audit fails, try direct access Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2757e905 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2757e905 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2757e905 Branch: refs/heads/USERGRID-1044 Commit: 2757e905d9a2cf38adf426df6604dd78e8a512ac Parents: b62ad30 Author: Mike DunkerAuthored: Thu Oct 15 09:34:14 2015 -0700 Committer: Mike Dunker Committed: Thu Oct 15 09:34:14 2015 -0700 -- .../usergrid/scenarios/AuditScenarios.scala | 40 ++-- .../org/apache/usergrid/settings/Settings.scala | 19 +++--- 2 files changed, 50 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2757e905/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index aaabf99..905c652 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -131,6 +131,38 @@ object AuditScenarios { session }) + val getCollectionEntityDirect = exec( +http("GET collection entity direct") + .get("/${collectionName}/${uuid}") + .headers(Headers.authToken) + .headers(Headers.auditRegionHeaders) + .check(status.is(200),jsonPath("$.count").optional.saveAs("count"),extractAuditEntities(SessionVarCollectionEntities))) + .exec(session => { +val count = session("count").as[String].toInt +val uuid = session("uuid").as[String] +val entityName = session("name").as[String] +val modified = session("modified").as[String].toLong +val collectionName = session(SessionVarCollectionName).as[String] + +if (count < 1) { + Settings.addAuditUuid(uuid, collectionName, entityName, modified) + Settings.incAuditNotFoundAtAll() + println(s"NOT FOUND AT ALL: $collectionName.$entityName ($uuid)") +} else if (count == 1) { + // found via direct access but not query + Settings.addAuditUuid(uuid, collectionName, entityName, modified) + Settings.incAuditNotFoundViaQuery() + println(s"NOT FOUND VIA QUERY: $collectionName.$entityName ($uuid)") +} else { + // count > 1 -> invalid + Settings.addAuditUuid(uuid, collectionName, entityName, modified) + Settings.incAuditBadResponse() + println(s"INVALID RESPONSE (count=$count): $collectionName.$entityName ($uuid)") +} + +session + }) + val getCollectionEntity = exec( http("GET collection entity") .get("/${collectionName}?ql=uuid=${uuid}") @@ -145,20 +177,22 @@ object AuditScenarios { val collectionName = session(SessionVarCollectionName).as[String] if (count < 1) { - Settings.addAuditUuid(uuid, collectionName, entityName, modified) - Settings.incAuditNotFound() - println(s"NOT FOUND: $collectionName.$entityName ($uuid)") + // will check to see whether accessible directly } else if (count > 1) { Settings.addAuditUuid(uuid, collectionName, entityName, modified) Settings.incAuditBadResponse() println(s"INVALID RESPONSE (count=$count): $collectionName.$entityName ($uuid)") } else { + // count == 1 -> success // println(s"FOUND: $collectionName.$entityName ($uuid)") Settings.incAuditSuccess() } session }) + .doIf(session => session("count").as[String].toInt < 1) { +exec(getCollectionEntityDirect) + } .doIf(session => Settings.deleteAfterSuccessfulAudit && session("count").as[String].toInt == 1) { // tryMax(Settings.retryCount) { exec(deleteAuditedEntity) http://git-wip-us.apache.org/repos/asf/usergrid/blob/2757e905/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala index 979fb3f..374440d 100755 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala +++
usergrid git commit: USERGRID-1044: add optional region header functionality to most requests
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 06e3fa49a -> 963a08417 USERGRID-1044: add optional region header functionality to most requests Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/963a0841 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/963a0841 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/963a0841 Branch: refs/heads/USERGRID-1044 Commit: 963a08417aa66eea567301e2592751d051a1a73c Parents: 06e3fa4 Author: Mike DunkerAuthored: Mon Oct 19 11:07:41 2015 -0700 Committer: Mike Dunker Committed: Mon Oct 19 11:07:41 2015 -0700 -- .../org/apache/usergrid/scenarios/AuditScenarios.scala | 3 +++ .../usergrid/scenarios/EntityCollectionScenarios.scala | 11 +++ 2 files changed, 14 insertions(+) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/963a0841/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index bd0d007..be754f4 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -58,6 +58,7 @@ object AuditScenarios { http("GET collections") .get(collectionGetUrl(false)) .headers(Headers.authToken) + .headers(Headers.auditRegionHeaders) .check(status.is(200),extractAuditEntities(SessionVarCollectionEntities),maybeExtractCursor(SessionVarCursor))) .foreach("${" + SessionVarCollectionEntities + "}", "singleResult") { exec(session => { @@ -75,6 +76,7 @@ object AuditScenarios { http("GET collections") .get(collectionGetUrl(true)) .headers(Headers.authToken) + .headers(Headers.auditRegionHeaders) .check(status.is(200),extractAuditEntities(SessionVarCollectionEntities),maybeExtractCursor(SessionVarCursor))) .foreach("${" + SessionVarCollectionEntities + "}", "singleResult") { exec(session => { @@ -118,6 +120,7 @@ object AuditScenarios { http("DELETE audited entity") .delete("/${collectionName}/${uuid}") .headers(Headers.authToken) + .headers(Headers.auditRegionHeaders) .check(extractEntityUuid(SessionVarDeletedUuid))) .exec(session => { val uuid = session(SessionVarDeletedUuid).as[String] http://git-wip-us.apache.org/repos/asf/usergrid/blob/963a0841/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala index de95920..bc3cf8c 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityCollectionScenarios.scala @@ -73,6 +73,7 @@ object EntityCollectionScenarios { http("GET entities") .get(entityGetUrl(false)) .headers(Headers.authToken) + .headers(Headers.auditRegionHeaders) .check(status.is(200), maybeExtractCursor(SessionVarCursor)) ) @@ -80,6 +81,7 @@ object EntityCollectionScenarios { http("GET entities") .get(entityGetUrl(true)) .headers(Headers.authToken) + .headers(Headers.auditRegionHeaders) .check(status.is(200), maybeExtractCursor(SessionVarCursor)) ) @@ -110,6 +112,7 @@ object EntityCollectionScenarios { http("GET entity by name (anonymous)") .get(randomEntityNameUrl()) .headers(Headers.authAnonymous) + .headers(Headers.auditRegionHeaders) .check(status.is(200)) ) @@ -117,6 +120,7 @@ object EntityCollectionScenarios { http("GET entity by name (token)") .get(randomEntityNameUrl()) .headers(Headers.authToken) + .headers(Headers.auditRegionHeaders) .check(status.is(200)) ) @@ -153,6 +157,7 @@ object EntityCollectionScenarios { .get("/" + Settings.collection + "/${uuid}") .queryParamMap(Settings.queryParamMap) .headers(Headers.authAnonymous) + .headers(Headers.auditRegionHeaders) .check(status.is(200)) ) @@ -161,6 +166,7 @@ object EntityCollectionScenarios { .get("/" + Settings.collection + "/${uuid}") .queryParamMap(Settings.queryParamMap) .headers(Headers.authToken) + .headers(Headers.auditRegionHeaders)
usergrid git commit: USERGRID-1044: add region to unlimited load test plus rename "auditRegion" to "usergridRegion" since it can be used for non-audit purposes
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 963a08417 -> 2f307a750 USERGRID-1044: add region to unlimited load test plus rename "auditRegion" to "usergridRegion" since it can be used for non-audit purposes Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2f307a75 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2f307a75 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2f307a75 Branch: refs/heads/USERGRID-1044 Commit: 2f307a75066204a894bd68115518e29064ae56cc Parents: 963a084 Author: Mike DunkerAuthored: Mon Oct 19 12:56:22 2015 -0700 Committer: Mike Dunker Committed: Mon Oct 19 12:56:22 2015 -0700 -- .../runAuditVerifyCollectionEntities.sh | 7 +++ stack/loadtests/runLoadEntitiesUnlimited.sh | 4 +++- .../usergrid/enums/ConfigProperties.scala | 6 +++--- .../org/apache/usergrid/helpers/Headers.scala | 4 ++-- .../usergrid/scenarios/AuditScenarios.scala | 10 - .../scenarios/EntityCollectionScenarios.scala | 22 ++-- .../org/apache/usergrid/settings/Settings.scala | 2 +- stack/loadtests/testConfig.sh | 1 + 8 files changed, 29 insertions(+), 27 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/runAuditVerifyCollectionEntities.sh -- diff --git a/stack/loadtests/runAuditVerifyCollectionEntities.sh b/stack/loadtests/runAuditVerifyCollectionEntities.sh index fa75505..695c9ee 100755 --- a/stack/loadtests/runAuditVerifyCollectionEntities.sh +++ b/stack/loadtests/runAuditVerifyCollectionEntities.sh @@ -28,18 +28,17 @@ if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi #RETRY_COUNT= DELETE_AFTER_SUCCESSFUL_AUDIT=false -AUDIT_REGION= die() { echo "$@" 1>&2 ; exit 1; } -[ "$#" -ge 3 ] || die "At least 3 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) AUDIT_UUID_FILENAME [FAILED_UUID_FILENAME [DELETE_AFTER_SUCCESSFUL_AUDIT(true/false)[AUDIT_REGION]]]" +[ "$#" -ge 3 ] || die "At least 3 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) AUDIT_UUID_FILENAME [FAILED_UUID_FILENAME [DELETE_AFTER_SUCCESSFUL_AUDIT(true/false)[USERGRID_REGION]]]" RAMP_USERS="$1" RAMP_TIME="$2" AUDIT_UUID_FILENAME="$3" FAILED_UUID_FILENAME="$4" [ "$#" -ge 5 ] && DELETE_AFTER_SUCCESSFUL_AUDIT="$5" -[ "$#" -ge 6 ] && AUDIT_REGION="$6" +[ "$#" -ge 6 ] && USERGRID_REGION="$6" shift $# @@ -65,6 +64,6 @@ mvn gatling:execute \ -DfailedUuidFilename=${FAILED_UUID_FILENAME} \ -DprintFailedRequests=${PRINT_FAILED_REQUESTS} \ -DdeleteAfterSuccessfulAudit=${DELETE_AFTER_SUCCESSFUL_AUDIT} \ --DauditRegion=${AUDIT_REGION} \ +-DusergridRegion=${USERGRID_REGION} \ -Dgatling.simulationClass=org.apache.usergrid.simulations.AuditSimulation http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/runLoadEntitiesUnlimited.sh -- diff --git a/stack/loadtests/runLoadEntitiesUnlimited.sh b/stack/loadtests/runLoadEntitiesUnlimited.sh index 9222a57..11ca0a4 100755 --- a/stack/loadtests/runLoadEntitiesUnlimited.sh +++ b/stack/loadtests/runLoadEntitiesUnlimited.sh @@ -44,7 +44,7 @@ if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi die() { echo "$@" 1>&2 ; exit 1; } -[ "$#" -ge 2 ] || die "At least 2 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) [UUID_FILENAME [ENTITY_SEED [ENTITY_WORKER_NUM [ENTITY_WORKER_COUNT" +[ "$#" -ge 2 ] || die "At least 2 arguments required, $# provided. Example is $0 RAMP_USERS RAMP_TIME(seconds) [UUID_FILENAME [ENTITY_SEED [ENTITY_WORKER_NUM [ENTITY_WORKER_COUNT [USERGRID_REGION]" RAMP_USERS="$1" RAMP_TIME="$2" @@ -52,6 +52,7 @@ RAMP_TIME="$2" [ "$#" -ge 4 ] && ENTITY_SEED="$4" [ "$#" -ge 5 ] && ENTITY_WORKER_NUM="$5" [ "$#" -ge 6 ] && ENTITY_WORKER_COUNT="$6" +[ "$#" -ge 7 ] && USERGRID_REGION="$6" shift $# @@ -97,5 +98,6 @@ mvn gatling:execute \ -DrampTime=${RAMP_TIME} \ -DuuidFilename=${UUID_FILENAME} \ -DprintFailedRequests=${PRINT_FAILED_REQUESTS} \ +-DusergridRegion=${USERGRID_REGION} \ -Dgatling.simulationClass=org.apache.usergrid.simulations.ConfigurableSimulation http://git-wip-us.apache.org/repos/asf/usergrid/blob/2f307a75/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala index d825bb6..f74222e 100644 ---
usergrid git commit: USERGRID-1044: set default retry count to 0 also, retry count was being used as the total number of attempts
Repository: usergrid Updated Branches: refs/heads/USERGRID-1044 2f307a750 -> 1195ce85f USERGRID-1044: set default retry count to 0 also, retry count was being used as the total number of attempts Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/1195ce85 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/1195ce85 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/1195ce85 Branch: refs/heads/USERGRID-1044 Commit: 1195ce85fefcc8334b38f6e79cc8a2c53ce9ce10 Parents: 2f307a7 Author: Mike DunkerAuthored: Tue Oct 20 13:37:34 2015 -0700 Committer: Mike Dunker Committed: Tue Oct 20 13:37:34 2015 -0700 -- stack/loadtests/README.md | 2 +- .../org/apache/usergrid/enums/ConfigProperties.scala | 2 +- .../apache/usergrid/scenarios/AuditScenarios.scala| 6 +++--- .../scenarios/EntityCollectionScenarios.scala | 14 +++--- stack/loadtests/testConfig.sh | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/1195ce85/stack/loadtests/README.md -- diff --git a/stack/loadtests/README.md b/stack/loadtests/README.md index 802c286..ec34b42 100644 --- a/stack/loadtests/README.md +++ b/stack/loadtests/README.md @@ -106,7 +106,7 @@ Defaults listed are those that are specified by the Usergrid Gatling code, not n * uuidFilename (no default) - UUID filename for non-audit tests * auditUuidFilename (no default) - UUID filename for audit tests * failedUuidFilename (no default) - UUID filename for failed entries while auditing -* retryCount (**5**) - number of retries of operation before giving up +* retryCount (**0**) - number of retries of operation before giving up * purgeUsers (**100**) - number of entities to create at a time during loadEntities (send this many requests, then wait for the responses) * laterThanTimestamp (**0**) - if specified for an audit, will only match entities modified >= this timestamp; can be used for incremental audits * entityProgressCount (**1**) - print to console every time this many requests has been sent (if entityProgressCount = 1, will print on the 1000th, 2000th, 3000th... request) http://git-wip-us.apache.org/repos/asf/usergrid/blob/1195ce85/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala index f74222e..cbb484c 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/enums/ConfigProperties.scala @@ -153,7 +153,7 @@ object ConfigProperties { case FailedUuidFilename => "/tmp/dummyFailedUuid.csv" case SandboxCollection => false case PurgeUsers => 100 -case RetryCount => 5 +case RetryCount => 0 case LaterThanTimestamp => 0L case EntityProgressCount => 1L case InjectionList => "rampUsers(10,60)" http://git-wip-us.apache.org/repos/asf/usergrid/blob/1195ce85/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala -- diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala index 4743536..4477338 100644 --- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala +++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/AuditScenarios.scala @@ -100,10 +100,10 @@ object AuditScenarios { session } .doIf(session => session("validEntity").as[String] == "yes") { - tryMax(Settings.retryCount) { + tryMax(1+Settings.retryCount) { exec(getCollectionsWithoutCursor) }.asLongAs(stringParamExists(SessionVarCursor)) { -tryMax(Settings.retryCount) { +tryMax(1+Settings.retryCount) { exec(getCollectionsWithCursor) } } @@ -252,7 +252,7 @@ object AuditScenarios { .asLongAs(session => session("validEntity").asOption[String].map(validEntity => validEntity != "no").getOrElse[Boolean](true)) { feed(FeederGenerator.collectionCsvFeeder) .doIf(session => session("validEntity").as[String] == "yes") { -tryMax(Settings.retryCount) { +tryMax(1+Settings.retryCount) {
[15/44] usergrid git commit: change location to entity field
change location to entity field Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/6f0bf9ec Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/6f0bf9ec Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/6f0bf9ec Branch: refs/heads/USERGRID-933 Commit: 6f0bf9eccbeb2052e1bce4992edb182a97fd3c2a Parents: 001a7e3 Author: Shawn FeldmanAuthored: Mon Sep 14 14:04:18 2015 -0600 Committer: Shawn Feldman Committed: Mon Sep 14 14:04:18 2015 -0600 -- .../corepersistence/CpEntityMapUtilsTest.java | 4 +- .../org/apache/usergrid/persistence/GeoIT.java | 52 +++- .../model/entity/MapToEntityConverter.java | 4 -- 3 files changed, 53 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/6f0bf9ec/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java -- diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java index 325e51f..b53f7ae 100644 --- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java +++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java @@ -133,14 +133,14 @@ public class CpEntityMapUtilsTest { cpEntity = CpEntityMapUtils.fromMap(properties, "loc", true); -assertNull(cpEntity.getFieldMap().get("location")); +assertTrue(cpEntity.getFieldMap().get("location") instanceof EntityObjectField); properties = new LinkedHashMap (); properties.put("location", "denver"); cpEntity = CpEntityMapUtils.fromMap(properties, "loc", true); -assertNull(cpEntity.getFieldMap().get("location") ); +assertTrue(cpEntity.getFieldMap().get("location") instanceof StringField); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/6f0bf9ec/stack/core/src/test/java/org/apache/usergrid/persistence/GeoIT.java -- diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/GeoIT.java b/stack/core/src/test/java/org/apache/usergrid/persistence/GeoIT.java index 8d71826..230f9be 100644 --- a/stack/core/src/test/java/org/apache/usergrid/persistence/GeoIT.java +++ b/stack/core/src/test/java/org/apache/usergrid/persistence/GeoIT.java @@ -33,7 +33,7 @@ import org.apache.usergrid.utils.MapUtils; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; - +import static org.junit.Assert.assertTrue; public class GeoIT extends AbstractCoreIT { @@ -252,6 +252,56 @@ public class GeoIT extends AbstractCoreIT { } @Test +public void testNonGeolocationEntities() throws Exception { +//1. load test entities +EntityManager em = app.getEntityManager(); +assertNotNull(em); + + List
[33/44] usergrid git commit: Removes obsolete plugins.
Removes obsolete plugins. Adds tests and implements entity-data plugin. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2689a015 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2689a015 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2689a015 Branch: refs/heads/USERGRID-933 Commit: 2689a015938e6b05ceb6f6cc2c228f61cb5e3b17 Parents: acbf3a1 Author: Todd NineAuthored: Thu Sep 17 16:17:43 2015 -0600 Committer: Todd Nine Committed: Thu Sep 17 16:17:43 2015 -0600 -- .../usergrid/corepersistence/CoreModule.java| 53 +-- .../migration/CoreMigration.java| 45 ++ .../migration/CoreMigrationPlugin.java | 31 ++-- .../migration/DeDupConnectionDataMigration.java | 93 .../migration/EntityTypeMappingMigration.java | 104 -- .../corepersistence/migration/Versions.java | 31 .../DeDupConnectionDataMigrationTest.java | 144 +++ .../migration/EntityTypeMappingMigrationIT.java | 125 .../migration/data/TestProgressObserver.java| 10 +- 9 files changed, 314 insertions(+), 322 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2689a015/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java index 7ed95e2..11707be 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java @@ -16,22 +16,43 @@ package org.apache.usergrid.corepersistence; -import com.google.inject.AbstractModule; -import com.google.inject.TypeLiteral; -import com.google.inject.assistedinject.FactoryModuleBuilder; -import com.google.inject.multibindings.Multibinder; +import org.safehaus.guicyfig.GuicyFigModule; + import org.apache.usergrid.corepersistence.asyncevents.AsyncEventService; import org.apache.usergrid.corepersistence.asyncevents.AsyncIndexProvider; import org.apache.usergrid.corepersistence.asyncevents.EventBuilder; import org.apache.usergrid.corepersistence.asyncevents.EventBuilderImpl; -import org.apache.usergrid.corepersistence.index.*; +import org.apache.usergrid.corepersistence.index.ApplicationIndexBucketLocator; +import org.apache.usergrid.corepersistence.index.CoreIndexFig; +import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory; +import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactoryImpl; +import org.apache.usergrid.corepersistence.index.IndexProcessorFig; +import org.apache.usergrid.corepersistence.index.IndexService; +import org.apache.usergrid.corepersistence.index.IndexServiceImpl; +import org.apache.usergrid.corepersistence.index.ReIndexService; +import org.apache.usergrid.corepersistence.index.ReIndexServiceImpl; import org.apache.usergrid.corepersistence.migration.CoreMigration; import org.apache.usergrid.corepersistence.migration.CoreMigrationPlugin; -import org.apache.usergrid.corepersistence.migration.EntityTypeMappingMigration; +import org.apache.usergrid.corepersistence.migration.DeDupConnectionDataMigration; import org.apache.usergrid.corepersistence.migration.MigrationModuleVersionPlugin; import org.apache.usergrid.corepersistence.pipeline.PipelineModule; -import org.apache.usergrid.corepersistence.rx.impl.*; -import org.apache.usergrid.corepersistence.service.*; +import org.apache.usergrid.corepersistence.rx.impl.AllApplicationsObservable; +import org.apache.usergrid.corepersistence.rx.impl.AllApplicationsObservableImpl; +import org.apache.usergrid.corepersistence.rx.impl.AllEntitiesInSystemImpl; +import org.apache.usergrid.corepersistence.rx.impl.AllEntityIdsObservable; +import org.apache.usergrid.corepersistence.rx.impl.AllEntityIdsObservableImpl; +import org.apache.usergrid.corepersistence.rx.impl.AllNodesInGraphImpl; +import org.apache.usergrid.corepersistence.service.AggregationService; +import org.apache.usergrid.corepersistence.service.AggregationServiceFactory; +import org.apache.usergrid.corepersistence.service.AggregationServiceImpl; +import org.apache.usergrid.corepersistence.service.ApplicationService; +import org.apache.usergrid.corepersistence.service.ApplicationServiceImpl; +import org.apache.usergrid.corepersistence.service.CollectionService; +import org.apache.usergrid.corepersistence.service.CollectionServiceImpl; +import org.apache.usergrid.corepersistence.service.ConnectionService; +import org.apache.usergrid.corepersistence.service.ConnectionServiceImpl;
[02/44] usergrid git commit: fix default queue
fix default queue Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/1c7ab043 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/1c7ab043 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/1c7ab043 Branch: refs/heads/USERGRID-933 Commit: 1c7ab04338e89fd1a7d1ebd15918be8875f933d7 Parents: 929528a Author: Shawn FeldmanAuthored: Thu Sep 10 17:06:39 2015 -0600 Committer: Shawn Feldman Committed: Thu Sep 10 17:06:39 2015 -0600 -- .../queue/impl/QueueManagerFactoryImpl.java | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/1c7ab043/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java -- diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java index 2f9e7b1..d0ed1ef 100644 --- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java +++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java @@ -25,6 +25,9 @@ import com.google.inject.Provider; import com.google.inject.Singleton; import org.apache.usergrid.persistence.queue.*; +import java.util.HashMap; +import java.util.Map; + /** * manages whether we take in an external in memory override for queues. */ @@ -34,14 +37,25 @@ public class QueueManagerFactoryImpl implements QueueManagerFactory { private final QueueFig queueFig; private final QueueManagerInternalFactory queuemanagerInternalFactory; +private final Map defaultManager; @Inject public QueueManagerFactoryImpl(final QueueFig queueFig, final QueueManagerInternalFactory queuemanagerInternalFactory){ this.queueFig = queueFig; this.queuemanagerInternalFactory = queuemanagerInternalFactory; +this.defaultManager = new HashMap<>(10); } @Override public QueueManager getQueueManager(QueueScope scope) { -return queueFig.overrideQueueForDefault() ? new DefaultQueueManager() : queuemanagerInternalFactory.getQueueManager(scope); +if(queueFig.overrideQueueForDefault()){ +QueueManager manager = defaultManager.get(scope.getName()); +if(manager==null){ +manager = new DefaultQueueManager(); +defaultManager.put(scope.getName(),manager); +} +return manager; +}else{ +return queuemanagerInternalFactory.getQueueManager(scope); +} } }
[27/44] usergrid git commit: Fixing weird formatting in license headers, no code changes. This closes #385.
Fixing weird formatting in license headers, no code changes. This closes #385. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/65d2608e Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/65d2608e Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/65d2608e Branch: refs/heads/USERGRID-933 Commit: 65d2608e8fd18ecec1edfce4d41cf2296bf3cc1a Parents: a562079 Author: Dave JohnsonAuthored: Wed Sep 16 10:45:12 2015 -0400 Committer: Dave Johnson Committed: Wed Sep 16 10:45:12 2015 -0400 -- .../persistence/index/CandidateResult.java | 32 - .../persistence/index/CandidateResults.java | 34 -- .../SearchRequestBuilderStrategyV2.java | 30 .../usergrid/persistence/index/IndexEdge.java | 36 ++-- .../index/IndexLocationStrategy.java| 30 .../persistence/index/IndexRefreshCommand.java | 30 .../usergrid/persistence/index/SearchType.java | 30 .../usergrid/persistence/index/SearchTypes.java | 32 - .../persistence/index/SelectFieldMapping.java | 36 ++-- .../persistence/index/impl/EntityField.java | 32 - .../index/impl/EntityMappingParser.java | 35 +-- .../index/impl/EsEntityIndexFactoryImpl.java| 29 .../index/impl/EsIndexBufferConsumerImpl.java | 28 +++ .../index/impl/EsIndexCacheImpl.java| 29 .../persistence/index/impl/FailureMonitor.java | 30 .../index/impl/FailureMonitorImpl.java | 32 - .../persistence/index/impl/FieldParser.java | 36 ++-- .../persistence/index/impl/GeoSortFields.java | 36 ++-- .../index/impl/IndexBufferConsumer.java | 28 +++ .../persistence/index/impl/IndexCache.java | 30 .../persistence/index/impl/IndexEdgeImpl.java | 36 ++-- .../index/impl/IndexIdentifierv2Impl.java | 30 .../index/impl/IndexRefreshCommandImpl.java | 30 .../index/impl/NoOpFilterBuilder.java | 32 - .../index/impl/NoOpQueryBuilder.java| 32 - .../impl/SearchRequestBuilderStrategy.java | 30 .../persistence/index/impl/SortBuilder.java | 36 ++-- .../EsIndexMappingMigrationPlugin.java | 28 +++ .../index/migration/IndexDataVersions.java | 30 .../persistence/index/query/ParsedQuery.java| 36 ++-- .../index/query/ParsedQueryBuilder.java | 36 ++-- .../persistence/index/query/SortPredicate.java | 36 ++-- .../index/impl/EntityToMapConverterTest.java| 36 ++-- .../impl/EsIndexMappingMigrationPluginTest.java | 30 .../persistence/index/impl/EsRunner.java| 32 - .../persistence/index/impl/GeoPagingTest.java | 36 ++-- .../index/impl/TestIndexIdentifier.java | 30 37 files changed, 579 insertions(+), 612 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/65d2608e/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/CandidateResult.java -- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/CandidateResult.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/CandidateResult.java index 27d5620..2375509 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/CandidateResult.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/CandidateResult.java @@ -1,24 +1,20 @@ /* + * 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 * - * * - * * 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,
[19/44] usergrid git commit: Added test to prove issue in graph. Need to fix version load.
Added test to prove issue in graph. Need to fix version load. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/13d25941 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/13d25941 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/13d25941 Branch: refs/heads/USERGRID-933 Commit: 13d2594196bd6315af4305e95e8314cbb600ee3e Parents: 85e1e7c Author: Todd NineAuthored: Tue Sep 15 13:34:34 2015 -0600 Committer: Todd Nine Committed: Tue Sep 15 13:35:21 2015 -0600 -- .../service/ConnectionServiceImpl.java | 26 --- .../service/ConnectionServiceImplTest.java | 36 -- stack/core/src/test/resources/log4j.properties | 3 +- .../migration/schema/MigrationManagerFig.java | 1 + .../impl/stage/EdgeDeleteListenerImpl.java | 4 +- .../graph/impl/stage/EdgeDeleteRepairImpl.java | 61 +--- .../persistence/graph/GraphManagerIT.java | 73 +++- 7 files changed, 136 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/13d25941/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java index 41e6f80..d60426c 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java @@ -147,18 +147,18 @@ public class ConnectionServiceImpl implements ConnectionService { final Observable applicationScopeObservable ) { -final Observable entityIds =allEntityIdsObservable.getEntities( applicationScopeObservable ); +final Observable entityIds = allEntityIdsObservable.getEntities( applicationScopeObservable ); //now we have an observable of entityIds. Walk each connection type //get all edge types for connections - return entityIds.flatMap( entityIdScope -> { +return entityIds.flatMap( entityIdScope -> { final ApplicationScope applicationScope = entityIdScope.getApplicationScope(); final Id entityId = entityIdScope.getId(); -final GraphManager gm = graphManagerFactory.createEdgeManager(applicationScope ); +final GraphManager gm = graphManagerFactory.createEdgeManager( applicationScope ); - logger.debug( "Checking connections of id {} in application {}", entityId, applicationScope ); +logger.debug( "Checking connections of id {} in application {}", entityId, applicationScope ); return gm.getEdgeTypesFromSource( new SimpleSearchEdgeType( entityId, CpNamingUtils.EDGE_CONN_PREFIX, Optional.absent() ) ) @@ -176,7 +176,7 @@ public class ConnectionServiceImpl implements ConnectionService { return gm.loadEdgesFromSource( searchByEdge ); } ) -//now that we have a stream of edges, stream all versions +//now that we have a stream of edges, stream all versions .flatMap( edge -> { logger.debug( "Found edge {}, searching for multiple versions of edge", edge ); @@ -187,19 +187,17 @@ public class ConnectionServiceImpl implements ConnectionService { return gm.loadEdgeVersions( searchByEdge ); } ) -//skip the first version since it's the one we want to retain -// validate there is only 1 version of it, delete anything > than the min -.skip( 1 ) -.flatMap( edgeToDelete -> { +//skip the first version since it's the one we want to retain +// validate there is only 1 version of it, delete anything > than the min +.skip( 1 ).flatMap( edgeToDelete -> { logger.debug( "Deleting edge {}", edgeToDelete ); //mark the edge and ignore the cleanup result return gm.markEdge( edgeToDelete ) - //delete the edge - .flatMap( edge -> gm.deleteEdge( edgeToDelete )); -} ) -.map( deletedEdge -> new ConnectionScope( applicationScope, deletedEdge ) ) ; -}); +//delete the edge +.flatMap( edge -> gm.deleteEdge( edgeToDelete ) ); +} ).map( deletedEdge -> new ConnectionScope(
[41/44] usergrid git commit: Fixes missing observer update
Fixes missing observer update Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/29c1a12d Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/29c1a12d Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/29c1a12d Branch: refs/heads/USERGRID-933 Commit: 29c1a12dd1a1f070b1c8523e6213f1bf5ac12931 Parents: 521fc03 Author: Todd NineAuthored: Thu Sep 24 12:45:20 2015 -0600 Committer: Todd Nine Committed: Thu Sep 24 12:45:20 2015 -0600 -- .../management/AppInfoMigrationPlugin.java | 20 +--- 1 file changed, 5 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/29c1a12d/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java index d0f39e9..ff6bbe3 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java @@ -150,20 +150,10 @@ public class AppInfoMigrationPlugin implements MigrationPlugin { //get old app infos to migrate final Observable oldAppInfos = getOldAppInfos(); oldAppInfos.doOnNext( oldAppInfoEntity -> { -try { -migrateAppInfo( oldAppInfoEntity, observer ); -count.incrementAndGet(); -} -catch ( Exception e ) { -if ( e.getCause() instanceof ApplicationAlreadyExistsException ) { -count.incrementAndGet(); -logger.info( "Application already migrated", oldAppInfoEntity.getId().getUuid() ); -} -else { -logger.error( "Failed to migrate app info" + oldAppInfoEntity.getId().getUuid(), e ); -throw new RuntimeException( e ); -} -} + + +migrateAppInfo( oldAppInfoEntity, observer ); +count.incrementAndGet(); } ) //we want a doOnError to catch something going wrong, otherwise we'll mark as complete .doOnError( error -> { @@ -196,7 +186,6 @@ public class AppInfoMigrationPlugin implements MigrationPlugin { //get app info from graph to see if it has been migrated already - // create org->app connections, but not for apps in dummy "usergrid" internal organization //avoid management org @@ -209,6 +198,7 @@ public class AppInfoMigrationPlugin implements MigrationPlugin { //swallow catch ( ApplicationAlreadyExistsException appExists ) { logger.info( "Application {} already migrated. Ignoring.", name ); +observer.update( getMaxVersion(), "Skipping application " + name + " it already exists" ); } catch ( Exception e ) { throw new RuntimeException( e );
[26/44] usergrid git commit: Fixing weird formatting in license headers, no code changes. This closes #385.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/65d2608e/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsIndexMappingMigrationPluginTest.java -- diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsIndexMappingMigrationPluginTest.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsIndexMappingMigrationPluginTest.java index d4ce9e6..90d030b 100644 --- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsIndexMappingMigrationPluginTest.java +++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsIndexMappingMigrationPluginTest.java @@ -1,20 +1,20 @@ /* * - * * Licensed to the Apache Software Foundation (ASF) under one or more - * * contributor license agreements. 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. For additional information regarding - * * copyright in this work, please see the NOTICE file in the top level - * * directory of this distribution. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. 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. For additional information regarding + * copyright in this work, please see the NOTICE file in the top level + * directory of this distribution. * */ package org.apache.usergrid.persistence.index.impl; http://git-wip-us.apache.org/repos/asf/usergrid/blob/65d2608e/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsRunner.java -- diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsRunner.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsRunner.java index c972851..2bfa8f6 100644 --- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsRunner.java +++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EsRunner.java @@ -1,21 +1,21 @@ /* * - * * 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. + * 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
[06/44] usergrid git commit: Updating EdgeDeleteEvent
Updating EdgeDeleteEvent Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f24e7e40 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f24e7e40 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f24e7e40 Branch: refs/heads/USERGRID-933 Commit: f24e7e40cbd4f55154f4585d795a793d870c528f Parents: 66ba6b4 Author: Michael RussoAuthored: Fri Sep 11 13:35:51 2015 -0700 Committer: Michael Russo Committed: Fri Sep 11 13:35:51 2015 -0700 -- .../corepersistence/asyncevents/AmazonAsyncEventService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f24e7e40/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java index 71834c3..fcb93c9 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java @@ -354,10 +354,10 @@ public class AmazonAsyncEventService implements AsyncEventService { Preconditions.checkArgument(event instanceof EdgeDeleteEvent, String.format("Event Type for handleEdgeDelete must be EDGE_DELETE, got %s", event.getClass())); -final EdgeIndexEvent edgeIndexEvent = ( EdgeIndexEvent ) event; +final EdgeDeleteEvent edgeDeleteEvent = ( EdgeDeleteEvent ) event; -final ApplicationScope applicationScope = edgeIndexEvent.getApplicationScope(); -final Edge edge = edgeIndexEvent.getEdge(); +final ApplicationScope applicationScope = edgeDeleteEvent.getApplicationScope(); +final Edge edge = edgeDeleteEvent.getEdge(); if (logger.isDebugEnabled()) logger.debug("Deleting in app scope {} with edge {}", applicationScope, edge);
[44/44] usergrid git commit: In progress, not working
In progress, not working Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/a5185f2e Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/a5185f2e Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/a5185f2e Branch: refs/heads/USERGRID-933 Commit: a5185f2e72a3be91a8eac35f1b96a2cc1f72e8f8 Parents: 5ead5fd Author: Mike DunkerAuthored: Fri Sep 25 18:30:04 2015 -0700 Committer: Mike Dunker Committed: Fri Sep 25 18:30:04 2015 -0700 -- .../usergrid/corepersistence/CoreModule.java| 6 +- .../corepersistence/CpEntityManagerFactory.java | 14 +- .../ManagementOrganizationDataMigration.java| 155 +++ .../corepersistence/util/CpNamingUtils.java | 32 +++- .../persistence/EntityManagerFactory.java | 2 + .../persistence/cassandra/CassandraService.java | 1 + .../usergrid/management/OrganizationConfig.java | 5 + .../cassandra/ManagementServiceImpl.java| 6 +- .../migration/AppInfoMigrationPluginTest.java | 2 +- 9 files changed, 204 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/a5185f2e/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java index 486aa6f..8e4e58f 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java @@ -16,6 +16,7 @@ package org.apache.usergrid.corepersistence; +import org.apache.usergrid.corepersistence.migration.*; import org.safehaus.guicyfig.GuicyFigModule; import org.apache.usergrid.corepersistence.asyncevents.AsyncEventService; @@ -31,10 +32,6 @@ import org.apache.usergrid.corepersistence.index.IndexService; import org.apache.usergrid.corepersistence.index.IndexServiceImpl; import org.apache.usergrid.corepersistence.index.ReIndexService; import org.apache.usergrid.corepersistence.index.ReIndexServiceImpl; -import org.apache.usergrid.corepersistence.migration.CoreMigration; -import org.apache.usergrid.corepersistence.migration.CoreMigrationPlugin; -import org.apache.usergrid.corepersistence.migration.DeDupConnectionDataMigration; -import org.apache.usergrid.corepersistence.migration.MigrationModuleVersionPlugin; import org.apache.usergrid.corepersistence.pipeline.PipelineModule; import org.apache.usergrid.corepersistence.rx.impl.AllApplicationsObservable; import org.apache.usergrid.corepersistence.rx.impl.AllApplicationsObservableImpl; @@ -131,6 +128,7 @@ public class CoreModule extends AbstractModule { dataMigrationMultibinder.addBinding().to( DeDupConnectionDataMigration.class ); +dataMigrationMultibinder.addBinding().to( ManagementOrganizationDataMigration.class ); //wire up the collection migration plugin http://git-wip-us.apache.org/repos/asf/usergrid/blob/a5185f2e/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java index 4bdade5..8985f3d 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java @@ -71,6 +71,7 @@ import org.apache.usergrid.persistence.model.entity.Id; import org.apache.usergrid.persistence.model.entity.SimpleId; import org.apache.usergrid.persistence.model.util.UUIDGenerator; import org.apache.usergrid.utils.UUIDUtils; +import org.apache.usergrid.corepersistence.util.CpNamingUtils; import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; @@ -166,7 +167,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application if ( em.getApplication() == null ) { logger.info("Creating management application"); Map mgmtAppProps = new HashMap (); -mgmtAppProps.put(PROPERTY_NAME, "systemapp"); +mgmtAppProps.put(PROPERTY_NAME, CassandraService.MANAGEMENT_APPLICATION); em.create( getManagementAppId(), TYPE_APPLICATION, mgmtAppProps); em.getApplication(); } @@ -448,7 +449,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
[17/44] usergrid git commit: Initial testing with guice wiring for test
Initial testing with guice wiring for test Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/b625ed24 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/b625ed24 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/b625ed24 Branch: refs/heads/USERGRID-933 Commit: b625ed24a68d9c71fc30694c5dbeda26f1afb4d7 Parents: 2faa805 Author: Todd NineAuthored: Mon Sep 14 17:33:38 2015 -0600 Committer: Todd Nine Committed: Mon Sep 14 18:14:00 2015 -0600 -- .../corepersistence/CpRelationManager.java | 23 ++- .../asyncevents/AsyncEventService.java | 2 + .../builder/PipelineBuilderFactory.java | 3 + .../service/ConnectionScope.java| 53 + .../service/ConnectionService.java | 10 + .../service/ConnectionServiceImpl.java | 65 +- .../corepersistence/util/CpNamingUtils.java | 13 +- .../corepersistence/TestCoreModule.java | 34 .../service/ConnectionServiceImplTest.java | 198 +++ stack/core/src/test/resources/log4j.properties | 3 +- .../impl/TargetIdObservableImpl.java| 13 +- 11 files changed, 397 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/b625ed24/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java index 0c3b927..1da6f75 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java @@ -63,6 +63,7 @@ import org.apache.usergrid.persistence.graph.GraphManager; import org.apache.usergrid.persistence.graph.SearchByEdge; import org.apache.usergrid.persistence.graph.SearchByEdgeType; import org.apache.usergrid.persistence.graph.impl.SimpleEdge; +import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdge; import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdgeType; import org.apache.usergrid.persistence.graph.impl.SimpleSearchEdgeType; import org.apache.usergrid.persistence.index.EntityIndex; @@ -694,9 +695,27 @@ public class CpRelationManager implements RelationManager { final Edge edge = createConnectionEdge( cpHeadEntity.getId(), connectionType, targetEntity.getId() ); final GraphManager gm = managerCache.getGraphManager( applicationScope ); -gm.writeEdge( edge ).toBlocking().last(); -indexService.queueNewEdge( applicationScope, targetEntity, edge ); + +//check if the edge exists + + +final SearchByEdge searchByEdge = new SimpleSearchByEdge(edge.getSourceNode(), edge.getType(), edge.getTargetNode(), Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING, Optional.absent() ); + + +//only take 1 and count it. If we don't have anything, create the edge +final int count = gm.loadEdgeVersions( searchByEdge ).take( 1 ).count().toBlocking().last(); + +if(count == 0) { +if(logger.isDebugEnabled()) { +logger.debug( "No edge exists between {} and {} of type {}. Creating", +new Object[] { edge.getSourceNode(), edge.getTargetNode(), edge.getType() } ); +} + +gm.writeEdge( edge ).toBlocking().last(); + +indexService.queueNewEdge( applicationScope, targetEntity, edge ); +} return connection; } http://git-wip-us.apache.org/repos/asf/usergrid/blob/b625ed24/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventService.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventService.java index 6d51679..ae5688c 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventService.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AsyncEventService.java @@ -54,6 +54,8 @@ public interface AsyncEventService extends ReIndexAction { /** * Fired when a new edge is added to an entity. Such as initial entity creation, adding to a collection, or creating a connection * + * TODO: We shouldn't take an entity here, only the id. It doesn't make sense in a distributed context to pass the entity + * * @param applicationScope * @param entity
[40/44] usergrid git commit: Fixed bugs in migration of apps
Fixed bugs in migration of apps Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/521fc03e Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/521fc03e Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/521fc03e Branch: refs/heads/USERGRID-933 Commit: 521fc03e556af47d110f0a7d98f2af215cb3fda1 Parents: 8281430 Author: Todd NineAuthored: Thu Sep 24 11:07:24 2015 -0600 Committer: Todd Nine Committed: Thu Sep 24 11:07:24 2015 -0600 -- .../management/AppInfoMigrationPlugin.java | 47 +++- 1 file changed, 25 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/521fc03e/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java index 54779b9..d0f39e9 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java @@ -164,10 +164,18 @@ public class AppInfoMigrationPlugin implements MigrationPlugin { throw new RuntimeException( e ); } } -} ).doOnCompleted( () -> { -migrationInfoSerialization.setVersion( getName(), getMaxVersion() ); -observer.complete(); -} ).toBlocking().lastOrDefault( null ); +} ) +//we want a doOnError to catch something going wrong, otherwise we'll mark as complete +.doOnError( error -> { +logger.error( "Unable to migrate applications, an error occurred. Please try again", error ); +observer.failed( getMaxVersion(), "Unable to migrate applications", error ); +} ) + +//if we complete successfully, set the version and notify the observer +.doOnCompleted( () -> { +migrationInfoSerialization.setVersion( getName(), getMaxVersion() ); +observer.complete(); +} ).subscribe(); } @@ -186,28 +194,23 @@ public class AppInfoMigrationPlugin implements MigrationPlugin { UUID applicationId = getUuid( oldAppInfoMap, "applicationUuid" ); applicationId = applicationId == null ? getUuid( oldAppInfoMap, "appUuid" ) : applicationId; //get app info from graph to see if it has been migrated already -org.apache.usergrid.persistence.Entity appInfo = getApplicationInfo( applicationId ); -if ( appInfo == null ) { -observer.update( getMaxVersion(), "Created application_info for " + appName ); -// create org->app connections, but not for apps in dummy "usergrid" internal organization -if ( !orgName.equals( "usergrid" ) ) { //avoid management org -EntityRef orgRef = managementEm.getAlias( Group.ENTITY_TYPE, orgName ); -// create and connect new APPLICATION_INFO oldAppInfo to Organization -managementService.createApplication( orgRef.getUuid(), name, applicationId, null ); -} -} -else { -//already migrated don't do anything -observer.update( getMaxVersion(), -"Received existing application_info for " + appName + " don't do anything" ); -} + +// create org->app connections, but not for apps in dummy "usergrid" internal organization +//avoid management org + +EntityRef orgRef = managementEm.getAlias( Group.ENTITY_TYPE, orgName ); +// create and connect new APPLICATION_INFO oldAppInfo to Organization +managementService.createApplication( orgRef.getUuid(), name, applicationId, null ); + +observer.update( getMaxVersion(), "Created application_info for " + appName ); +} +//swallow +catch ( ApplicationAlreadyExistsException appExists ) { +logger.info( "Application {} already migrated. Ignoring.", name ); } catch ( Exception e ) { -String msg = "Exception writing application_info for " + name; -logger.error( msg, e ); -observer.failed( getMaxVersion(), msg ); throw new RuntimeException( e ); } }
Git Push Summary
Repository: usergrid Updated Branches: refs/heads/USERGRID-992 [created] 109ce2de7
[23/44] usergrid git commit: change parsing logic to parse uuid as string
change parsing logic to parse uuid as string Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/e2fe9398 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/e2fe9398 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/e2fe9398 Branch: refs/heads/USERGRID-933 Commit: e2fe93981ea11d78906eafbecd26f912e3dd6703 Parents: 723ee3a Author: Shawn FeldmanAuthored: Tue Sep 15 18:18:21 2015 -0600 Committer: Shawn Feldman Committed: Tue Sep 15 18:18:21 2015 -0600 -- .../index/impl/EntityMappingParser.java | 2 +- .../persistence/index/impl/EsQueryVistor.java | 52 ++-- .../persistence/index/impl/EntityIndexTest.java | 12 - 3 files changed, 38 insertions(+), 28 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/e2fe9398/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java -- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java index bfefaa9..e328d29 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java @@ -72,7 +72,7 @@ public class EntityMappingParser implements FieldParser { * Visit al the primitive values */ private void visit( final UUID value ) { -fields.add( EntityField.create( fieldStack.peek(), value ) ); + visit(value.toString()); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/e2fe9398/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java -- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java index 7b66c0d..af60ed6 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java @@ -107,7 +107,7 @@ public class EsQueryVistor implements QueryVisitor { * We use a left and a right, add our boolean query */ if ( useLeftQuery && useRightQuery ) { -final BoolQueryBuilder qb = QueryBuilders.boolQuery().must( leftQuery ).must( rightQuery ); +final BoolQueryBuilder qb = QueryBuilders.boolQuery().must(leftQuery).must(rightQuery); queryBuilders.push( qb ); } //only use the left @@ -131,7 +131,7 @@ public class EsQueryVistor implements QueryVisitor { //use left and right if ( useLeftFilter && useRightFilter ) { -final BoolFilterBuilder fb = FilterBuilders.boolFilter().must( leftFilter ).must( rightFilter ); +final BoolFilterBuilder fb = FilterBuilders.boolFilter().must(leftFilter).must(rightFilter); filterBuilders.push( fb ); } @@ -166,13 +166,13 @@ public class EsQueryVistor implements QueryVisitor { final boolean useLeftQuery = use( leftQuery ); -final boolean useRightQuery = use( rightQuery ); +final boolean useRightQuery = use(rightQuery); //push our boolean filters if ( useLeftQuery && useRightQuery ) { //when we issue an OR query in usergrid, 1 or more of the terms should match. When doing bool query in ES, there is no requirement for more than 1 to match, where as in a filter more than 1 must match -final BoolQueryBuilder qb = QueryBuilders.boolQuery().should( leftQuery ).should( rightQuery ).minimumNumberShouldMatch( -1 ); +final BoolQueryBuilder qb = QueryBuilders.boolQuery().should( leftQuery ).should(rightQuery).minimumNumberShouldMatch( +1); queryBuilders.push( qb ); } else if ( useLeftQuery ) { @@ -189,7 +189,7 @@ public class EsQueryVistor implements QueryVisitor { final boolean useLeftFilter = use( leftFilter ); -final boolean useRightFilter = use( rightFilter ); +final boolean useRightFilter = use(rightFilter); //use left and right if ( useLeftFilter && useRightFilter ) { @@ -225,7 +225,7 @@ public class
[31/44] usergrid git commit: Fixes issue with incorrectly not rolling version when no app-infos are present.
Fixes issue with incorrectly not rolling version when no app-infos are present. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/9294af73 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/9294af73 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/9294af73 Branch: refs/heads/USERGRID-933 Commit: 9294af73ff1af563fd06d9b5dc6a04e37dc76788 Parents: 65d2608 Author: Todd NineAuthored: Thu Sep 17 11:53:09 2015 -0600 Committer: Todd Nine Committed: Thu Sep 17 11:53:09 2015 -0600 -- .../management/AppInfoMigrationPlugin.java | 234 +-- 1 file changed, 116 insertions(+), 118 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/9294af73/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java index ff73402..54779b9 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java @@ -20,11 +20,21 @@ package org.apache.usergrid.management; -import com.google.common.base.Optional; -import com.google.inject.Inject; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicInteger; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.BeanFactory; + import org.apache.usergrid.corepersistence.util.CpEntityMapUtils; import org.apache.usergrid.corepersistence.util.CpNamingUtils; -import org.apache.usergrid.persistence.*; +import org.apache.usergrid.persistence.EntityFactory; +import org.apache.usergrid.persistence.EntityManager; +import org.apache.usergrid.persistence.EntityManagerFactory; +import org.apache.usergrid.persistence.EntityRef; +import org.apache.usergrid.persistence.Schema; import org.apache.usergrid.persistence.collection.EntityCollectionManager; import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory; import org.apache.usergrid.persistence.core.migration.data.MigrationInfoSerialization; @@ -42,21 +52,17 @@ import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdge; import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdgeType; import org.apache.usergrid.persistence.model.entity.Entity; import org.apache.usergrid.persistence.model.entity.Id; -import org.apache.usergrid.persistence.model.entity.SimpleId; import org.apache.usergrid.utils.UUIDUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.BeanFactory; -import rx.Observable; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.atomic.AtomicInteger; +import com.google.common.base.Optional; +import com.google.inject.Inject; + +import rx.Observable; import static org.apache.usergrid.corepersistence.util.CpNamingUtils.getApplicationScope; import static org.apache.usergrid.persistence.Schema.PROPERTY_NAME; + /** * Migration of appinfos collection to application_info collection. * @@ -68,7 +74,7 @@ public class AppInfoMigrationPlugin implements MigrationPlugin { /** Old and deprecated SYSTEM_APP */ public static final UUID SYSTEM_APP_ID = UUID.fromString( "b6768a08-b5d5-11e3-a495-10ddb1de66c3" ); -private static final Logger logger = LoggerFactory.getLogger(AppInfoMigrationPlugin.class); +private static final Logger logger = LoggerFactory.getLogger( AppInfoMigrationPlugin.class ); public static String PLUGIN_NAME = "appinfo-migration"; @@ -85,27 +91,23 @@ public class AppInfoMigrationPlugin implements MigrationPlugin { final private GraphManagerFactory graphManagerFactory; private final ManagementService managementService; + @Inject -public AppInfoMigrationPlugin( -EntityManagerFactory emf, -MigrationInfoSerialization migrationInfoSerialization, -EntityCollectionManagerFactory entityCollectionManagerFactory, -GraphManagerFactory graphManagerFactory, -BeanFactory beanFactory) { +public AppInfoMigrationPlugin( EntityManagerFactory emf, MigrationInfoSerialization migrationInfoSerialization, + EntityCollectionManagerFactory entityCollectionManagerFactory, + GraphManagerFactory graphManagerFactory, BeanFactory beanFactory ) { this.emf = emf; this.migrationInfoSerialization =
[42/44] usergrid git commit: Updated plugin to also take into account core data version
Updated plugin to also take into account core data version Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0b243c4d Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0b243c4d Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0b243c4d Branch: refs/heads/USERGRID-933 Commit: 0b243c4d516e0f6ae58421c63787421b8b806052 Parents: 29c1a12 Author: Todd NineAuthored: Thu Sep 24 14:02:40 2015 -0600 Committer: Todd Nine Committed: Thu Sep 24 14:02:40 2015 -0600 -- stack/scripts/migrate_entity_data.py | 66 ++- 1 file changed, 48 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/0b243c4d/stack/scripts/migrate_entity_data.py -- diff --git a/stack/scripts/migrate_entity_data.py b/stack/scripts/migrate_entity_data.py index 4258a71..36f73c0 100644 --- a/stack/scripts/migrate_entity_data.py +++ b/stack/scripts/migrate_entity_data.py @@ -51,9 +51,11 @@ import json # Version expected in status response post-migration for entity and app-info data -TARGET_VERSION = 2 +TARGET_APPINFO_VERSION=2 +TARGET_ENTITY_DATA_VERSION=2 +TARGET_CORE_DATA_VERSION=2 TARGET_MIGRATION_SYSTEM_VERSION = 1 -TARGET_INDEX_MAPPING_VERSION = 1 +TARGET_INDEX_MAPPING_VERSION = 2 # Set an interval (in seconds) for checking if re-index and/or migration has finished STATUS_INTERVAL_SECONDS = 2 @@ -63,6 +65,7 @@ PLUGIN_MIGRATION_SYSTEM = 'migration-system' PLUGIN_APPINFO = 'appinfo-migration' PLUGIN_ENTITYDATA = 'collections-entity-data' PLUGIN_INDEX_MAPPING = 'index_mapping_migration' +PLUGIN_CORE_DATA = 'core-data' @@ -144,9 +147,21 @@ class Migrate: if migration_system_updated: break +index_mapping_updated = self.is_index_mapping_updated() + +if not index_mapping_updated: +self.logger.info('Index Mapping needs to be updated. Updating index mapping..') +self.start_index_mapping_migration() +while not index_mapping_updated: +time.sleep(STATUS_INTERVAL_SECONDS) +index_mapping_updated = self.is_index_mapping_updated() +if index_mapping_updated: +break + # Run AppInfo migration only when both appinfos and collection entity data have not been migrated if not self.is_data_migrated(): +#Migrate app info if self.is_appinfo_migrated(): self.logger.info('AppInfo already migrated. Resetting version for re-migration.') self.reset_appinfo_migration() @@ -164,20 +179,14 @@ class Migrate: self.metrics['appinfo_migration_end'] = get_current_time() break self.logger.info('AppInfo Migration Ended.') + + else: self.logger.info('Full Data Migration previously ran... skipping AppInfo migration.') -# We need to check and roll index mapping version to 1 if not already there -index_mapping_updated = self.is_index_mapping_updated() -if not index_mapping_updated: -self.logger.info('Index Mapping needs to be updated. Updating index mapping..') -self.start_index_mapping_migration() -while not index_mapping_updated: -time.sleep(STATUS_INTERVAL_SECONDS) -index_mapping_updated = self.is_index_mapping_updated() -if index_mapping_updated: -break + +# We need to check and roll index mapping version to 1 if not already there # Perform system re-index (it will grab date from input if provided) job = self.start_reindex() @@ -202,7 +211,9 @@ class Migrate: time.sleep(STATUS_INTERVAL_SECONDS) self.is_data_migrated() +# self.start_core_data_migration() self.start_fulldata_migration() + self.metrics['full_data_migration_start'] = get_current_time() self.logger.info("Full Data Migration Started") is_migrated = False @@ -242,6 +253,21 @@ class Migrate: url = self.endpoint + '/system/index/rebuild' return url +def get_management_reindex_url(self): + url = self.get_reindex_url() + "/management" + return url + + +def start_core_data_migration(self): + try: + r = requests.put(url=self.get_migration_url(), auth=(self.admin_user, self.admin_pass)) + response =
[20/44] usergrid git commit: Fixes incorrect Cassandra range scanning in serialization with min/max values
Fixes incorrect Cassandra range scanning in serialization with min/max values Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/6233bf0b Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/6233bf0b Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/6233bf0b Branch: refs/heads/USERGRID-933 Commit: 6233bf0b23e6f86b0d57607d2dd423599c27e726 Parents: 13d2594 Author: Todd NineAuthored: Tue Sep 15 17:20:24 2015 -0600 Committer: Todd Nine Committed: Tue Sep 15 17:20:24 2015 -0600 -- .../service/ConnectionServiceImpl.java | 30 +- .../service/ConnectionServiceImplTest.java | 19 --- .../core/astyanax/MultiRowColumnIterator.java | 2 +- .../graph/impl/GraphManagerImpl.java| 4 +- .../impl/shard/impl/EdgeSearcher.java | 14 - .../impl/ShardedEdgeSerializationImpl.java | 59 ++-- .../shard/impl/serialize/EdgeSerializer.java| 21 ++- .../persistence/graph/GraphManagerIT.java | 4 +- 8 files changed, 105 insertions(+), 48 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/6233bf0b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java index d60426c..1b36321 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java @@ -170,7 +170,7 @@ public class ConnectionServiceImpl implements ConnectionService { final SearchByEdgeType searchByEdge = new SimpleSearchByEdgeType( entityId, edgeType, Long.MAX_VALUE, -SearchByEdgeType.Order.ASCENDING, Optional.absent() ); +SearchByEdgeType.Order.DESCENDING, Optional.absent() ); //load edges from the source the with type specified return gm.loadEdgesFromSource( searchByEdge ); @@ -182,21 +182,25 @@ public class ConnectionServiceImpl implements ConnectionService { logger.debug( "Found edge {}, searching for multiple versions of edge", edge ); final SearchByEdge searchByEdge = -new SimpleSearchByEdge( edge.getSourceNode(), edge.getType(), edge.getTargetNode(), -Long.MAX_VALUE, SearchByEdgeType.Order.ASCENDING, Optional.absent() ); -return gm.loadEdgeVersions( searchByEdge ); -} ) +new SimpleSearchByEdge( edge.getSourceNode(), edge.getType(), edge.getTargetNode(), 0, +SearchByEdgeType.Order.ASCENDING, Optional.absent() ); +return gm.loadEdgeVersions( searchByEdge ) +//skip the first version since it's the one we want to retain +.skip( 1 ) +//mark for deletion +.flatMap( edgeToDelete -> { -//skip the first version since it's the one we want to retain -// validate there is only 1 version of it, delete anything > than the min -.skip( 1 ).flatMap( edgeToDelete -> { +logger.debug( "Deleting edge {}", edgeToDelete ); -logger.debug( "Deleting edge {}", edgeToDelete ); +//mark the edge and ignore the cleanup result +return gm.markEdge( edgeToDelete ); +} ) +//mark all versions, then on the last, delete them from cass +.flatMap( lastMarkedEdge -> gm.deleteEdge( lastMarkedEdge ) ); + + +// validate there is only 1 version of it, delete anything > than the min -//mark the edge and ignore the cleanup result -return gm.markEdge( edgeToDelete ) -//delete the edge -.flatMap( edge -> gm.deleteEdge( edgeToDelete ) ); } ).map( deletedEdge -> new ConnectionScope( applicationScope, deletedEdge ) ); } ); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/6233bf0b/stack/core/src/test/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImplTest.java --
[34/44] usergrid git commit: Fixes incorrect name issue
Fixes incorrect name issue Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/901d7c6f Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/901d7c6f Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/901d7c6f Branch: refs/heads/USERGRID-933 Commit: 901d7c6f76fa8143c3d19d5810ca925c0cf1d5b7 Parents: 2689a01 Author: Todd NineAuthored: Thu Sep 17 16:41:08 2015 -0600 Committer: Todd Nine Committed: Thu Sep 17 16:41:08 2015 -0600 -- .../usergrid/corepersistence/migration/CoreMigrationPlugin.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/901d7c6f/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java index b69451a..b7529f8 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java @@ -36,7 +36,7 @@ import com.google.inject.Singleton; @Singleton public class CoreMigrationPlugin extends AbstractMigrationPlugin { -public static final String PLUGIN_NAME = "collections-entity-data"; +public static final String PLUGIN_NAME = "core-data";
[39/44] usergrid git commit: Merge branch '2.1-release' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-933
Merge branch '2.1-release' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-933 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/bd0f10b4 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/bd0f10b4 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/bd0f10b4 Branch: refs/heads/USERGRID-933 Commit: bd0f10b4a457bf1aff01de48f1302e3951448344 Parents: c035fb4 8281430 Author: Mike DunkerAuthored: Wed Sep 23 12:44:13 2015 -0700 Committer: Mike Dunker Committed: Wed Sep 23 12:44:13 2015 -0700 -- .../creating-and-managing-notifications.md | 2 + portal/bower.json | 2 +- portal/js/libs/usergrid.sdk.js | 8 +- portal/package.json | 2 +- .../usergrid/corepersistence/CoreModule.java| 51 +++- .../corepersistence/CpRelationManager.java | 34 ++- .../asyncevents/AmazonAsyncEventService.java| 6 +- .../asyncevents/AsyncEventService.java | 2 + .../migration/CoreMigration.java| 45 +-- .../migration/CoreMigrationPlugin.java | 38 ++- .../migration/DeDupConnectionDataMigration.java | 93 ++ .../migration/EntityTypeMappingMigration.java | 104 --- .../migration/MigrationModuleVersionPlugin.java | 5 - .../corepersistence/migration/Versions.java | 31 -- .../builder/PipelineBuilderFactory.java | 3 + .../rx/impl/AllApplicationsObservableImpl.java | 36 +-- .../service/ConnectionScope.java| 53 .../service/ConnectionService.java | 10 + .../service/ConnectionServiceImpl.java | 90 +- .../corepersistence/util/CpNamingUtils.java | 13 +- .../persistence/entities/Notification.java | 13 +- .../corepersistence/CpEntityMapUtilsTest.java | 52 +++- .../corepersistence/TestCoreModule.java | 34 +++ .../DeDupConnectionDataMigrationTest.java | 145 + .../migration/EntityTypeMappingMigrationIT.java | 125 .../service/ConnectionServiceImplTest.java | 235 +++ .../org/apache/usergrid/persistence/GeoIT.java | 52 +++- stack/core/src/test/resources/log4j.properties | 6 +- .../serialization/impl/SerializationModule.java | 4 +- .../migration/CollectionMigrationPlugin.java| 8 +- .../migration/MvccEntityDataMigrationImpl.java | 104 --- ...ctMvccEntityDataMigrationV1ToV3ImplTest.java | 39 ++- .../migration/data/AbstractMigrationPlugin.java | 17 +- .../core/migration/data/DataMigration.java | 11 +- .../migration/data/MigrationDataProvider.java | 2 +- .../core/migration/data/MigrationPlugin.java| 4 +- .../migration/schema/MigrationManagerFig.java | 1 + .../migration/data/TestProgressObserver.java| 10 +- .../persistence/graph/guice/GraphModule.java| 4 +- .../graph/impl/GraphManagerImpl.java| 4 +- .../impl/stage/EdgeDeleteListenerImpl.java | 4 +- .../graph/impl/stage/EdgeDeleteRepairImpl.java | 61 ++-- .../impl/TargetIdObservableImpl.java| 13 +- .../impl/migration/EdgeDataMigrationImpl.java | 12 +- .../impl/migration/GraphMigrationPlugin.java| 8 +- .../impl/shard/impl/EdgeSearcher.java | 14 +- .../impl/ShardedEdgeSerializationImpl.java | 59 ++-- .../shard/impl/serialize/EdgeSerializer.java| 21 +- .../persistence/graph/GraphManagerIT.java | 73 - .../migration/EdgeDataMigrationImplTest.java| 59 ++-- stack/corepersistence/model/pom.xml | 6 +- .../model/entity/MapToEntityConverter.java | 64 ++-- .../persistence/index/CandidateResult.java | 32 +- .../persistence/index/CandidateResults.java | 34 +-- .../SearchRequestBuilderStrategyV2.java | 30 +- .../usergrid/persistence/index/IndexEdge.java | 36 +-- .../index/IndexLocationStrategy.java| 30 +- .../persistence/index/IndexRefreshCommand.java | 30 +- .../usergrid/persistence/index/SearchType.java | 30 +- .../usergrid/persistence/index/SearchTypes.java | 32 +- .../persistence/index/SelectFieldMapping.java | 36 +-- .../persistence/index/guice/IndexModule.java| 4 +- .../persistence/index/impl/EntityField.java | 32 +- .../index/impl/EntityMappingParser.java | 37 ++- .../index/impl/EsEntityIndexFactoryImpl.java| 29 +- .../index/impl/EsIndexBufferConsumerImpl.java | 28 +- .../index/impl/EsIndexCacheImpl.java| 29 +- .../persistence/index/impl/EsQueryVistor.java | 50 ++- .../persistence/index/impl/FailureMonitor.java | 30 +- .../index/impl/FailureMonitorImpl.java | 32 +- .../persistence/index/impl/FieldParser.java | 36 +-- .../persistence/index/impl/GeoSortFields.java | 36 +--
[35/44] usergrid git commit: Fixes issues found during review
Fixes issues found during review Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0d4dd116 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0d4dd116 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0d4dd116 Branch: refs/heads/USERGRID-933 Commit: 0d4dd1161e0ffacbfe056de205da0860652b0e17 Parents: 901d7c6 Author: Todd NineAuthored: Thu Sep 17 17:10:24 2015 -0600 Committer: Todd Nine Committed: Thu Sep 17 17:10:24 2015 -0600 -- .../usergrid/corepersistence/CoreModule.java| 6 -- .../migration/DeDupConnectionDataMigration.java | 22 ++-- .../DeDupConnectionDataMigrationTest.java | 7 --- .../core/astyanax/MultiRowColumnIterator.java | 2 +- .../persistence/graph/GraphManagerIT.java | 6 +++--- 5 files changed, 19 insertions(+), 24 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/0d4dd116/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java index 11707be..486aa6f 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java @@ -190,12 +190,6 @@ public class CoreModule extends AbstractModule { bind( StatusService.class ).to( StatusServiceImpl.class ); -/** - * Install migration services - */ - - //migrations -//we want to make sure our generics are retained, so we use a typeliteral } http://git-wip-us.apache.org/repos/asf/usergrid/blob/0d4dd116/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/DeDupConnectionDataMigration.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/DeDupConnectionDataMigration.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/DeDupConnectionDataMigration.java index f65864a..bec8d6c 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/DeDupConnectionDataMigration.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/DeDupConnectionDataMigration.java @@ -56,24 +56,23 @@ public class DeDupConnectionDataMigration implements DataMigration { observer.start(); -connectionService.deDupeConnections( allApplicationsObservable.getData() ).reduce( 0l, (count, deDuped) ->{ +connectionService.deDupeConnections( allApplicationsObservable.getData() ).reduce( 0l, ( count, deDuped ) -> { -final long newCount = count+1; +final long newCount = count + 1; /** * Update our progress observer */ -if(newCount % UPDATE_COUNT == 0){ +if ( newCount % UPDATE_COUNT == 0 ) { logger.info( "De duped {} edges", newCount ); -observer.update( migrationVersion, String.format("De duped %d edges", newCount) ); +observer.update( migrationVersion, String.format( "De duped %d edges", newCount ) ); } return newCount; - -}).doOnNext( total -> { -logger.info("Completed de-duping {} edges", total ); -observer.complete();; -}).subscribe(); +} ).doOnNext( total -> { +logger.info( "Completed de-duping {} edges", total ); +observer.complete(); +} ).subscribe(); return migrationVersion; @@ -82,12 +81,13 @@ public class DeDupConnectionDataMigration implements DataMigration { @Override public boolean supports( final int currentVersion ) { -return currentVersion == getMaxVersion() - 1; +return currentVersion <= getMaxVersion() - 1; } @Override public int getMaxVersion() { -return 1; +//needs to be 2 b/c our obsolete EntityTypeMappingMigration was 1 +return 2; } } http://git-wip-us.apache.org/repos/asf/usergrid/blob/0d4dd116/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/DeDupConnectionDataMigrationTest.java -- diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/DeDupConnectionDataMigrationTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/DeDupConnectionDataMigrationTest.java index c84ad2b..aad6259 100644 ---
[09/44] usergrid git commit: removing noop exceptions, removing failures due to bad location fields
removing noop exceptions, removing failures due to bad location fields Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/58f7402d Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/58f7402d Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/58f7402d Branch: refs/heads/USERGRID-933 Commit: 58f7402db5686ada9174b301ebeebb09a55ceb29 Parents: c3c71c9 Author: Shawn FeldmanAuthored: Fri Sep 11 17:17:02 2015 -0600 Committer: Shawn Feldman Committed: Fri Sep 11 17:17:02 2015 -0600 -- .../corepersistence/CpEntityMapUtilsTest.java | 51 ++-- 1 file changed, 47 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/58f7402d/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java -- diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java index 5dd8f3a..6e4e9a4 100644 --- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java +++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java @@ -21,20 +21,21 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import junit.framework.Assert; import org.apache.usergrid.corepersistence.util.CpEntityMapUtils; import org.apache.usergrid.persistence.model.entity.Entity; import org.apache.usergrid.persistence.model.entity.SimpleId; +import org.apache.usergrid.persistence.model.field.EntityObjectField; import org.apache.usergrid.persistence.model.field.ListField; +import org.apache.usergrid.persistence.model.field.LocationField; +import org.apache.usergrid.persistence.model.field.StringField; import org.apache.usergrid.persistence.model.field.value.EntityObject; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -100,6 +101,48 @@ public class CpEntityMapUtilsTest { } +@Test +public void testLocation() { + +/*** This tests example property input of + + { + "nestedarray" : [ [ "fred" ] ] + } + + / +Map locMap = new HashMap<>(); +locMap.put("latitude", 123.1); +locMap.put("longitude", 123.1); + +Map properties = new LinkedHashMap (); +properties.put("location", locMap); + +Entity cpEntity = CpEntityMapUtils.fromMap(properties, "loc", true); + +assertTrue(cpEntity.getFieldMap().get("location") instanceof LocationField); + + +locMap = new HashMap<>(); +locMap.put("latitude", 123.1); +locMap.put("lgnosoos", 123.1); + +properties = new LinkedHashMap (); +properties.put("location", locMap); + +cpEntity = CpEntityMapUtils.fromMap(properties, "loc", true); + +assertTrue(cpEntity.getFieldMap().get("location") instanceof EntityObjectField); + +properties = new LinkedHashMap (); +properties.put("location", "denver"); + +cpEntity = CpEntityMapUtils.fromMap(properties, "loc", true); + +assertTrue(cpEntity.getFieldMap().get("location") instanceof StringField); +} + + @Test public void testSerialization() throws JsonProcessingException, IOException {
[01/44] usergrid git commit: Fix push notification delivery expiration.
Repository: usergrid Updated Branches: refs/heads/USERGRID-933 c035fb4c5 -> a5185f2e7 Fix push notification delivery expiration. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/1efd1763 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/1efd1763 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/1efd1763 Branch: refs/heads/USERGRID-933 Commit: 1efd176325a147c82077c694bccda5af917fa23b Parents: 3bd059c Author: Michael RussoAuthored: Thu Sep 10 15:44:08 2015 -0700 Committer: Michael Russo Committed: Thu Sep 10 15:44:08 2015 -0700 -- .../usergrid/persistence/entities/Notification.java| 12 .../services/notifications/apns/APNsNotification.java | 8 .../services/notifications/gcm/GCMAdapter.java | 9 + .../services/notifications/wns/WNSAdapter.java | 13 ++--- .../notifications/apns/NotificationsServiceIT.java | 1 + .../notifications/gcm/NotificationsServiceIT.java | 1 + 6 files changed, 29 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/1efd1763/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java b/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java index 88b2f33..d1101a5 100644 --- a/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java +++ b/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java @@ -230,12 +230,16 @@ public class Notification extends TypedEntity { return State.CREATED; } +@JsonIgnore +public long getExpireTimeMillis() { +long expireAtMillis = getExpire() != null ? getExpire() * 1000 : 0; +return expireAtMillis; +} @JsonIgnore -public int getExpireTimeInSeconds() { -long expirySeconds = getExpire() != null ? getExpire() * 1000 : 0; -return (expirySeconds > Integer.MAX_VALUE) ? Integer.MAX_VALUE -: (int) expirySeconds; +public long getExpireTTLSeconds() { +Long ttlSeconds = (getExpireTimeMillis() - new Date().getTime()) / 1000; +return ttlSeconds > 0 ? ttlSeconds : 0; } @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) http://git-wip-us.apache.org/repos/asf/usergrid/blob/1efd1763/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsNotification.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsNotification.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsNotification.java index b580410..ff00e4c 100644 --- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsNotification.java +++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsNotification.java @@ -24,7 +24,6 @@ import com.relayrides.pushy.apns.util.TokenUtil; import org.apache.usergrid.persistence.entities.Notification; import org.apache.usergrid.services.notifications.TaskTracker; -import java.util.Calendar; import java.util.Date; /** * Standard apigee notificatton @@ -44,12 +43,13 @@ public class APNsNotification extends SimpleApnsPushNotification { */ public static APNsNotification create(String providerId, String payload, Notification notification, TaskTracker tracker) throws RuntimeException { -Calendar date = Calendar.getInstance(); -date.add(Calendar.SECOND, notification.getExpireTimeInSeconds()); +// create Date object using milliseconds value +Date expiryDate = new Date(notification.getExpireTimeMillis()); + try { final byte[] token = TokenUtil.tokenStringToByteArray(providerId); - return new APNsNotification(tracker, date.getTime(), token, payload, notification); + return new APNsNotification(tracker, expiryDate, token, payload, notification); }catch(MalformedTokenStringException mtse){ throw new RuntimeException("Exception converting token",mtse); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/1efd1763/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
[14/44] usergrid git commit: handle errors
handle errors Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/001a7e38 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/001a7e38 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/001a7e38 Branch: refs/heads/USERGRID-933 Commit: 001a7e385f3e96d9d6a43b99344aa128c64f87c0 Parents: 5680173 Author: Shawn FeldmanAuthored: Mon Sep 14 13:34:04 2015 -0600 Committer: Shawn Feldman Committed: Mon Sep 14 13:34:04 2015 -0600 -- .../rx/impl/AllApplicationsObservableImpl.java | 36 +++- .../migration/MvccEntityDataMigrationImpl.java | 94 +++- .../model/entity/MapToEntityConverter.java | 4 +- 3 files changed, 66 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/001a7e38/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservableImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservableImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservableImpl.java index 9c766a8..e54da0c 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservableImpl.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservableImpl.java @@ -93,37 +93,27 @@ public class AllApplicationsObservableImpl implements AllApplicationsObservable //we have app infos. For each of these app infos, we have to load the application itself Observable appIds = gm.loadEdgesFromSource( new SimpleSearchByEdgeType( rootAppId, edgeType, Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING, -Optional.absent() ) ).flatMap( new Func1 () { -@Override -public Observable call( final Edge edge ) { - -//get the app info and load it -final Id appInfo = edge.getTargetNode(); - -return collectionManager.load( appInfo ) -//filter out null entities -.filter( new Func1 () { -@Override -public Boolean call( final Entity entity ) { +Optional.absent() ) ).flatMap(edge -> { + +//get the app info and load it +final Id appInfo = edge.getTargetNode(); + +return collectionManager.load( appInfo ) +//filter out null entities +.filter(entity -> { if ( entity == null ) { logger.warn( "Encountered a null application info for id {}", appInfo ); return false; } return true; -} -} ) -//get the id from the entity -.map( new Func1 () { - -@Override -public ApplicationScope call( final Entity entity ) { +}) +//get the id from the entity +.map(entity -> { final UUID uuid =entity.getId().getUuid(); return getApplicationScope( uuid ); -} -} ); -} -} ); +}); +}); return Observable.merge( systemIds, appIds ); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/001a7e38/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java -- diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java index e825bbc..86fd701 100644 --- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java +++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java @@ -142,9 +142,13 @@ public class MvccEntityDataMigrationImpl implements DataMigration
[32/44] usergrid git commit: Merge branch 'two-dot-o-dev' of https://git-wip-us.apache.org/repos/asf/usergrid into 2.1-release
Merge branch 'two-dot-o-dev' of https://git-wip-us.apache.org/repos/asf/usergrid into 2.1-release Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/61dd5595 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/61dd5595 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/61dd5595 Branch: refs/heads/USERGRID-933 Commit: 61dd5595a820ad5120e99523414050673e3d2cc4 Parents: fad32aa 9294af7 Author: Shawn FeldmanAuthored: Thu Sep 17 11:54:17 2015 -0600 Committer: Shawn Feldman Committed: Thu Sep 17 11:54:17 2015 -0600 -- .../management/AppInfoMigrationPlugin.java | 234 +-- 1 file changed, 116 insertions(+), 118 deletions(-) --
[25/44] usergrid git commit: clean up uuid to string code for index
clean up uuid to string code for index Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/a5620799 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/a5620799 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/a5620799 Branch: refs/heads/USERGRID-933 Commit: a562079989cfe2d9ae46e0f8eb9ac07ded794023 Parents: 968496d Author: Shawn FeldmanAuthored: Wed Sep 16 07:40:07 2015 -0600 Committer: Shawn Feldman Committed: Wed Sep 16 07:40:07 2015 -0600 -- .../usergrid/persistence/index/impl/EsQueryVistor.java | 12 .../persistence/index/impl/EntityIndexTest.java | 1 + 2 files changed, 5 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/a5620799/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java -- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java index af60ed6..414f716 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsQueryVistor.java @@ -361,9 +361,9 @@ public class EsQueryVistor implements QueryVisitor { final String name = op.getProperty().getValue().toLowerCase(); final Object value = op.getLiteral().getValue(); -//special case so we support our '*' char with wildcard +//special case so we support our '*' char with wildcard, also should work for uuids if ( value instanceof String || value instanceof UUID ) { -final String stringValue = (value.toString()).toLowerCase().trim(); +final String stringValue = ((value instanceof String) ? (String)value : value.toString()).toLowerCase().trim(); // or field is just a string that does need a prefix us a query if ( stringValue.contains( "*" ) ) { @@ -503,11 +503,7 @@ public class EsQueryVistor implements QueryVisitor { * Get the field name for the primitive type */ private String getFieldNameForType( final Object object ) { -if ( object instanceof String) { -return IndexingUtils.FIELD_STRING_NESTED; -} - -if(object instanceof UUID){ +if ( object instanceof String || object instanceof UUID) { return IndexingUtils.FIELD_STRING_NESTED; } @@ -540,7 +536,7 @@ public class EsQueryVistor implements QueryVisitor { } if ( input instanceof UUID ) { -return input.toString() ; +return input.toString().toLowerCase() ; } return input; http://git-wip-us.apache.org/repos/asf/usergrid/blob/a5620799/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java -- diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java index 7aa97b1..6348a44 100644 --- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java +++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java @@ -179,6 +179,7 @@ public class EntityIndexTest extends BaseIT { assertEquals( entity2.getId(), candidate2.getId() ); assertEquals( entity2.getVersion(), candidate2.getVersion() ); +//make sure we can query uuids out as strings and not wrapped candidateResults = entityIndex.search( indexEdge, searchTypes, "select * where testuuid = '"+uuid+"'", 100, 0 ); assertEquals(entity1.getId(),candidateResults.get(0).getId());
[43/44] usergrid git commit: Merge branch '2.1-release' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-933
Merge branch '2.1-release' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-933 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/5ead5fdc Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/5ead5fdc Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/5ead5fdc Branch: refs/heads/USERGRID-933 Commit: 5ead5fdca6cc33b6cc5dc8a1f839a66dcd0246af Parents: bd0f10b 0b243c4 Author: Mike DunkerAuthored: Thu Sep 24 15:04:56 2015 -0700 Committer: Mike Dunker Committed: Thu Sep 24 15:04:56 2015 -0700 -- stack/scripts/migrate_entity_data.py| 66 ++- .../management/AppInfoMigrationPlugin.java | 69 +--- 2 files changed, 79 insertions(+), 56 deletions(-) --
[28/44] usergrid git commit: Refactored migrations to read their own data sets rather than be passed with an invocation
Refactored migrations to read their own data sets rather than be passed with an invocation Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/d971ec50 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/d971ec50 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/d971ec50 Branch: refs/heads/USERGRID-933 Commit: d971ec509528fa24977a15501776ebb356e6e1c7 Parents: fb1cf2e Author: Todd NineAuthored: Wed Sep 16 16:44:02 2015 -0600 Committer: Todd Nine Committed: Wed Sep 16 16:44:02 2015 -0600 -- .../usergrid/corepersistence/CoreModule.java| 4 +- .../migration/CoreMigrationPlugin.java | 9 +-- .../migration/EntityTypeMappingMigration.java | 4 +- .../migration/MigrationModuleVersionPlugin.java | 5 -- .../migration/EntityTypeMappingMigrationIT.java | 2 +- .../serialization/impl/SerializationModule.java | 4 +- .../migration/CollectionMigrationPlugin.java| 8 +-- .../migration/MvccEntityDataMigrationImpl.java | 10 ++-- ...ctMvccEntityDataMigrationV1ToV3ImplTest.java | 9 +-- .../migration/data/AbstractMigrationPlugin.java | 17 +++--- .../core/migration/data/DataMigration.java | 11 ++-- .../migration/data/MigrationDataProvider.java | 2 +- .../core/migration/data/MigrationPlugin.java| 4 +- .../persistence/graph/guice/GraphModule.java| 4 +- .../impl/migration/EdgeDataMigrationImpl.java | 12 ++-- .../impl/migration/GraphMigrationPlugin.java| 8 +-- .../migration/EdgeDataMigrationImplTest.java| 59 +++- .../persistence/index/guice/IndexModule.java| 4 +- .../index/migration/EsIndexMigrationPlugin.java | 8 +-- 19 files changed, 86 insertions(+), 98 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/d971ec50/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java index e290cfe..7ed95e2 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java @@ -100,9 +100,9 @@ public class CoreModule extends AbstractModule { /** * Create our migrations for within our core plugin */ -Multibinder dataMigrationMultibinder = +Multibinder dataMigrationMultibinder = Multibinder.newSetBinder( binder(), -new TypeLiteral () {}, CoreMigration.class ); +new TypeLiteral() {}, CoreMigration.class ); dataMigrationMultibinder.addBinding().to( EntityTypeMappingMigration.class ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/d971ec50/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java index 58233e0..810f9fb 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/CoreMigrationPlugin.java @@ -22,11 +22,9 @@ package org.apache.usergrid.corepersistence.migration; import java.util.Set; -import org.apache.usergrid.persistence.collection.serialization.impl.migration.EntityIdScope; import org.apache.usergrid.persistence.core.migration.data.MigrationInfoSerialization; import org.apache.usergrid.persistence.core.migration.data.AbstractMigrationPlugin; import org.apache.usergrid.persistence.core.migration.data.DataMigration; -import org.apache.usergrid.persistence.core.migration.data.MigrationDataProvider; import org.apache.usergrid.persistence.core.migration.data.PluginPhase; import com.google.inject.Inject; @@ -37,17 +35,16 @@ import com.google.inject.Singleton; * Migration plugin for the collection module */ @Singleton -public class CoreMigrationPlugin extends AbstractMigrationPlugin { +public class CoreMigrationPlugin extends AbstractMigrationPlugin { public static final String PLUGIN_NAME = "core-data"; @Inject -public CoreMigrationPlugin( @CoreMigration final Set entityDataMigrations, -final MigrationDataProvider entityIdScopeDataMigrationProvider, +public CoreMigrationPlugin( @CoreMigration final Set
[21/44] usergrid git commit: Reduces logging and adds filter into delete listener
Reduces logging and adds filter into delete listener Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/b7a22c2d Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/b7a22c2d Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/b7a22c2d Branch: refs/heads/USERGRID-933 Commit: b7a22c2d51602e32692b22ad584ce128b1592ed0 Parents: 6233bf0 Author: Todd NineAuthored: Tue Sep 15 17:27:14 2015 -0600 Committer: Todd Nine Committed: Tue Sep 15 17:27:14 2015 -0600 -- stack/core/src/test/resources/log4j.properties | 4 ++-- .../persistence/graph/impl/stage/EdgeDeleteRepairImpl.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/b7a22c2d/stack/core/src/test/resources/log4j.properties -- diff --git a/stack/core/src/test/resources/log4j.properties b/stack/core/src/test/resources/log4j.properties index 93951fe..4267293 100644 --- a/stack/core/src/test/resources/log4j.properties +++ b/stack/core/src/test/resources/log4j.properties @@ -19,7 +19,7 @@ # output messages into a rolling log file as well as stdout #log4j.rootLogger=ERROR,stdout\ -log4j.rootLogger=DEBUG,stdout +log4j.rootLogger=INFO,stdout # stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender @@ -48,7 +48,7 @@ log4j.logger.org.apache.usergrid.corepersistence.migration=WARN #Debug our queries #log4j.logger.org.apache.usergrid.persistence.index.impl.EsApplicationEntityIndexImpl=DEBUG -log4j.logger.org.apache.usergrid.corepersistence.service.ConnectionServiceImpl=DEBUG +#log4j.logger.org.apache.usergrid.corepersistence.service.ConnectionServiceImpl=DEBUG #log4j.logger.org.apache.usergrid.persistence.index.impl=DEBUG #log4j.logger.org.apache.usergrid.corepersistence.CpSetup=INFO http://git-wip-us.apache.org/repos/asf/usergrid/blob/b7a22c2d/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeDeleteRepairImpl.java -- diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeDeleteRepairImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeDeleteRepairImpl.java index 643dcc1..a87a079 100644 --- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeDeleteRepairImpl.java +++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeDeleteRepairImpl.java @@ -79,7 +79,7 @@ public class EdgeDeleteRepairImpl implements EdgeDeleteRepair { //merge source and target then deal with the distinct values -return Observable.just( edge ) +return Observable.just( edge ).filter( markedEdge-> markedEdge.isDeleted() ) .doOnNext( markedEdge -> { //it's still in the same state as it was when we queued it. Remove it LOG.info( "Removing edge {} ", markedEdge );
[37/44] usergrid git commit: Changes implementation to update a connection to have the timestamp it was last POSTed.
Changes implementation to update a connection to have the timestamp it was last POSTed. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/079ba976 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/079ba976 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/079ba976 Branch: refs/heads/USERGRID-933 Commit: 079ba9760f3e8d72dbf08610360d089b9ff62d47 Parents: 0c12abb Author: Todd NineAuthored: Tue Sep 22 16:59:25 2015 -0600 Committer: Todd Nine Committed: Tue Sep 22 16:59:25 2015 -0600 -- .../corepersistence/CpRelationManager.java | 34 .../service/ConnectionServiceImpl.java | 5 +-- .../service/ConnectionServiceImplTest.java | 4 +-- 3 files changed, 26 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/079ba976/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java index 1da6f75..21a2ee7 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java @@ -31,7 +31,6 @@ import org.slf4j.LoggerFactory; import org.springframework.util.Assert; import org.apache.usergrid.corepersistence.asyncevents.AsyncEventService; -import org.apache.usergrid.corepersistence.pipeline.builder.PipelineBuilderFactory; import org.apache.usergrid.corepersistence.pipeline.read.ResultsPage; import org.apache.usergrid.corepersistence.results.ConnectionRefQueryExecutor; import org.apache.usergrid.corepersistence.results.EntityQueryExecutor; @@ -62,7 +61,6 @@ import org.apache.usergrid.persistence.graph.Edge; import org.apache.usergrid.persistence.graph.GraphManager; import org.apache.usergrid.persistence.graph.SearchByEdge; import org.apache.usergrid.persistence.graph.SearchByEdgeType; -import org.apache.usergrid.persistence.graph.impl.SimpleEdge; import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdge; import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdgeType; import org.apache.usergrid.persistence.graph.impl.SimpleSearchEdgeType; @@ -697,25 +695,35 @@ public class CpRelationManager implements RelationManager { final GraphManager gm = managerCache.getGraphManager( applicationScope ); -//check if the edge exists +//write new edge +gm.writeEdge( edge ).subscribe(); -final SearchByEdge searchByEdge = new SimpleSearchByEdge(edge.getSourceNode(), edge.getType(), edge.getTargetNode(), Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING, Optional.absent() ); +indexService.queueNewEdge( applicationScope, targetEntity, edge ); -//only take 1 and count it. If we don't have anything, create the edge -final int count = gm.loadEdgeVersions( searchByEdge ).take( 1 ).count().toBlocking().last(); +//now read all older versions of an edge, and remove them. Finally calling delete +final SearchByEdge searchByEdge = +new SimpleSearchByEdge( edge.getSourceNode(), edge.getType(), edge.getTargetNode(), Long.MAX_VALUE, +SearchByEdgeType.Order.DESCENDING, Optional.absent() ); -if(count == 0) { -if(logger.isDebugEnabled()) { -logger.debug( "No edge exists between {} and {} of type {}. Creating", -new Object[] { edge.getSourceNode(), edge.getTargetNode(), edge.getType() } ); + +//load our versions, only retain the most recent one +gm.loadEdgeVersions( searchByEdge ).skip( 1 ).flatMap( edgeToDelete -> { +if ( logger.isDebugEnabled() ) { +logger.debug( "Marking edge {} for deletion", edgeToDelete ); +} +return gm.markEdge( edge ); +} ).lastOrDefault( null ).doOnNext( lastEdge -> { +//no op if we hit our default +if(lastEdge == null){ +return; } -gm.writeEdge( edge ).toBlocking().last(); +//queue up async processing +indexService.queueDeleteEdge( applicationScope, lastEdge ); +}).subscribe(); -indexService.queueNewEdge( applicationScope, targetEntity, edge ); -} return connection; } http://git-wip-us.apache.org/repos/asf/usergrid/blob/079ba976/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java
[12/44] usergrid git commit: Fix issue with portal login button not handling failed logins properly when logging is disabled. Bump version.
Fix issue with portal login button not handling failed logins properly when logging is disabled. Bump version. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/7eb997b1 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/7eb997b1 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/7eb997b1 Branch: refs/heads/USERGRID-933 Commit: 7eb997b1c550bbd1661e223570b18f4cf2ba84d7 Parents: ca32186 Author: Michael RussoAuthored: Fri Sep 11 16:59:40 2015 -0700 Committer: Michael Russo Committed: Fri Sep 11 16:59:40 2015 -0700 -- portal/bower.json | 2 +- portal/js/libs/usergrid.sdk.js | 8 +--- portal/package.json| 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/7eb997b1/portal/bower.json -- diff --git a/portal/bower.json b/portal/bower.json index 3c4784c..7ffb4ff 100644 --- a/portal/bower.json +++ b/portal/bower.json @@ -1,6 +1,6 @@ { "name": "usergrid-portal", - "version": "2.0.17", + "version": "2.0.18", "ignore": [ ".jshintrc", "**/*.txt", http://git-wip-us.apache.org/repos/asf/usergrid/blob/7eb997b1/portal/js/libs/usergrid.sdk.js -- diff --git a/portal/js/libs/usergrid.sdk.js b/portal/js/libs/usergrid.sdk.js index 795e3e2..d527ea0 100755 --- a/portal/js/libs/usergrid.sdk.js +++ b/portal/js/libs/usergrid.sdk.js @@ -774,8 +774,10 @@ var user = {}; var organizations = {}; var applications = {}; - if (err && self.logging) { -console.log('error trying to log user in'); + if (err ) { +if(self.logging) { + console.log('error trying to log user in'); +} } else { var options = { client: self, @@ -2563,4 +2565,4 @@ return tail.join("&"); } -})(window, sessionStorage); \ No newline at end of file +})(window, sessionStorage); http://git-wip-us.apache.org/repos/asf/usergrid/blob/7eb997b1/portal/package.json -- diff --git a/portal/package.json b/portal/package.json index d91ec7a..e36a910 100644 --- a/portal/package.json +++ b/portal/package.json @@ -1,6 +1,6 @@ { "name": "usergrid", - "version": "2.0.17", + "version": "2.0.18", "packageName": "appsvc-ui", "description": "full usergrid portal", "main": "./scripts/web-server.js",
[36/44] usergrid git commit: Merge branch 'USERGRID-1018' into 2.1-release
Merge branch 'USERGRID-1018' into 2.1-release Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0c12abb1 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0c12abb1 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0c12abb1 Branch: refs/heads/USERGRID-933 Commit: 0c12abb154c85ea5ccfd936490a2f84b0ffe5d24 Parents: 61dd559 0d4dd11 Author: Todd NineAuthored: Fri Sep 18 10:48:34 2015 -0600 Committer: Todd Nine Committed: Fri Sep 18 10:48:34 2015 -0600 -- .../usergrid/corepersistence/CoreModule.java| 51 +++- .../corepersistence/CpRelationManager.java | 23 +- .../asyncevents/AsyncEventService.java | 2 + .../migration/CoreMigration.java| 45 +--- .../migration/CoreMigrationPlugin.java | 38 ++- .../migration/DeDupConnectionDataMigration.java | 93 .../migration/EntityTypeMappingMigration.java | 104 .../migration/MigrationModuleVersionPlugin.java | 5 - .../corepersistence/migration/Versions.java | 31 --- .../builder/PipelineBuilderFactory.java | 3 + .../service/ConnectionScope.java| 53 + .../service/ConnectionService.java | 10 + .../service/ConnectionServiceImpl.java | 89 ++- .../corepersistence/util/CpNamingUtils.java | 13 +- .../corepersistence/TestCoreModule.java | 34 +++ .../DeDupConnectionDataMigrationTest.java | 145 .../migration/EntityTypeMappingMigrationIT.java | 125 -- .../service/ConnectionServiceImplTest.java | 235 +++ stack/core/src/test/resources/log4j.properties | 6 +- .../serialization/impl/SerializationModule.java | 4 +- .../migration/CollectionMigrationPlugin.java| 8 +- .../migration/MvccEntityDataMigrationImpl.java | 10 +- ...ctMvccEntityDataMigrationV1ToV3ImplTest.java | 39 +-- .../migration/data/AbstractMigrationPlugin.java | 17 +- .../core/migration/data/DataMigration.java | 11 +- .../migration/data/MigrationDataProvider.java | 2 +- .../core/migration/data/MigrationPlugin.java| 4 +- .../migration/schema/MigrationManagerFig.java | 1 + .../migration/data/TestProgressObserver.java| 10 +- .../persistence/graph/guice/GraphModule.java| 4 +- .../graph/impl/GraphManagerImpl.java| 4 +- .../impl/stage/EdgeDeleteListenerImpl.java | 4 +- .../graph/impl/stage/EdgeDeleteRepairImpl.java | 61 ++--- .../impl/TargetIdObservableImpl.java| 13 +- .../impl/migration/EdgeDataMigrationImpl.java | 12 +- .../impl/migration/GraphMigrationPlugin.java| 8 +- .../impl/shard/impl/EdgeSearcher.java | 14 +- .../impl/ShardedEdgeSerializationImpl.java | 59 +++-- .../shard/impl/serialize/EdgeSerializer.java| 21 +- .../persistence/graph/GraphManagerIT.java | 73 +- .../migration/EdgeDataMigrationImplTest.java| 59 +++-- .../persistence/index/guice/IndexModule.java| 4 +- .../index/migration/EsIndexMigrationPlugin.java | 8 +- 43 files changed, 1038 insertions(+), 517 deletions(-) --
[29/44] usergrid git commit: change mappings file
change mappings file Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/fad32aa2 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/fad32aa2 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/fad32aa2 Branch: refs/heads/USERGRID-933 Commit: fad32aa271820a83d34d7fc1be162a9751ef6808 Parents: 65d2608 Author: Shawn FeldmanAuthored: Thu Sep 17 11:23:49 2015 -0600 Committer: Shawn Feldman Committed: Thu Sep 17 11:23:49 2015 -0600 -- .../index/migration/EsIndexMappingMigrationPlugin.java | 2 +- .../apache/usergrid/persistence/index/usergrid-mappings.json| 5 - 2 files changed, 1 insertion(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/fad32aa2/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java -- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java index 6d46beb..5c2e9c1 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java @@ -136,7 +136,7 @@ public class EsIndexMappingMigrationPlugin implements MigrationPlugin { @Override public int getMaxVersion() { -return 1; +return 2;//1->new storage format,2->remove uuid } @Override http://git-wip-us.apache.org/repos/asf/usergrid/blob/fad32aa2/stack/corepersistence/queryindex/src/main/resources/org/apache/usergrid/persistence/index/usergrid-mappings.json -- diff --git a/stack/corepersistence/queryindex/src/main/resources/org/apache/usergrid/persistence/index/usergrid-mappings.json b/stack/corepersistence/queryindex/src/main/resources/org/apache/usergrid/persistence/index/usergrid-mappings.json index 1b6a7f3..3d2517c 100644 --- a/stack/corepersistence/queryindex/src/main/resources/org/apache/usergrid/persistence/index/usergrid-mappings.json +++ b/stack/corepersistence/queryindex/src/main/resources/org/apache/usergrid/persistence/index/usergrid-mappings.json @@ -90,11 +90,6 @@ "ignore_above": 10922 } } -}, -"uuid": { -"type": "string", -"index": "not_analyzed", -"doc_values": true } } }
[10/44] usergrid git commit: remove location if its not a map
remove location if its not a map Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/56801735 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/56801735 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/56801735 Branch: refs/heads/USERGRID-933 Commit: 56801735c9af438b090df700c17b8ca8c22f6be9 Parents: 58f7402 Author: Shawn FeldmanAuthored: Fri Sep 11 17:44:57 2015 -0600 Committer: Shawn Feldman Committed: Fri Sep 11 17:44:57 2015 -0600 -- .../corepersistence/CpEntityMapUtilsTest.java | 5 ++- stack/corepersistence/model/pom.xml | 6 ++- .../model/entity/MapToEntityConverter.java | 39 +++- 3 files changed, 37 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/56801735/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java -- diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java index 6e4e9a4..325e51f 100644 --- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java +++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/CpEntityMapUtilsTest.java @@ -38,6 +38,7 @@ import java.io.IOException; import java.util.*; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -132,14 +133,14 @@ public class CpEntityMapUtilsTest { cpEntity = CpEntityMapUtils.fromMap(properties, "loc", true); -assertTrue(cpEntity.getFieldMap().get("location") instanceof EntityObjectField); +assertNull(cpEntity.getFieldMap().get("location")); properties = new LinkedHashMap (); properties.put("location", "denver"); cpEntity = CpEntityMapUtils.fromMap(properties, "loc", true); -assertTrue(cpEntity.getFieldMap().get("location") instanceof StringField); +assertNull(cpEntity.getFieldMap().get("location") ); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/56801735/stack/corepersistence/model/pom.xml -- diff --git a/stack/corepersistence/model/pom.xml b/stack/corepersistence/model/pom.xml index 142bca1..591935f 100644 --- a/stack/corepersistence/model/pom.xml +++ b/stack/corepersistence/model/pom.xml @@ -40,7 +40,11 @@ commons-lang3 ${commons.lang.version} - + +org.slf4j +slf4j-log4j12 +${slf4j.version} + com.fasterxml.jackson.core http://git-wip-us.apache.org/repos/asf/usergrid/blob/56801735/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java -- diff --git a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java index e6744c4..dbd1b2a 100644 --- a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java +++ b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java @@ -25,15 +25,22 @@ import com.fasterxml.jackson.datatype.guava.GuavaModule; import org.apache.usergrid.persistence.model.collection.SchemaManager; import org.apache.usergrid.persistence.model.field.*; import org.apache.usergrid.persistence.model.field.value.Location; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.nio.ByteBuffer; import java.util.*; public class MapToEntityConverter{ +public static final Logger logger = LoggerFactory.getLogger(MapToEntityConverter.class); private final JsonFactory jsonFactory = new JsonFactory(); private final ObjectMapper objectMapper = new ObjectMapper(jsonFactory).registerModule(new GuavaModule()); +static final String locationKey = "location"; +static final String lat = "latitude"; +static final String lon = "longitude"; + public Entity fromMap( Map map, boolean topLevel ) { Entity entity = new Entity(); @@ -48,9 +55,15 @@ public class MapToEntityConverter{ } Object value = map.get( fieldName ); boolean unique = schemaManager == null ? topLevel : topLevel &&
[18/44] usergrid git commit: Corrects test setup and adds debug logging
Corrects test setup and adds debug logging Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/85e1e7c1 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/85e1e7c1 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/85e1e7c1 Branch: refs/heads/USERGRID-933 Commit: 85e1e7c1e17470bf012308011950a7ae43565b5f Parents: b625ed2 Author: Todd NineAuthored: Mon Sep 14 19:07:28 2015 -0600 Committer: Todd Nine Committed: Mon Sep 14 19:07:28 2015 -0600 -- .../service/ConnectionServiceImpl.java | 26 ++-- .../service/ConnectionServiceImplTest.java | 12 ++--- 2 files changed, 33 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/85e1e7c1/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java index 82c1038..41e6f80 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImpl.java @@ -18,6 +18,9 @@ package org.apache.usergrid.corepersistence.service; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.apache.usergrid.corepersistence.pipeline.builder.EntityBuilder; import org.apache.usergrid.corepersistence.pipeline.builder.IdBuilder; import org.apache.usergrid.corepersistence.pipeline.builder.PipelineBuilderFactory; @@ -47,6 +50,9 @@ import rx.Observable; @Singleton public class ConnectionServiceImpl implements ConnectionService { + +private static final Logger logger = LoggerFactory.getLogger( ConnectionServiceImpl.class ); + private final PipelineBuilderFactory pipelineBuilderFactory; private final AllEntityIdsObservable allEntityIdsObservable; private final GraphManagerFactory graphManagerFactory; @@ -152,11 +158,16 @@ public class ConnectionServiceImpl implements ConnectionService { final GraphManager gm = graphManagerFactory.createEdgeManager(applicationScope ); + logger.debug( "Checking connections of id {} in application {}", entityId, applicationScope ); + return gm.getEdgeTypesFromSource( new SimpleSearchEdgeType( entityId, CpNamingUtils.EDGE_CONN_PREFIX, Optional.absent() ) ) //now load all edges from this node of this type .flatMap( edgeType -> { + +logger.debug( "Found edge of types of {}, searching for edges", edgeType ); + final SearchByEdgeType searchByEdge = new SimpleSearchByEdgeType( entityId, edgeType, Long.MAX_VALUE, SearchByEdgeType.Order.ASCENDING, Optional.absent() ); @@ -167,6 +178,9 @@ public class ConnectionServiceImpl implements ConnectionService { //now that we have a stream of edges, stream all versions .flatMap( edge -> { + +logger.debug( "Found edge {}, searching for multiple versions of edge", edge ); + final SearchByEdge searchByEdge = new SimpleSearchByEdge( edge.getSourceNode(), edge.getType(), edge.getTargetNode(), Long.MAX_VALUE, SearchByEdgeType.Order.ASCENDING, Optional.absent() ); @@ -176,8 +190,16 @@ public class ConnectionServiceImpl implements ConnectionService { //skip the first version since it's the one we want to retain // validate there is only 1 version of it, delete anything > than the min .skip( 1 ) -.flatMap( edgeToDelete -> gm.deleteEdge( edgeToDelete ) ) -.map(deletedEdge -> new ConnectionScope( applicationScope, deletedEdge ) ) ; +.flatMap( edgeToDelete -> { + +logger.debug( "Deleting edge {}", edgeToDelete ); + +//mark the edge and ignore the cleanup result +return gm.markEdge( edgeToDelete ) + //delete the edge + .flatMap( edge -> gm.deleteEdge( edgeToDelete )); +} ) +.map( deletedEdge -> new ConnectionScope( applicationScope, deletedEdge ) ) ; }); } } http://git-wip-us.apache.org/repos/asf/usergrid/blob/85e1e7c1/stack/core/src/test/java/org/apache/usergrid/corepersistence/service/ConnectionServiceImplTest.java
[30/44] usergrid git commit: Fixes test
Fixes test Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/acbf3a17 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/acbf3a17 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/acbf3a17 Branch: refs/heads/USERGRID-933 Commit: acbf3a17216180f67f0f6c9f390e740efd55b223 Parents: d971ec5 Author: Todd NineAuthored: Thu Sep 17 11:46:45 2015 -0600 Committer: Todd Nine Committed: Thu Sep 17 11:46:45 2015 -0600 -- ...ctMvccEntityDataMigrationV1ToV3ImplTest.java | 34 ++-- 1 file changed, 25 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/acbf3a17/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/AbstractMvccEntityDataMigrationV1ToV3ImplTest.java -- diff --git a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/AbstractMvccEntityDataMigrationV1ToV3ImplTest.java b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/AbstractMvccEntityDataMigrationV1ToV3ImplTest.java index f51b339..9be979b 100644 --- a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/AbstractMvccEntityDataMigrationV1ToV3ImplTest.java +++ b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/AbstractMvccEntityDataMigrationV1ToV3ImplTest.java @@ -30,7 +30,10 @@ import org.apache.usergrid.persistence.collection.MvccEntity; import org.apache.usergrid.persistence.collection.guice.TestCollectionModule; import org.apache.usergrid.persistence.collection.mvcc.entity.impl.MvccEntityImpl; import org.apache.usergrid.persistence.collection.serialization.MvccEntitySerializationStrategy; +import org.apache.usergrid.persistence.collection.serialization.MvccLogEntrySerializationStrategy; +import org.apache.usergrid.persistence.collection.serialization.UniqueValueSerializationStrategy; import org.apache.usergrid.persistence.collection.serialization.impl.CollectionDataVersions; +import org.apache.usergrid.persistence.collection.serialization.impl.MvccEntitySerializationStrategyV3Impl; import org.apache.usergrid.persistence.core.guice.DataMigrationResetRule; import org.apache.usergrid.persistence.core.guice.MigrationManagerRule; import org.apache.usergrid.persistence.core.migration.data.DataMigrationManager; @@ -48,6 +51,7 @@ import org.apache.usergrid.persistence.model.entity.SimpleId; import org.apache.usergrid.persistence.model.util.UUIDGenerator; import com.google.inject.Inject; +import com.netflix.astyanax.Keyspace; import com.netflix.astyanax.connectionpool.exceptions.ConnectionException; import net.jcip.annotations.NotThreadSafe; @@ -63,7 +67,8 @@ import static org.junit.Assert.assertTrue; @NotThreadSafe @RunWith( ITRunner.class ) @UseModules( { TestCollectionModule.class } ) -public abstract class AbstractMvccEntityDataMigrationV1ToV3ImplTest implements DataMigrationResetRule.DataMigrationManagerProvider { +public abstract class AbstractMvccEntityDataMigrationV1ToV3ImplTest +implements DataMigrationResetRule.DataMigrationManagerProvider { @Inject @@ -76,11 +81,19 @@ public abstract class AbstractMvccEntityDataMigrationV1ToV3ImplTest implements D @Inject -public MvccEntityDataMigrationImpl mvccEntityDataMigrationImpl; +public VersionedMigrationSet versions; @Inject -public VersionedMigrationSet versions; +public Keyspace keyspace; +@Inject +public VersionedMigrationSet allVersions; +@Inject +public MvccEntitySerializationStrategyV3Impl mvccEntitySerializationStrategyV3; +@Inject +public UniqueValueSerializationStrategy uniqueValueSerializationStrategy; +@Inject +public MvccLogEntrySerializationStrategy mvccLogEntrySerializationStrategy; /** * Rule to do the resets we need @@ -121,20 +134,26 @@ public abstract class AbstractMvccEntityDataMigrationV1ToV3ImplTest implements D Observable.just( new EntityIdScope( scope, entity1.getId() ), new EntityIdScope( scope, entity2.getId() ) ); +final MigrationDataProvider migrationProvider = () -> entityIdScope; + final TestProgressObserver progressObserver = new TestProgressObserver(); final CollectionDataVersions startVersion = getSourceVersion(); final MigrationRelationship tuple = - versions.getMigrationRelationship( startVersion.getVersion() ); +versions.getMigrationRelationship(
[08/44] usergrid git commit: Merge branch 'two-dot-o-dev' of https://git-wip-us.apache.org/repos/asf/usergrid into two-dot-o-dev
Merge branch 'two-dot-o-dev' of https://git-wip-us.apache.org/repos/asf/usergrid into two-dot-o-dev Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/c3c71c91 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/c3c71c91 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/c3c71c91 Branch: refs/heads/USERGRID-933 Commit: c3c71c91472045789f06e525d1028061240e0613 Parents: 98e76ae f24e7e4 Author: Shawn FeldmanAuthored: Fri Sep 11 17:11:07 2015 -0600 Committer: Shawn Feldman Committed: Fri Sep 11 17:11:07 2015 -0600 -- .../asyncevents/AmazonAsyncEventService.java | 6 +++--- stack/scripts/migrate_entity_data.py | 17 + 2 files changed, 20 insertions(+), 3 deletions(-) --
[1/3] usergrid git commit: This closes #392
Repository: usergrid Updated Branches: refs/heads/master 733ada668 -> 29ef96626 This closes #392 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/87b0ff78 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/87b0ff78 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/87b0ff78 Branch: refs/heads/master Commit: 87b0ff78093c629e6ff5dfc9a2bbd4df468b3579 Parents: 2e89eda Author: Mike DunkerAuthored: Thu Jan 7 14:32:48 2016 -0800 Committer: Mike Dunker Committed: Thu Jan 7 14:32:48 2016 -0800 -- --
[1/2] usergrid git commit: Fix issue where user scoped notification requests were not finding devices to send notifications to.
Repository: usergrid Updated Branches: refs/heads/release fdc0d8081 -> 208be5719 Fix issue where user scoped notification requests were not finding devices to send notifications to. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/57279250 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/57279250 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/57279250 Branch: refs/heads/release Commit: 57279250e473b60e6324327ce8d67c976aadef41 Parents: fdc0d80 Author: Michael RussoAuthored: Tue Dec 22 22:02:41 2015 -0800 Committer: Michael Russo Committed: Tue Dec 22 22:02:41 2015 -0800 -- .../usergrid/persistence/entities/Notification.java | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/57279250/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java b/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java index 362201a..096706b 100644 --- a/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java +++ b/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java @@ -304,7 +304,15 @@ public class Notification extends TypedEntity { String collection = pathToken.getCollection(); Query query = new Query(); if (pathToken.getIdentifier()!=null) { -query.addIdentifier(pathToken.getIdentifier()); + +// users collection is special case and uses "username" instaed of "name" +// build a query using QL with "username" as Identifier.Type.USERNAME doesn't exist +if (collection.equals("users") && pathToken.getIdentifier().getType() == Identifier.Type.NAME){ +query.setQl("select * where username ='"+pathToken.getIdentifier().getName()+"'"); +}else{ +query.addIdentifier(pathToken.getIdentifier()); +} + } query.setLimit(100); query.setCollection(collection);
[2/2] usergrid git commit: Allow notification entities to be deleted if they are not in a state that represents "in progress".
Allow notification entities to be deleted if they are not in a state that represents "in progress". Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/208be571 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/208be571 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/208be571 Branch: refs/heads/release Commit: 208be5719e8b54721bde5215a8488636d3a8411f Parents: 5727925 Author: Michael RussoAuthored: Tue Dec 22 22:07:47 2015 -0800 Committer: Michael Russo Committed: Tue Dec 22 22:07:47 2015 -0800 -- .../usergrid/services/notifications/NotificationsService.java| 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/208be571/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java index 2a72a01..202971d 100644 --- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java +++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java @@ -231,7 +231,9 @@ public class NotificationsService extends AbstractCollectionService { @Override protected boolean isDeleteAllowed(ServiceContext context, Entity entity) { Notification notification = (Notification) entity; -return (notification.getStarted() == null); +Notification.State state = notification.getState(); +return !(state.equals(Notification.State.CREATED) || state.equals(Notification.State.STARTED) || +state.equals(Notification.State.SCHEDULED)); } // validate payloads
usergrid git commit: Provide some extra validation of our latitude and longitude location fields before adding it to the Elasticsearch index document. This is to avoid rejected index requests due to n
Repository: usergrid Updated Branches: refs/heads/release 9bfbc531c -> 29bba2433 Provide some extra validation of our latitude and longitude location fields before adding it to the Elasticsearch index document. This is to avoid rejected index requests due to number format exceptions. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/29bba243 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/29bba243 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/29bba243 Branch: refs/heads/release Commit: 29bba24336c22bc5ed8369c328556e8348c75391 Parents: 9bfbc53 Author: Michael RussoAuthored: Tue Nov 24 13:28:44 2015 -0700 Committer: Michael Russo Committed: Tue Nov 24 13:28:44 2015 -0700 -- .../persistence/model/entity/EntityMap.java | 50 1 file changed, 41 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/29bba243/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/EntityMap.java -- diff --git a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/EntityMap.java b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/EntityMap.java index 84b6d35..5c8fd77 100644 --- a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/EntityMap.java +++ b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/EntityMap.java @@ -1,20 +1,19 @@ package org.apache.usergrid.persistence.model.entity; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.*; -import org.apache.usergrid.persistence.model.field.*; -import org.apache.usergrid.persistence.model.field.value.EntityObject; - -import java.io.IOException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.HashMap; import java.util.Map; -import java.util.UUID; + /** * Core persistence Entity Map structure to persist to */ public class EntityMap extends HashMap { + +private static final Logger logger = LoggerFactory.getLogger( EntityMap.class ); + private static EntityToMapConverter entityToMapConverter = new EntityToMapConverter(); @@ -39,16 +38,49 @@ public class EntityMap extends HashMap { } /** - * Return true if the value is a location field + * Return true if the value is a location field which contains valid values for latitude and longitude * @param fieldValue * @return */ public static boolean isLocationField(Map fieldValue) { + +//short circuit since valid location objects contain only 2 properties (latitude and longitude) if (fieldValue.size() != 2) { return false; } -return fieldValue.containsKey(EntityToMapConverter.LAT) && fieldValue.containsKey(EntityToMapConverter.LON); +// we need to make sure that latitude and longitude are numbers or strings that can be parsed as a number +if (fieldValue.containsKey(EntityToMapConverter.LAT) && fieldValue.containsKey(EntityToMapConverter.LON)){ + +for(Map.Entry value : fieldValue.entrySet()){ + +if(!(value.getValue() instanceof Number) && !isDouble(String.valueOf(value.getValue({ + +if(logger.isDebugEnabled()){ +logger.debug("Field [{}] with value [{}] is not a valid geo coordinate", +value.getKey(), +value.getValue() +); +} +return false; +} +} + +return true; +} + +return false; + +} + +public static boolean isDouble(String s){ + +try{ +Double.valueOf(s); +return true; +}catch (NumberFormatException e){ +return false; +} } }
[2/2] usergrid git commit: Merge commit 'refs/pull/460/head' of apache.github.com:apache/usergrid
Merge commit 'refs/pull/460/head' of apache.github.com:apache/usergrid Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/95fa5209 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/95fa5209 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/95fa5209 Branch: refs/heads/master Commit: 95fa52099b9f0e993c2f5daa59bb556384da4c31 Parents: ce31acd 27e2992 Author: Mike DunkerAuthored: Mon Jan 11 00:32:11 2016 -0800 Committer: Mike Dunker Committed: Mon Jan 11 00:32:11 2016 -0800 -- .../cassandra/ManagementServiceImpl.java| 27 .../migration/AppInfoMigrationPluginTest.java | 2 +- 2 files changed, 18 insertions(+), 11 deletions(-) --
[1/2] usergrid git commit: USERGRID-933: fix broken tests
Repository: usergrid Updated Branches: refs/heads/master ce31acd72 -> 95fa52099 USERGRID-933: fix broken tests Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/27e29928 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/27e29928 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/27e29928 Branch: refs/heads/master Commit: 27e299283f75b3a3adf8d00e6f01def3fffc490e Parents: 35ff17f Author: Mike DunkerAuthored: Mon Jan 11 00:12:28 2016 -0800 Committer: Mike Dunker Committed: Mon Jan 11 00:12:28 2016 -0800 -- .../cassandra/ManagementServiceImpl.java| 27 .../migration/AppInfoMigrationPluginTest.java | 2 +- 2 files changed, 18 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/27e29928/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java index 6d79161..a4259f7 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java @@ -193,14 +193,19 @@ public class ManagementServiceImpl implements ManagementService { return orgSysAdminEmail; } orgSysAdminEmail = properties.getProperty( PROPERTIES_ORG_SYSADMIN_EMAIL ); -orgSysAdminEmail = orgSysAdminEmail!=null ? orgSysAdminEmail : getDefaultSysAdminEmail(); +if (orgSysAdminEmail == null || orgSysAdminEmail.isEmpty()) { +orgSysAdminEmail = getDefaultSysAdminEmail(); +} return orgSysAdminEmail; } String defaultAdminSysAdminEmail = null; private String getDefaultAdminSystemEmail(){ if( defaultAdminSysAdminEmail == null ){ -defaultAdminSysAdminEmail = properties.getProperty(PROPERTIES_ADMIN_SYSADMIN_EMAIL, getDefaultSysAdminEmail()); +defaultAdminSysAdminEmail = properties.getProperty(PROPERTIES_ADMIN_SYSADMIN_EMAIL); +if (defaultAdminSysAdminEmail == null || defaultAdminSysAdminEmail.isEmpty()) { +defaultAdminSysAdminEmail = getDefaultSysAdminEmail(); +} } return defaultAdminSysAdminEmail; @@ -218,7 +223,8 @@ public class ManagementServiceImpl implements ManagementService { // swallow } -return adminSystemEmail != null ? adminSystemEmail : getDefaultAdminSystemEmail(); +return (adminSystemEmail != null && !adminSystemEmail.isEmpty()) ? +adminSystemEmail : getDefaultAdminSystemEmail(); } private String getAdminSystemEmailForOrganization(UUID organizationId) { @@ -2505,7 +2511,7 @@ public class ManagementServiceImpl implements ManagementService { // token may contain the workflow organization id public ActivationState handleActivationTokenForAdminUser( UUID userId, String token ) throws Exception { TokenInfo tokenInfo = getTokenInfoFromAccessToken(token, TOKEN_TYPE_ACTIVATION, ADMIN_USER); -if (tokenInfo == null) { +if (tokenInfo != null) { AuthPrincipalInfo principal = tokenInfo.getPrincipal(); if ((principal != null) && userId.equals(principal.getUuid())) { UUID workflowOrgId = tokenInfo.getWorkflowOrgId(); @@ -2725,8 +2731,9 @@ public class ManagementServiceImpl implements ManagementService { @Override public void startAppUserPasswordResetFlow( UUID applicationId, User user ) throws Exception { String token = getPasswordResetTokenForAppUser(applicationId, user.getUuid()); -String resetPropertyUrl = getOrganizationConfigPropertyForApplication(applicationId, PROPERTIES_USER_RESETPW_URL); -String reset_url = buildUserAppUrl( applicationId, resetPropertyUrl, user, token ); +String resetPropertyUrl = properties.getProperty( PROPERTIES_USER_RESETPW_URL ); +String reset_url = +buildUserAppUrl( applicationId, resetPropertyUrl, user, token); Map pageContext = hashMap( "reset_url", reset_url ) .map( "reset_url_base", resetPropertyUrl ) .map( "user_uuid", user.getUuid().toString() ).map( "raw_token", token ) @@ -3343,11 +3350,11 @@ public class ManagementServiceImpl implements ManagementService { new SimpleEntityRef(CpNamingUtils.APPLICATION_INFO, applicationInfoId),
[5/5] usergrid git commit: Fix issues where cert stream was being used incorrectly. Add non-apple valid cert for testing notifier creation (which tests the certificate utils).
Fix issues where cert stream was being used incorrectly. Add non-apple valid cert for testing notifier creation (which tests the certificate utils). Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/2455b6a6 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/2455b6a6 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/2455b6a6 Branch: refs/heads/master Commit: 2455b6a652520a32b1d520c6efd2611a97394749 Parents: 61c57c2 Author: Michael RussoAuthored: Tue Jan 12 13:13:41 2016 -0800 Committer: Michael Russo Committed: Tue Jan 12 13:13:41 2016 -0800 -- .../notifiers/NotifierResource.java | 13 --- .../notifiers/NotifiersResource.java| 12 -- .../usergrid/rest/utils/CertificateUtils.java | 4 +- .../applications/notifiers/NotifiersIT.java | 37 ++- .../resources/valid_non_apple_2036_01_07.p12| Bin 0 -> 2661 bytes 5 files changed, 46 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/2455b6a6/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java index 21d3d73..4e4a3b1 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java @@ -81,12 +81,16 @@ public class NotifierResource extends ServiceResource { InputStream is = null; Map certAttributes = null; String filename = null; +byte[] certBytes = null; if (multiPart.getField("p12Certificate") != null) { filename = multiPart.getField("p12Certificate").getContentDisposition().getFileName(); is = multiPart.getField("p12Certificate").getEntityAs(InputStream.class); -certAttributes = CertificateUtils.getCertAtrributes(is, certPassword); +if (is != null) { +certBytes = IOUtils.toByteArray(is); +certAttributes = CertificateUtils.getCertAtrributes(certBytes, certPassword); +} }else{ -throw new IllegalArgumentException("p12Certificate data cannot be empty"); +throw new IllegalArgumentException("Certificate is invalid .p12 file or incorrect certificatePassword"); } // check to see if the certificate is valid @@ -99,10 +103,9 @@ public class NotifierResource extends ServiceResource { certProps.put("provider", provider); certProps.put("environment", "production"); certProps.put("certificatePassword", certPassword); -if (is != null) { -byte[] certBytes = IOUtils.toByteArray(is); + +if(certBytes != null && certBytes.length > 0 ){ certProps.put("p12Certificate", certBytes); -is.close(); } HashMap certInfo = new LinkedHashMap (); if (certAttributes != null){ http://git-wip-us.apache.org/repos/asf/usergrid/blob/2455b6a6/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java index bd02c35..d7ce1e5 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java @@ -127,12 +127,16 @@ public class NotifiersResource extends ServiceResource { InputStream is = null; Map certAttributes = null; String filename = null; +byte[] certBytes = null; if (multiPart.getField("p12Certificate") != null) { filename = multiPart.getField("p12Certificate").getContentDisposition().getFileName(); is = multiPart.getField("p12Certificate").getEntityAs(InputStream.class); -certAttributes = CertificateUtils.getCertAtrributes(is, certPassword); +if (is != null) { +certBytes = IOUtils.toByteArray(is); +certAttributes = CertificateUtils.getCertAtrributes(certBytes, certPassword); +} }else{ -
[2/5] usergrid git commit: Verify certificates when uploaded and update the certInfo object in the notifier with details about the certificate. Fix APNS service tests. Fix scheduled notifications wher
Verify certificates when uploaded and update the certInfo object in the notifier with details about the certificate. Fix APNS service tests. Fix scheduled notifications where a missing column family was not being created. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/858c750c Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/858c750c Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/858c750c Branch: refs/heads/master Commit: 858c750c0b91769c64e90bfa50c7390bcf3cab01 Parents: 868db4d Author: Michael RussoAuthored: Mon Jan 11 17:53:33 2016 -0800 Committer: Michael Russo Committed: Mon Jan 11 17:53:33 2016 -0800 -- .../apache/usergrid/mq/cassandra/QueuesCF.java | 2 +- .../notifiers/NotifierResource.java | 23 +- .../notifiers/NotifiersResource.java| 18 +- .../usergrid/rest/utils/CertificateUtils.java | 102 .../applications/notifiers/NotifiersIT.java | 99 .../src/test/resources/pushtest_dev_recent.p12 | Bin 0 -> 3227 bytes .../services/notifications/QueueListener.java | 3 +- .../usergrid/services/queues/QueueListener.java | 3 +- .../notifications/NotifiersServiceIT.java | 3 +- .../apns/MockSuccessfulProviderAdapter.java | 101 .../apns/NotificationsServiceIT.java| 251 +++ .../gcm/MockSuccessfulProviderAdapter.java | 85 --- .../src/test/resources/pushtest_dev.p12 | Bin 3203 -> 0 bytes .../src/test/resources/pushtest_prod.p12| Bin 3205 -> 0 bytes 14 files changed, 326 insertions(+), 364 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/858c750c/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueuesCF.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueuesCF.java b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueuesCF.java index b0f6906..58023d7 100644 --- a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueuesCF.java +++ b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueuesCF.java @@ -31,7 +31,7 @@ import static org.apache.usergrid.persistence.cassandra.CassandraPersistenceUtil public enum QueuesCF implements CFEnum { -MESSAGE_PROPERTIES( "Entity_Properties", "BytesType", false ), +MESSAGE_PROPERTIES( "Entity_Properties", "BytesType" ), QUEUE_PROPERTIES( "Queue_Properties", "BytesType" ), http://git-wip-us.apache.org/repos/asf/usergrid/blob/858c750c/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java index 284c067..637f0a5 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java @@ -22,6 +22,7 @@ import org.apache.usergrid.persistence.index.query.Identifier; import org.apache.usergrid.rest.ApiResponse; import org.apache.usergrid.rest.applications.ServiceResource; import org.apache.usergrid.rest.security.annotations.RequireApplicationAccess; +import org.apache.usergrid.rest.utils.CertificateUtils; import org.apache.usergrid.services.ServiceAction; import org.apache.usergrid.services.ServicePayload; import org.glassfish.jersey.media.multipart.FormDataMultiPart; @@ -37,6 +38,7 @@ import javax.ws.rs.core.UriInfo; import java.io.InputStream; import java.util.HashMap; import java.util.LinkedHashMap; +import java.util.Map; @Component("org.apache.usergrid.rest.applications.notifiers.NotifierResource") @Scope("prototype") @@ -64,7 +66,12 @@ public class NotifierResource extends ServiceResource { FormDataMultiPart multiPart) throws Exception { if (logger.isDebugEnabled()) { -logger.debug("NotifierResource.executePut"); +logger.debug("NotifierResource.executeMultiPartPut"); +} + +String certInfo = getValueOrNull(multiPart, "certInfo"); +if (certInfo != null){ +throw new IllegalArgumentException("Cannot create or update with certInfo parameter. It is derived."); } String name = getValueOrNull(multiPart, "name"); @@ -72,8 +79,17 @@ public class NotifierResource extends ServiceResource { String certPassword = getValueOrNull(multiPart, "certificatePassword"); InputStream is = null; +
[4/5] usergrid git commit: Make sure the validTo and validFrom string formats are GMT timezone. Add filename to the certInfo object.
Make sure the validTo and validFrom string formats are GMT timezone. Add filename to the certInfo object. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/61c57c28 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/61c57c28 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/61c57c28 Branch: refs/heads/master Commit: 61c57c286e2694b5cb50ecdf3f4e60c263ad7f75 Parents: bc68332 Author: Michael RussoAuthored: Tue Jan 12 09:15:05 2016 -0800 Committer: Michael Russo Committed: Tue Jan 12 09:15:05 2016 -0800 -- .../notifiers/NotifierResource.java | 25 .../notifiers/NotifiersResource.java| 14 ++- .../usergrid/rest/utils/CertificateUtils.java | 14 +++ 3 files changed, 37 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/61c57c28/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java index 637f0a5..21d3d73 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java @@ -69,8 +69,8 @@ public class NotifierResource extends ServiceResource { logger.debug("NotifierResource.executeMultiPartPut"); } -String certInfo = getValueOrNull(multiPart, "certInfo"); -if (certInfo != null){ +String certInfoParam = getValueOrNull(multiPart, "certInfo"); +if (certInfoParam != null){ throw new IllegalArgumentException("Cannot create or update with certInfo parameter. It is derived."); } @@ -80,7 +80,9 @@ public class NotifierResource extends ServiceResource { InputStream is = null; Map certAttributes = null; +String filename = null; if (multiPart.getField("p12Certificate") != null) { +filename = multiPart.getField("p12Certificate").getContentDisposition().getFileName(); is = multiPart.getField("p12Certificate").getEntityAs(InputStream.class); certAttributes = CertificateUtils.getCertAtrributes(is, certPassword); }else{ @@ -92,26 +94,29 @@ public class NotifierResource extends ServiceResource { throw new IllegalArgumentException("p12Certificate is expired"); } -HashMap properties = new LinkedHashMap (); -properties.put("name", name); -properties.put("provider", provider); -properties.put("environment", "production"); -properties.put("certificatePassword", certPassword); +HashMap certProps = new LinkedHashMap (); +certProps.put("name", name); +certProps.put("provider", provider); +certProps.put("environment", "production"); +certProps.put("certificatePassword", certPassword); if (is != null) { byte[] certBytes = IOUtils.toByteArray(is); -properties.put("p12Certificate", certBytes); +certProps.put("p12Certificate", certBytes); is.close(); } +HashMap certInfo = new LinkedHashMap (); if (certAttributes != null){ -properties.put("certInfo", certAttributes); +certInfo.put("filename", filename); +certInfo.put("details", certAttributes); } +certProps.put("certInfo", certInfo); ApiResponse response = createApiResponse(); response.setAction("put"); response.setApplication(services.getApplication()); response.setParams(ui.getQueryParameters()); -ServicePayload payload = getPayload(properties); +ServicePayload payload = getPayload(certProps); executeServiceRequest(ui, response, ServiceAction.PUT, payload); return response; http://git-wip-us.apache.org/repos/asf/usergrid/blob/61c57c28/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java index 77dab9b..bd02c35 100644 ---
[1/5] usergrid git commit: POM updates to not filter .p12 files. Also reformatted the XML files for cleanliness.
Repository: usergrid Updated Branches: refs/heads/master 3bb61da1a -> 2455b6a65 POM updates to not filter .p12 files. Also reformatted the XML files for cleanliness. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/868db4d6 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/868db4d6 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/868db4d6 Branch: refs/heads/master Commit: 868db4d68819a49fd4c18ec69f9a16fcd628a75b Parents: 95fa520 Author: Michael RussoAuthored: Mon Jan 11 17:51:26 2016 -0800 Committer: Michael Russo Committed: Mon Jan 11 17:51:26 2016 -0800 -- stack/rest/pom.xml | 32 +- stack/services/pom.xml | 889 ++-- 2 files changed, 481 insertions(+), 440 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/868db4d6/stack/rest/pom.xml -- diff --git a/stack/rest/pom.xml b/stack/rest/pom.xml index f0ce7b3..e7905c9 100644 --- a/stack/rest/pom.xml +++ b/stack/rest/pom.xml @@ -51,12 +51,23 @@ + src/test/resources true **/* + +**/*.p12 + + + +src/test/resources +false + +**/*.p12 + @@ -79,12 +90,16 @@ ${usergrid.rest.threads} false true --Dwebapp.directory=${basedir}/src/main/webapp -Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar -Djava.util.logging.config.file=${basedir}/src/test/resources/logging.properties ${ug.argline} +-Dwebapp.directory=${basedir}/src/main/webapp +-Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} +-Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 + -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar + -Djava.util.logging.config.file=${basedir}/src/test/resources/logging.properties ${ug.argline} **/*IT.java **/*Test.java - + org.apache.usergrid.StressTest,org.apache.usergrid.ExperimentalTest @@ -422,8 +437,17 @@ maven-surefire-plugin ${surefire.plugin.version} - -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec -Dwebapp.directory=${basedir}/src/main/webapp -Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar -Djava.util.logging.config.file=${basedir}/src/test/resources/logging.properties ${ug.argline} - org.apache.usergrid.StressTest,org.apache.usergrid.ExperimentalTest + + -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec +-Dwebapp.directory=${basedir}/src/main/webapp + -Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true +-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 + -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar + -Djava.util.logging.config.file=${basedir}/src/test/resources/logging.properties +${ug.argline} + + org.apache.usergrid.StressTest,org.apache.usergrid.ExperimentalTest +
usergrid git commit: This closes #390
Repository: usergrid Updated Branches: refs/heads/master 7032c033f -> 3bb61da1a This closes #390 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/3bb61da1 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/3bb61da1 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/3bb61da1 Branch: refs/heads/master Commit: 3bb61da1a222b5111cc8efafc2cbdc0defad31e3 Parents: 7032c03 Author: Mike DunkerAuthored: Mon Jan 11 12:58:00 2016 -0800 Committer: Mike Dunker Committed: Mon Jan 11 12:58:00 2016 -0800 -- --
[usergrid] Git Push Summary
Repository: usergrid Updated Tags: refs/tags/usergrid-1.0.1 [created] e6e3ebb2e
[usergrid] Git Push Summary
Repository: usergrid Updated Tags: refs/tags/usergrid-1.0.1 [deleted] f13dcf2aa
[usergrid] Git Push Summary
Repository: usergrid Updated Tags: refs/tags/2.1.working [deleted] d1c146deb
[usergrid] Git Push Summary
Repository: usergrid Updated Tags: refs/tags/usergrid-1.0.0 [deleted] ae2dff6e9
[usergrid] Git Push Summary
Repository: usergrid Updated Tags: refs/tags/2.1.working [created] d1c146deb refs/tags/usergrid-1.0.0 [created] ae2dff6e9
usergrid git commit: Fix dead links
Repository: usergrid Updated Branches: refs/heads/master 46bb9b506 -> f5d01532c Fix dead links Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f5d01532 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f5d01532 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f5d01532 Branch: refs/heads/master Commit: f5d01532cdb27a5877e3dbcf01a993cd7117f1e7 Parents: 46bb9b5 Author: Steve GrosboisAuthored: Fri Jan 29 17:26:13 2016 +0100 Committer: Steve Grosbois Committed: Fri Jan 29 17:26:13 2016 +0100 -- docs/introduction/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f5d01532/docs/introduction/overview.md -- diff --git a/docs/introduction/overview.md b/docs/introduction/overview.md index e9c6968..5d45bfb 100644 --- a/docs/introduction/overview.md +++ b/docs/introduction/overview.md @@ -6,8 +6,8 @@ The Usergrid documentation is written for a couple of distinctly different audie * __Deployment/Operations Engineer__: this is for you if you are the person who will be installing Usergrid, setting up the required Cassandra database and other things that Usergrid needs. Currently, we have limited docs for installation, deployment and maintenance of Usergrid: -* [Deploying to Tomcat](../ug1-deploy-to-tomacat): How to build and deploy Usergrid to Tomcat and Cassandra. -* [Launcher Quick Start](../ug1-launcher-quick-start): How to build and run Usergrid via the Usergrid Launcher. +* [Deploying to Tomcat](../installation/ug1-deploy-to-tomcat): How to build and deploy Usergrid to Tomcat and Cassandra. +* [Launcher Quick Start](../installation/ug1-launcher-quick-start): How to build and run Usergrid via the Usergrid Launcher. * __Open Source Contributor__: How to "give back" and contribute to Usergrid. Usergrid welcomes code and documentation contributions, GitHub pull-requests, bug reports and suggestions for improvement.
usergrid git commit: USERGRID-1200: EmailFlowIT fix
Repository: usergrid Updated Branches: refs/heads/master 4610eed26 -> 586dad080 USERGRID-1200: EmailFlowIT fix Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/586dad08 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/586dad08 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/586dad08 Branch: refs/heads/master Commit: 586dad08091ed19e532695f234a0d973176ad3b6 Parents: 4610eed Author: Mike DunkerAuthored: Mon Jan 25 17:23:58 2016 -0800 Committer: Mike Dunker Committed: Mon Jan 25 17:23:58 2016 -0800 -- .../test/java/org/apache/usergrid/management/EmailFlowIT.java| 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/586dad08/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java -- diff --git a/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java b/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java index e9c0bd8..a46bd60 100644 --- a/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java +++ b/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java @@ -78,7 +78,6 @@ public class EmailFlowIT { setup.set( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" ); setup.set( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" ); setup.set( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" ); -setup.set( PROPERTIES_DEFAULT_SYSADMIN_EMAIL, "sysadmi...@mockserver.com" ); setup.set( PROPERTIES_NOTIFY_ADMIN_OF_ACTIVATION, "true" ); final String orgName = uniqueOrg(); @@ -121,7 +120,6 @@ public class EmailFlowIT { setup.set( PROPERTIES_NOTIFY_ADMIN_OF_ACTIVATION, "true" ); setup.set( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" ); setup.set( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" ); -setup.set( PROPERTIES_DEFAULT_SYSADMIN_EMAIL, "sysadmi...@mockserver.com" ); final String orgName = uniqueOrg(); final String userName = uniqueUsername(); @@ -156,7 +154,7 @@ public class EmailFlowIT { assertEquals( "User Account Confirmed", confirmation.getSubject() ); -List sysadmin_inbox = Mailbox.get( "sysadmi...@mockserver.com" ); +List sysadmin_inbox = Mailbox.get( "testad...@usergrid.com" ); assertFalse( sysadmin_inbox.isEmpty() ); Message activation = sysadmin_inbox.get( 0 );
[2/2] usergrid git commit: Added one-time job logging.
Added one-time job logging. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/021fcba6 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/021fcba6 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/021fcba6 Branch: refs/heads/9f45130_lock_mgr_fix Commit: 021fcba68c013414261f3e123d7ec6db8dc938fe Parents: 55271ce Author: Mike DunkerAuthored: Thu Apr 7 16:52:13 2016 -0700 Committer: Mike Dunker Committed: Thu Apr 7 16:52:13 2016 -0700 -- .../java/org/apache/usergrid/batch/job/OnlyOnceJob.java | 10 ++ 1 file changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/021fcba6/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java index afbddc3..6d927b9 100644 --- a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java +++ b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java @@ -27,6 +27,8 @@ import org.apache.usergrid.batch.JobExecution; import org.apache.usergrid.locking.Lock; import org.apache.usergrid.locking.LockManager; import org.apache.usergrid.persistence.EntityManagerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.annotation.PostConstruct; @@ -40,6 +42,8 @@ import javax.annotation.PostConstruct; @Component("OnlyOnceJob") public abstract class OnlyOnceJob implements Job { +private static final Logger logger = LoggerFactory.getLogger(OnlyOnceJob.class); + private LockManager lockManager; @Autowired @@ -58,6 +62,11 @@ public abstract class OnlyOnceJob implements Job { @PostConstruct public void initLockManager() throws Exception { this.lockManager = injector.getInstance(LockManager.class); +if (lockManager != null) { +logger.info("LockManager injection successful"); +} else { +logger.error("LockManager injection unsuccessful"); +} } /* @@ -68,6 +77,7 @@ public abstract class OnlyOnceJob implements Job { @Override public void execute( JobExecution execution ) throws Exception { +logger.info("Executing one-time job, LockManager is {}" lockManager == null ? "null" : "not null"); String lockId = execution.getJobId().toString(); Lock lock = lockManager.createLock( emf.getManagementAppId(), String.format( "/jobs/%s", lockId ) );
[1/2] usergrid git commit: Add OnlyOnceJob fix to 9f45130
Repository: usergrid Updated Branches: refs/heads/9f45130_lock_mgr_fix [created] 021fcba68 Add OnlyOnceJob fix to 9f45130 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/55271ce9 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/55271ce9 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/55271ce9 Branch: refs/heads/9f45130_lock_mgr_fix Commit: 55271ce9347bd4f35224a2c31494b23fa371ae67 Parents: 9f45130 Author: Mike DunkerAuthored: Thu Apr 7 15:33:43 2016 -0700 Committer: Mike Dunker Committed: Thu Apr 7 15:33:43 2016 -0700 -- .../java/org/apache/usergrid/batch/job/OnlyOnceJob.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/55271ce9/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java index f857d05..afbddc3 100644 --- a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java +++ b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java @@ -19,7 +19,7 @@ package org.apache.usergrid.batch.job; import java.util.concurrent.TimeUnit; -import org.elasticsearch.common.inject.Inject; +import com.google.inject.Injector; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.apache.usergrid.batch.Job; @@ -28,6 +28,8 @@ import org.apache.usergrid.locking.Lock; import org.apache.usergrid.locking.LockManager; import org.apache.usergrid.persistence.EntityManagerFactory; +import javax.annotation.PostConstruct; + /** * Simple abstract job class that performs additional locking to ensure that the job is only executing once. This can be @@ -38,12 +40,14 @@ import org.apache.usergrid.persistence.EntityManagerFactory; @Component("OnlyOnceJob") public abstract class OnlyOnceJob implements Job { -@Inject private LockManager lockManager; @Autowired private EntityManagerFactory emf; +@Autowired +private Injector injector; + /** * @@ -51,6 +55,10 @@ public abstract class OnlyOnceJob implements Job { public OnlyOnceJob() { } +@PostConstruct +public void initLockManager() throws Exception { +this.lockManager = injector.getInstance(LockManager.class); +} /* * (non-Javadoc)
usergrid git commit: fix typo
Repository: usergrid Updated Branches: refs/heads/9f45130_lock_mgr_fix 021fcba68 -> b85572875 fix typo Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/b8557287 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/b8557287 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/b8557287 Branch: refs/heads/9f45130_lock_mgr_fix Commit: b855728750023e795e4e737d698d1fd94d6b9282 Parents: 021fcba Author: Mike DunkerAuthored: Thu Apr 7 17:03:55 2016 -0700 Committer: Mike Dunker Committed: Thu Apr 7 17:03:55 2016 -0700 -- .../src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/b8557287/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java index 6d927b9..ac56c7b 100644 --- a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java +++ b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java @@ -77,7 +77,7 @@ public abstract class OnlyOnceJob implements Job { @Override public void execute( JobExecution execution ) throws Exception { -logger.info("Executing one-time job, LockManager is {}" lockManager == null ? "null" : "not null"); +logger.info("Executing one-time job, LockManager is {}", lockManager == null ? "null" : "not null"); String lockId = execution.getJobId().toString(); Lock lock = lockManager.createLock( emf.getManagementAppId(), String.format( "/jobs/%s", lockId ) );
usergrid git commit: USERGRID-1273: LockManager fix for OnlyOnceJob.
Repository: usergrid Updated Branches: refs/heads/release-2.1.1 9f451306e -> 4326b105e USERGRID-1273: LockManager fix for OnlyOnceJob. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/4326b105 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/4326b105 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/4326b105 Branch: refs/heads/release-2.1.1 Commit: 4326b105e6039b608969578e927e634e3f2eb620 Parents: 9f45130 Author: Mike DunkerAuthored: Wed Apr 6 20:12:58 2016 -0700 Committer: Mike Dunker Committed: Wed Apr 6 20:12:58 2016 -0700 -- .../org/apache/usergrid/batch/job/OnlyOnceJob.java | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/4326b105/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java index f857d05..82e856d 100644 --- a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java +++ b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java @@ -19,7 +19,7 @@ package org.apache.usergrid.batch.job; import java.util.concurrent.TimeUnit; -import org.elasticsearch.common.inject.Inject; +import com.google.inject.Injector; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.apache.usergrid.batch.Job; @@ -28,6 +28,8 @@ import org.apache.usergrid.locking.Lock; import org.apache.usergrid.locking.LockManager; import org.apache.usergrid.persistence.EntityManagerFactory; +import javax.annotation.PostConstruct; + /** * Simple abstract job class that performs additional locking to ensure that the job is only executing once. This can be @@ -38,12 +40,14 @@ import org.apache.usergrid.persistence.EntityManagerFactory; @Component("OnlyOnceJob") public abstract class OnlyOnceJob implements Job { -@Inject private LockManager lockManager; @Autowired private EntityManagerFactory emf; +@Autowired +private Injector injector; + /** * @@ -51,6 +55,11 @@ public abstract class OnlyOnceJob implements Job { public OnlyOnceJob() { } +@PostConstruct +public void initLockManager() throws Exception { +this.lockManager = injector.getInstance(LockManager.class); +} + /* * (non-Javadoc)
[1/4] usergrid git commit: Add OnlyOnceJob fix to 9f45130
Repository: usergrid Updated Branches: refs/heads/release-2.1.1 4326b105e -> e0a995243 Add OnlyOnceJob fix to 9f45130 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/55271ce9 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/55271ce9 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/55271ce9 Branch: refs/heads/release-2.1.1 Commit: 55271ce9347bd4f35224a2c31494b23fa371ae67 Parents: 9f45130 Author: Mike DunkerAuthored: Thu Apr 7 15:33:43 2016 -0700 Committer: Mike Dunker Committed: Thu Apr 7 15:33:43 2016 -0700 -- .../java/org/apache/usergrid/batch/job/OnlyOnceJob.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/55271ce9/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java index f857d05..afbddc3 100644 --- a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java +++ b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java @@ -19,7 +19,7 @@ package org.apache.usergrid.batch.job; import java.util.concurrent.TimeUnit; -import org.elasticsearch.common.inject.Inject; +import com.google.inject.Injector; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.apache.usergrid.batch.Job; @@ -28,6 +28,8 @@ import org.apache.usergrid.locking.Lock; import org.apache.usergrid.locking.LockManager; import org.apache.usergrid.persistence.EntityManagerFactory; +import javax.annotation.PostConstruct; + /** * Simple abstract job class that performs additional locking to ensure that the job is only executing once. This can be @@ -38,12 +40,14 @@ import org.apache.usergrid.persistence.EntityManagerFactory; @Component("OnlyOnceJob") public abstract class OnlyOnceJob implements Job { -@Inject private LockManager lockManager; @Autowired private EntityManagerFactory emf; +@Autowired +private Injector injector; + /** * @@ -51,6 +55,10 @@ public abstract class OnlyOnceJob implements Job { public OnlyOnceJob() { } +@PostConstruct +public void initLockManager() throws Exception { +this.lockManager = injector.getInstance(LockManager.class); +} /* * (non-Javadoc)
[3/4] usergrid git commit: fix typo
fix typo Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/b8557287 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/b8557287 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/b8557287 Branch: refs/heads/release-2.1.1 Commit: b855728750023e795e4e737d698d1fd94d6b9282 Parents: 021fcba Author: Mike DunkerAuthored: Thu Apr 7 17:03:55 2016 -0700 Committer: Mike Dunker Committed: Thu Apr 7 17:03:55 2016 -0700 -- .../src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/b8557287/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java index 6d927b9..ac56c7b 100644 --- a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java +++ b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java @@ -77,7 +77,7 @@ public abstract class OnlyOnceJob implements Job { @Override public void execute( JobExecution execution ) throws Exception { -logger.info("Executing one-time job, LockManager is {}" lockManager == null ? "null" : "not null"); +logger.info("Executing one-time job, LockManager is {}", lockManager == null ? "null" : "not null"); String lockId = execution.getJobId().toString(); Lock lock = lockManager.createLock( emf.getManagementAppId(), String.format( "/jobs/%s", lockId ) );
usergrid git commit: Caching changes. Test fixes needed.
Repository: usergrid Updated Branches: refs/heads/caching [created] f339fecb5 Caching changes. Test fixes needed. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f339fecb Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f339fecb Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f339fecb Branch: refs/heads/caching Commit: f339fecb5455da89f9d3f379297de9cfe88a5d6d Parents: 74de4bc Author: Mike DunkerAuthored: Sun Apr 10 19:46:41 2016 -0700 Committer: Mike Dunker Committed: Sun Apr 10 19:46:41 2016 -0700 -- .../org/apache/usergrid/rest/RootResource.java | 16 +- .../organizations/OrganizationsResource.java| 2 +- .../applications/ApplicationsResource.java | 2 +- .../organizations/OrganizationResource.java | 9 +- .../OAuth2AccessTokenSecurityFilter.java| 2 +- .../usergrid/management/ManagementService.java | 2 + .../cassandra/ManagementServiceImpl.java| 290 --- .../management/export/ExportServiceImpl.java| 2 +- .../apache/usergrid/security/shiro/Realm.java | 11 + 9 files changed, 220 insertions(+), 116 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f339fecb/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java index 75ed567..0147295 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java @@ -324,13 +324,17 @@ public class RootResource extends AbstractContextResource implements MetricProce throws Exception { -UUID applicationId = UUID.fromString( applicationIdStr ); -UUID organizationId = UUID.fromString( organizationIdStr ); -if ( applicationId == null || organizationId == null ) { -return null; +UUID applicationId; +UUID organizationId; +try { +applicationId = UUID.fromString(applicationIdStr); +organizationId = UUID.fromString(organizationIdStr); +UUID appOrganizationId = management.getOrganizationIdForApplication(applicationId); +if ( organizationId != appOrganizationId ) { +return null; +} } -BiMap apps = management.getApplicationsForOrganization( organizationId ); -if ( apps.get( applicationId ) == null ) { +catch (Exception e) { return null; } return appResourceFor( applicationId ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/f339fecb/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java index 0348c01..c7db5df 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java @@ -86,7 +86,7 @@ public class OrganizationsResource extends AbstractContextResource { Map jsonOrg = new HashMap<>(); -Map apps = management.getApplicationsForOrganization(org.getUuid()).inverse(); +Map apps = management.getApplicationsForOrganization(org.getUuid(), true).inverse(); jsonOrg.put("name", org.getName()); jsonOrg.put("uuid", org.getUuid()); http://git-wip-us.apache.org/repos/asf/usergrid/blob/f339fecb/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java index 1b999ec..6b442eb 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java @@ -80,7 +80,7 @@ public class ApplicationsResource extends
usergrid git commit: Add job id to log
Repository: usergrid Updated Branches: refs/heads/release-2.1.1 e0a995243 -> 29d7660ee Add job id to log Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/29d7660e Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/29d7660e Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/29d7660e Branch: refs/heads/release-2.1.1 Commit: 29d7660eebdf471fe63c78c10b3c725bbbf40109 Parents: e0a9952 Author: Mike DunkerAuthored: Fri Apr 8 10:58:20 2016 -0700 Committer: Mike Dunker Committed: Fri Apr 8 10:58:20 2016 -0700 -- .../src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/29d7660e/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java index 9b1fb05..83cac06 100644 --- a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java +++ b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java @@ -77,8 +77,8 @@ public abstract class OnlyOnceJob implements Job { @Override public void execute( JobExecution execution ) throws Exception { -logger.info("Executing one-time job, LockManager is {}", lockManager == null ? "null" : "not null"); String lockId = execution.getJobId().toString(); +logger.info("Executing one-time job {}, LockManager is {}", lockId, lockManager == null ? "null" : "not null"); Lock lock = lockManager.createLock( emf.getManagementAppId(), String.format( "/jobs/%s", lockId ) );