[ 
https://issues.apache.org/jira/browse/SOLR-10249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15940753#comment-15940753
 ] 

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_r107954150
  
    --- 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 --
    
    This message (and variable name) seems wrong. Looking at the case where 
this is thrown, it seems like this would happen if "OnlyLeaderIndexes" feature 
is being used, and this replica is the current leader. Message should be 
something like"Replicating from leader but I'm the shard leader"


> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to