test fixes
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/f55e3006 Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/f55e3006 Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/f55e3006 Branch: refs/heads/USERGRID-614 Commit: f55e3006e3e123b3a7352e225110923bc2cb43bb Parents: fe6ca31 Author: Shawn Feldman <[email protected]> Authored: Thu May 7 10:18:14 2015 -0600 Committer: Shawn Feldman <[email protected]> Committed: Thu May 7 10:18:14 2015 -0600 ---------------------------------------------------------------------- .../corepersistence/StaleIndexCleanupTest.java | 19 +++++----- .../index/AsyncIndexServiceTest.java | 1 - .../usergrid/persistence/CollectionIT.java | 19 +++++----- .../index/impl/IndexRefreshCommandImpl.java | 38 ++++++++++++-------- 4 files changed, 44 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f55e3006/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java ---------------------------------------------------------------------- diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java index 8475f4a..b4d4547 100644 --- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java +++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java @@ -135,18 +135,19 @@ public class StaleIndexCleanupTest extends AbstractCoreIT { @Test public void testUpdateVersionMaxFirst() throws Exception { + String entityName =UUID.randomUUID()+ "thing"; // turn off post processing stuff that cleans up stale entities System.setProperty( EVENTS_DISABLED, "true" ); final EntityManager em = app.getEntityManager(); - Entity thing = em.create( "thing", new HashMap<String, Object>() {{ + Entity thing = em.create( entityName, new HashMap<String, Object>() {{ put( "ordinal", 0 ); }} ); - + UUID originalVersion = getCpEntity( thing ).getVersion(); app.refreshIndex(); - assertEquals( 1, queryCollectionCp( "things", "thing", "select *" ).size() ); + assertEquals( 1, queryCollectionCp( entityName+"s", entityName, "select *" ).size() ); em.updateProperties( thing, new HashMap<String, Object>() {{ put( "ordinal", 1 ); @@ -158,7 +159,7 @@ public class StaleIndexCleanupTest extends AbstractCoreIT { CandidateResults candidateResults = null; - candidateResults = queryCollectionCp("things", "thing", "select * order by ordinal desc"); + candidateResults = queryCollectionCp(entityName+"s", entityName, "select * order by ordinal desc"); if(candidateResults.size()!=2){ Thread.sleep(200); } @@ -169,18 +170,20 @@ public class StaleIndexCleanupTest extends AbstractCoreIT { //now run enable events and ensure we clean up System.setProperty(EVENTS_DISABLED, "false"); - Results results = queryCollectionEm("things", "select * order by ordinal desc"); + Results results = queryCollectionEm(entityName+"s", "select * order by ordinal desc"); - assertEquals( 1, results.size() ); - assertEquals(1, results.getEntities().get( 0 ).getProperty( "ordinal" )); + assertEquals( 1, results.size()); + assertEquals(1, results.getEntities().get(0).getProperty("ordinal")); app.refreshIndex(); //ensure it's actually gone - candidateResults = queryCollectionCp( "things", "thing", "select * order by ordinal desc" ); + candidateResults = queryCollectionCp( entityName+"s", entityName, "select * order by ordinal desc" ); assertEquals(1, candidateResults.size()); + //TODO: will always fail because we don't cleanup + assertEquals(newVersion, candidateResults.get(0).getVersion()); } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f55e3006/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java ---------------------------------------------------------------------- diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java index 29f3783..048b304 100644 --- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java +++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java @@ -103,7 +103,6 @@ public abstract class AsyncIndexServiceTest { @Test( timeout = 60000 ) public void testMessageIndexing() throws InterruptedException { - ApplicationScope applicationScope = new ApplicationScopeImpl( new SimpleId( UUID.randomUUID(), "application" ) ); http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f55e3006/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java ---------------------------------------------------------------------- diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java b/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java index 0315055..e3149d6 100644 --- a/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java +++ b/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java @@ -330,38 +330,39 @@ public class CollectionIT extends AbstractCoreIT { @Test public void testGroups() throws Exception { - LOG.debug( "testGroups" ); + LOG.debug("testGroups"); EntityManager em = app.getEntityManager(); - assertNotNull( em ); + assertNotNull(em); Map<String, Object> properties = new LinkedHashMap<String, Object>(); properties.put( "username", "edanuff" ); - properties.put( "email", "[email protected]" ); + properties.put("email", "[email protected]"); Entity user1 = em.create( "user", properties ); assertNotNull( user1 ); properties = new LinkedHashMap<String, Object>(); - properties.put( "username", "djacobs" ); - properties.put( "email", "[email protected]" ); + properties.put("username", "djacobs"); + properties.put("email", "[email protected]"); Entity user2 = em.create( "user", properties ); assertNotNull( user2 ); properties = new LinkedHashMap<String, Object>(); - properties.put( "path", "group1" ); + properties.put("path", "group1"); Entity group = em.create( "group", properties ); - assertNotNull( group ); + assertNotNull(group); em.addToCollection( group, "users", user1 ); em.addToCollection( group, "users", user2 ); properties = new LinkedHashMap<String, Object>(); - properties.put( "nickname", "ed" ); - em.updateProperties( user1, properties ); + properties.put("nickname", "ed"); + em.updateProperties(user1, properties); app.refreshIndex(); + Thread.sleep(1000); final Query query = Query.fromQL( "nickname = 'ed'" ); http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f55e3006/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java index bb42d6a..e7ae241 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java @@ -121,23 +121,31 @@ public class IndexRefreshCommandImpl implements IndexRefreshCommand { * We want to search once we've added our record, then refreshed */ final Observable<IndexRefreshCommandInfo> searchObservable = - Observable.range( 0, indexFig.maxRefreshSearches() ).map( i -> { + Observable.create(sub -> { try { - - final SearchRequestBuilder builder = esProvider.getClient().prepareSearch( alias.getReadAlias() ) - .setTypes( IndexingUtils.ES_ENTITY_TYPE ) - .setPostFilter( FilterBuilders - .termFilter( IndexingUtils.ENTITY_ID_FIELDNAME, - entityId ) ); - - return new IndexRefreshCommandInfo( builder.execute().get().getHits().totalHits() > 0, - System.currentTimeMillis() - start ); - } - catch ( Exception ee ) { - logger.error( "Failed during refresh search for " + uuid, ee ); - throw new RuntimeException("Failed during refresh search for " + uuid, ee ); + IndexRefreshCommandInfo info = null; + for(int i = 0; i<indexFig.maxRefreshSearches();i++) { + final SearchRequestBuilder builder = esProvider.getClient().prepareSearch(alias.getReadAlias()) + .setTypes(IndexingUtils.ES_ENTITY_TYPE) + .setPostFilter(FilterBuilders + .termFilter(IndexingUtils.ENTITY_ID_FIELDNAME, + entityId)); + + info = new IndexRefreshCommandInfo(builder.execute().get().getHits().totalHits() > 0, + System.currentTimeMillis() - start); + if(info.hasFinished()){ + break; + }else { + Thread.sleep(50); + } + } + sub.onNext(info); + sub.onCompleted(); + } catch (Exception ee) { + logger.error("Failed during refresh search for " + uuid, ee); + throw new RuntimeException("Failed during refresh search for " + uuid, ee); } - } ).skipWhile( info -> !info.hasFinished() ); + }); //chain it all together
