distributedlog-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DL-124) Use Java8 Future rather than twitter Future
Date Sat, 03 Jun 2017 11:25:04 GMT

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

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_r119984925
  
    --- Diff: distributedlog-core/src/main/java/org/apache/distributedlog/util/Utils.java
---
    @@ -445,35 +440,35 @@ public void processResult(int rc, String path, Object ctx) {
          * false if the node doesn't exist, otherwise future will throw exception
          *
          */
    -    public static Future<Boolean> zkDeleteIfNotExist(ZooKeeperClient zkc, String
path, ZkVersion version) {
    +    public static CompletableFuture<Boolean> zkDeleteIfNotExist(ZooKeeperClient
zkc, String path, ZkVersion version) {
             ZooKeeper zk;
             try {
                 zk = zkc.get();
             } catch (ZooKeeperClient.ZooKeeperConnectionException e) {
    -            return Future.exception(FutureUtils.zkException(e, path));
    +            return FutureUtils.exception(zkException(e, path));
             } catch (InterruptedException e) {
    -            return Future.exception(FutureUtils.zkException(e, path));
    +            return FutureUtils.exception(zkException(e, path));
             }
    -        final Promise<Boolean> promise = new Promise<Boolean>();
    +        final CompletableFuture<Boolean> promise = new CompletableFuture<Boolean>();
             zk.delete(path, version.getZnodeVersion(), new AsyncCallback.VoidCallback() {
                 @Override
                 public void processResult(int rc, String path, Object ctx) {
                     if (KeeperException.Code.OK.intValue() == rc ) {
    -                    promise.setValue(true);
    +                    promise.complete(true);
                     } else if (KeeperException.Code.NONODE.intValue() == rc) {
    -                    promise.setValue(false);
    +                    promise.complete(false);
                     } else {
    -                    promise.setException(KeeperException.create(KeeperException.Code.get(rc)));
    +                    promise.completeExceptionally(KeeperException.create(KeeperException.Code.get(rc)));
                     }
                 }
             }, null);
             return promise;
         }
     
    -    public static Future<Void> asyncClose(@Nullable AsyncCloseable closeable,
    +    public static CompletableFuture<Void> asyncClose(@Nullable AsyncCloseable closeable,
                                               boolean swallowIOException) {
    --- End diff --
    
    Please also do the code alignment change here, and line 573, 586.


> 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)

Mime
View raw message