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

ASF GitHub Bot commented on TWILL-136:
--------------------------------------

GitHub user hsaputra opened a pull request:

    https://github.com/apache/incubator-twill/pull/42

    (TWILL-136) Override equals and hashCode for JvmOptions.DebugOptions to 
test equality

    The current code for JvmOptions.DebugOptions does not have equals and 
hashCode overriden for equality test.
    
    This would cause fail comparison for DebugOptions.NO_DEBUG when being used 
in YarnTwillPreparer:
    
    ```
    final class YarnTwillPreparer implements TwillPreparer {
    
    ...
    
      @Override
      public TwillPreparer enableDebugging(boolean doSuspend, String... 
runnables) {
        this.debugOptions = new JvmOptions.DebugOptions(true, doSuspend, 
ImmutableSet.copyOf(runnables));
        return this;
      }
    
    ....
      private void saveJvmOptions(Map<String, LocalFile> localFiles) throws 
IOException {
        if ((extraOptions == null || extraOptions.isEmpty()) &&
          JvmOptions.DebugOptions.NO_DEBUG.equals(this.debugOptions)) {
          // If no vm options, no need to localize the file.
          return;
        }
        ...
      }
    ```
    ...
    }

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/hsaputra/incubator-twill 
TWILL-136_override_equals_debugoptions

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-twill/pull/42.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #42
    
----
commit 737570054596d22f4460f1807ac41e0454305571
Author: hsaputra <[email protected]>
Date:   2015-06-17T22:08:41Z

    TWILL-136 Override equals and hashCode for JvmOptions.DebugOptions to test 
equality
    
    The current code for JvmOptions.DebugOptions does not have equals and 
hashCode overriden for equality test.
    
    This would cause fail comparison for DebugOptions.NO_DEBUG when being used 
in YarnTwillPreparer:
    
    final class YarnTwillPreparer implements TwillPreparer {
    
    ...
    
      @Override
      public TwillPreparer enableDebugging(boolean doSuspend, String... 
runnables) {
        this.debugOptions = new JvmOptions.DebugOptions(true, doSuspend, 
ImmutableSet.copyOf(runnables));
        return this;
      }
    
    ....
      private void saveJvmOptions(Map<String, LocalFile> localFiles) throws 
IOException {
        if ((extraOptions == null || extraOptions.isEmpty()) &&
          JvmOptions.DebugOptions.NO_DEBUG.equals(this.debugOptions)) {
          // If no vm options, no need to localize the file.
          return;
        }
        ...
      }
    
    ...
    }

----


> Override equals and hashCode for JvmOptions.DebugOptions to test equality
> -------------------------------------------------------------------------
>
>                 Key: TWILL-136
>                 URL: https://issues.apache.org/jira/browse/TWILL-136
>             Project: Apache Twill
>          Issue Type: Bug
>          Components: core
>            Reporter: Henry Saputra
>            Assignee: Henry Saputra
>
> The current code for JvmOptions.DebugOptions does not have equals and 
> hashCode overriden for equality test.
> This would cause fail comparison for DebugOptions.NO_DEBUG when being used in 
> YarnTwillPreparer:
> {code}
> final class YarnTwillPreparer implements TwillPreparer {
> ...
>   @Override
>   public TwillPreparer enableDebugging(boolean doSuspend, String... 
> runnables) {
>     this.debugOptions = new JvmOptions.DebugOptions(true, doSuspend, 
> ImmutableSet.copyOf(runnables));
>     return this;
>   }
> ....
>   private void saveJvmOptions(Map<String, LocalFile> localFiles) throws 
> IOException {
>     if ((extraOptions == null || extraOptions.isEmpty()) &&
>       JvmOptions.DebugOptions.NO_DEBUG.equals(this.debugOptions)) {
>       // If no vm options, no need to localize the file.
>       return;
>     }
>     ...
>   }
> ...
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to