[ https://issues.apache.org/jira/browse/SOLR-10249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15940794#comment-15940794 ]
ASF GitHub Bot commented on SOLR-10249: --------------------------------------- Github user tflobbe commented on a diff in the pull request: https://github.com/apache/lucene-solr/pull/169#discussion_r107959546 --- Diff: solr/core/src/java/org/apache/solr/handler/IndexFetcher.java --- @@ -161,6 +163,52 @@ private Integer soTimeout; + private static final String INTERRUPT_RESPONSE_MESSAGE = "Interrupted while waiting for modify lock"; + + public static class IndexFetchResult { + private final String message; + private final boolean successful; + private final Throwable exception; + + public static final String FAILED_BY_INTERRUPT_MESSAGE = "Fetching index failed by interrupt"; + public static final String FAILED_BY_EXCEPTION_MESSAGE = "Fetching index failed by exception"; + + /** pre-defined results */ + public static final IndexFetchResult ALREADY_IN_SYNC = new IndexFetchResult("Local index commit is already in sync with peer", true, null); + public static final IndexFetchResult INDEX_FETCH_FAILURE = new IndexFetchResult("Fetching lastest index is failed", false, null); + public static final IndexFetchResult INDEX_FETCH_SUCCESS = new IndexFetchResult("Fetching latest index is successful", true, null); + public static final IndexFetchResult LOCK_OBTAIN_FAILED = new IndexFetchResult("Obtaining SnapPuller lock failed", false, null); + public static final IndexFetchResult MASTER_VERSION_ZERO = new IndexFetchResult("Index in peer is empty and never committed yet", true, null); + public static final IndexFetchResult NO_INDEX_COMMIT_EXIST = new IndexFetchResult("No IndexCommit in local index", false, null); + public static final IndexFetchResult PEER_INDEX_COMMIT_DELETED = new IndexFetchResult("No files to download because IndexCommit in peer was deleted", false, null); + public static final IndexFetchResult LOCAL_ACTIVITY_DURING_REPLICATION = new IndexFetchResult("Local index modification during replication", false, null); + public static final IndexFetchResult CORE_NODE_IS_NOT_LEADER = new IndexFetchResult("Core Name Name Equals Leader Replica Name", false, null); --- End diff -- Yes, those sound good. I personally like **EXPECTING_NON_LEADER** better > Allow index fetching to return a detailed result instead of a true/false value > ------------------------------------------------------------------------------ > > Key: SOLR-10249 > URL: https://issues.apache.org/jira/browse/SOLR-10249 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: replication (java) > Affects Versions: 6.4.1 > Environment: Any > Reporter: Jeff Miller > Priority: Trivial > Labels: easyfix, newbie > Fix For: 6.5 > > Attachments: SOLR_10249.patch > > Original Estimate: 3h > Remaining Estimate: 3h > > This gives us the ability to see into why a replication might of failed and > act on it if we need to. We use this enhancement for logging conditions so > we can quantify what is happening with replication, get success rates, etc. > The idea is to create a public static class IndexFetchResult as an inner > class to IndexFetcher that has strings that hold statuses that could occur > while fetching an index. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org