refine refresh sleep
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/e6390ad9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/e6390ad9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/e6390ad9 Branch: refs/heads/USERGRID-593 Commit: e6390ad9ccab4ef693dd2187a306e18d98b7cd01 Parents: a246e1b Author: Shawn Feldman <[email protected]> Authored: Tue Apr 28 14:48:19 2015 -0600 Committer: Shawn Feldman <[email protected]> Committed: Tue Apr 28 14:48:19 2015 -0600 ---------------------------------------------------------------------- .../persistence/core/rx/RxTaskSchedulerImpl.java | 2 +- .../apache/usergrid/persistence/index/IndexFig.java | 4 ++-- .../index/impl/IndexRefreshCommandImpl.java | 13 ++++++++----- 3 files changed, 11 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e6390ad9/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/RxTaskSchedulerImpl.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/RxTaskSchedulerImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/RxTaskSchedulerImpl.java index f2950f4..dce46cb 100644 --- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/RxTaskSchedulerImpl.java +++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/RxTaskSchedulerImpl.java @@ -83,7 +83,7 @@ public class RxTaskSchedulerImpl implements RxTaskScheduler { public MaxSizeThreadPool( final BlockingQueue<Runnable> queue, final int maxPoolSize ) { - super( 1, maxPoolSize, 30, TimeUnit.SECONDS, queue, new CountingThreadFactory( ), new RejectedHandler() ); + super( maxPoolSize, maxPoolSize, 30, TimeUnit.SECONDS, queue, new CountingThreadFactory( ), new RejectedHandler() ); } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e6390ad9/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java index 1ee3580..505b94a 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java @@ -187,11 +187,11 @@ public interface IndexFig extends GuicyFig { String getClientType(); @Key("elasticsearch.refresh_search_max") - @Default("10") + @Default("40") int maxRefreshSearches(); @Key("elasticsearch.refresh_sleep_ms") - @Default("200") + @Default("250") long refreshSleep(); @Default( "5000" ) http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e6390ad9/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 5aa1f4e..b6ca870 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 @@ -125,19 +125,22 @@ public class IndexRefreshCommandImpl implements IndexRefreshCommand { //start our processing immediately final Observable<IndexRefreshCommandInfo> future = Async.toAsync( () -> { - IndexRefreshCommandInfo info; try { + boolean found = false; for ( int i = 0; i < indexFig.maxRefreshSearches(); i++ ) { final SearchResponse response = builder.execute().get(); - if ( response.getHits().totalHits() > 0 ) { - return new IndexRefreshCommandInfo(true,System.currentTimeMillis() - start); + if (response.getHits().totalHits() > 0) { + found = true; + break; } - Thread.sleep( indexFig.refreshSleep() ); + if (i % 4 == 0) { + Thread.sleep(indexFig.refreshSleep()); + } } - return new IndexRefreshCommandInfo(false,System.currentTimeMillis() - start); + return new IndexRefreshCommandInfo(found,System.currentTimeMillis() - start); } catch ( Exception ee ) { logger.error( "Failed during refresh search for " + uuid, ee );
