autumnust opened a new pull request #2907: [GOBBLIN-1068]Clean up cyclic logic 
in task cancellation
URL: https://github.com/apache/incubator-gobblin/pull/2907
 
 
   Dear Gobblin maintainers,
   
   Please accept this PR. I understand that it will not be reviewed until I 
have checked off all the steps below!
   
   
   ### JIRA
   - https://issues.apache.org/jira/browse/GOBBLIN-1068
   
   
   ### Description
   - [ ] Here are some details about my PR, including screenshots (if 
applicable):
   The original `cancel` method in `Task.java` has several problems: 
   --`Task` is an implementation of `Runable` while itself contains a reference 
of `Future<?>` which is the handler of the `Runnable` after being submitted. 
The life-cycle of the `Runnable` shouldn't be controlled by itself as it looks 
like right now, but should be the `TaskExecutor` or something externally. 
   -- Because of the existence of a `Future<?>`  object within Task, there's a 
bug in the implementation: The extension of `Task`, which is `TaskIFaceWrapper` 
doesn't have the constructor to initialize this variable, while one of the 
public method(`completeShutdown` within `cancel`) is exposing the accessing of 
this variable. This is a bug and the original fix in this 
PR:https://github.com/apache/incubator-gobblin/pull/2157/files is doing wrong 
thing to copy the base class's method and remove the calling of 
`completeShutdown`. In fact, the future object doesn't have to be existed in 
the first place. 
   -- Fixing some other typos, and unit test problems as well. 
   
   ### Tests
   - [ ] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   
   ### Commits
   - [ ] My commits all reference JIRA issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
       1. Subject is separated from body by a blank line
       2. Subject is limited to 50 characters
       3. Subject does not end with a period
       4. Subject uses the imperative mood ("add", not "adding")
       5. Body wraps at 72 characters
       6. Body explains "what" and "why", not "how"
   
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to