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

ASF GitHub Bot commented on DL-124:
-----------------------------------

Github user jiazhai commented on a diff in the pull request:

    
https://github.com/apache/incubator-distributedlog/pull/133#discussion_r119984743
  
    --- Diff: 
distributedlog-core/src/main/java/org/apache/distributedlog/impl/ZKLogSegmentMetadataStore.java
 ---
    @@ -350,40 +349,40 @@ public void process(WatchedEvent event) {
         }
     
         @Override
    -    public Future<LogSegmentMetadata> getLogSegment(String logSegmentPath) 
{
    +    public CompletableFuture<LogSegmentMetadata> getLogSegment(String 
logSegmentPath) {
             return LogSegmentMetadata.read(zkc, logSegmentPath, 
skipMinVersionCheck);
         }
     
    -    Future<Versioned<List<String>>> zkGetLogSegmentNames(String 
logSegmentsPath, Watcher watcher) {
    -        Promise<Versioned<List<String>>> result = new 
Promise<Versioned<List<String>>>();
    +    CompletableFuture<Versioned<List<String>>> zkGetLogSegmentNames(String 
logSegmentsPath, Watcher watcher) {
    +        CompletableFuture<Versioned<List<String>>> result = new 
CompletableFuture<Versioned<List<String>>>();
             try {
                 zkc.get().getChildren(logSegmentsPath, watcher, this, result);
             } catch (ZooKeeperClient.ZooKeeperConnectionException e) {
    -            result.setException(FutureUtils.zkException(e, 
logSegmentsPath));
    +            result.completeExceptionally(Utils.zkException(e, 
logSegmentsPath));
             } catch (InterruptedException e) {
    -            result.setException(FutureUtils.zkException(e, 
logSegmentsPath));
    +            result.completeExceptionally(Utils.zkException(e, 
logSegmentsPath));
             }
             return result;
         }
     
         @Override
         @SuppressWarnings("unchecked")
         public void processResult(int rc, String path, Object ctx, 
List<String> children, Stat stat) {
    -        Promise<Versioned<List<String>>> result = 
((Promise<Versioned<List<String>>>) ctx);
    +        CompletableFuture<Versioned<List<String>>> result = 
((CompletableFuture<Versioned<List<String>>>) ctx);
             if (KeeperException.Code.OK.intValue() == rc) {
                 /** cversion: the number of changes to the children of this 
znode **/
                 ZkVersion zkVersion = new ZkVersion(stat.getCversion());
    -            result.setValue(new Versioned(children, zkVersion));
    +            result.complete(new Versioned(children, zkVersion));
             } else if (KeeperException.Code.NONODE.intValue() == rc) {
    -            result.setException(new LogNotFoundException("Log " + path + " 
not found"));
    +            result.completeExceptionally(new LogNotFoundException("Log " + 
path + " not found"));
             } else {
    -            result.setException(new ZKException("Failed to get log 
segments from " + path,
    +            result.completeExceptionally(new ZKException("Failed to get 
log segments from " + path,
                         KeeperException.Code.get(rc)));
             }
         }
     
         @Override
    -    public Future<Versioned<List<String>>> getLogSegmentNames(String 
logSegmentsPath,
    +    public CompletableFuture<Versioned<List<String>>> 
getLogSegmentNames(String logSegmentsPath,
                                                                   
LogSegmentNamesListener listener) {
    --- End diff --
    
    Please also do the code alignment change here.


> Use Java8 Future rather than twitter Future
> -------------------------------------------
>
>                 Key: DL-124
>                 URL: https://issues.apache.org/jira/browse/DL-124
>             Project: DistributedLog
>          Issue Type: Bug
>    Affects Versions: 0.4.0
>            Reporter: Gerrit Sundaram
>            Assignee: Sijie Guo
>              Labels: help-wanted
>             Fix For: 0.5.0
>
>
> Since it is written in java, it would be good to leverage java8 future rather 
> than introducing dependencies on scala.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to