Add additional logging and rx error handling.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/9efa3b4c Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/9efa3b4c Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/9efa3b4c Branch: refs/heads/usergrid-1268-akka-211 Commit: 9efa3b4c6ce490d39361582c820aa43975c4ebc2 Parents: f4599fb Author: Michael Russo <[email protected]> Authored: Mon Jun 20 12:59:15 2016 -0700 Committer: Michael Russo <[email protected]> Committed: Mon Jun 20 12:59:15 2016 -0700 ---------------------------------------------------------------------- .../usergrid/corepersistence/CpEntityManager.java | 17 +++++++++++++---- .../impl/EntityCollectionManagerImpl.java | 14 ++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/9efa3b4c/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java ---------------------------------------------------------------------- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java index a2813ef..82c4c87 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java @@ -878,11 +878,15 @@ public class CpEntityManager implements EntityManager { return null; } - FieldSet fieldSet = fieldSetObservable.toBlocking().last(); + FieldSet fieldSet = fieldSetObservable + .doOnError( t -> + logger.error("Unable to retrieve unique values due to: {}", t.getMessage()) + ) + .toBlocking().last(); repairedEntityGet.stop(); - if(fieldSet.isEmpty()) { + if(fieldSet == null || fieldSet.isEmpty()) { return null; } @@ -908,8 +912,13 @@ public class CpEntityManager implements EntityManager { return null; } - FieldSet fieldSet = fieldSetObservable.toBlocking().last(); - if(fieldSet.isEmpty()) { + FieldSet fieldSet = fieldSetObservable + .doOnError( t -> + logger.error("Unable to retrieve unique values due to: {}", t.getMessage()) + ) + .toBlocking().last(); + + if(fieldSet == null || fieldSet.isEmpty()) { return null; } http://git-wip-us.apache.org/repos/asf/usergrid/blob/9efa3b4c/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java index cc72e73..77e452f 100644 --- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java +++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java @@ -338,6 +338,20 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager { //Short circuit if we don't have any uniqueValues from the given fields. if ( !set.iterator().hasNext() ) { + + fields1.forEach( field -> { + + if(logger.isTraceEnabled()){ + logger.trace("Requested field [{}={}] not found in unique value table", + field.getName(), field.getValue().toString()); + } + + }); + + if(logger.isTraceEnabled()) { + logger.trace("No unique values found for requested fields, returning empty FieldSet"); + } + return new MutableFieldSet( 0 ); }
