ijioio opened a new pull request #595:
URL: https://github.com/apache/solr/pull/595


   https://issues.apache.org/jira/browse/SOLR-15982
   
   # Description
   
   Adding new field `endTime` to collection backup response (response is 
actually an aggregated result of responses from multiple nodes).
   
   # Solution
   
   After backup finished (regardless is it sync or async) it will write 
`backup.properties` file to repository. Actually it writes the content of the 
`org.apache.solr.core.backup.BackupProperties`. Before writing backup 
properties data the value `endTime` is filled at 
`org.apache.solr.core.backup.BackupProperties.store(Writer)`:
   
   ```java
       public void store(Writer propsWriter) throws IOException {
           properties.put("indexSizeMB", String.valueOf(indexSizeMB));
           properties.put("indexFileCount", String.valueOf(indexFileCount));
           properties.put(BackupManager.END_TIME_PROP, 
Instant.now().toString());
           properties.store(propsWriter, "Backup properties file");
       }
   ```
   
   Exactly after writing backup properties file an additional field `endTime` 
will be appended to the response within 
`org.apache.solr.cloud.api.collections.BackupCmd.call(ClusterState, 
ZkNodeProps, NamedList<Object>)` call:
   
   ```java
     public void call(ClusterState state, ZkNodeProps message, 
NamedList<Object> results) throws Exception {
       ...
       try (BackupRepository repository = cc.newBackupRepository(repo)) {
         ...
         backupMgr.writeBackupProperties(backupProperties);
   
         if(backupProperties != null) {
           NamedList<Object> response = (NamedList<Object>) 
results.get("response");
           response.add("endTime", backupProperties.getEndTime());
         }
         ...
       }
     }
   ```
   
   # Tests
   
   None
   
   # Checklist
   
   Please review the following and check all that apply:
   
   - [x] I have reviewed the guidelines for [How to 
Contribute](https://wiki.apache.org/solr/HowToContribute) and my code conforms 
to the standards described there to the best of my ability.
   - [x] I have created a Jira issue and added the issue ID to my pull request 
title.
   - [x] I have given Solr maintainers 
[access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
 to contribute to my PR branch. (optional but recommended)
   - [x] I have developed this patch against the `main` branch.
   - [ ] I have run `./gradlew check`.
   - [ ] I have added tests for my changes.
   - [ ] I have added documentation for the [Reference 
Guide](https://github.com/apache/solr/tree/main/solr/solr-ref-guide)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to