You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2019/03/28 21:06:23 UTC

[GitHub] [pulsar] srkukarni opened a new pull request #3932: Cleanup logic in JavaInstanceRunnable close method

srkukarni opened a new pull request #3932: Cleanup logic in JavaInstanceRunnable close method
URL: https://github.com/apache/pulsar/pull/3932
 
 
   ### Motivation
   For functions running in Threadruntime, javainstanceRunnable is potentially called at two places. Once inside the run loop of javainstancerunnable itself in the finally clause, and one outside in the threadruntime. The logic exists to make sure that its called atleast once. However often it ends up being called in two places. This causes some potential errors while doing source/sink closes since their classloading is unloaded in close, thus the second close potentially causes a classNotFoundError.
   This pr modifies the logic of close to put back all variables to null, as well as adding a sync clause to make sure that these two calls don't step on each other.
   ### Modifications
   
   *Describe the modifications you've done.*
   
   ### Verifying this change
   
   - [ ] Make sure that the change passes the CI checks.
   
   *(Please pick either of the following options)*
   
   This change is a trivial rework / code cleanup without any test coverage.
   
   *(or)*
   
   This change is already covered by existing tests, such as *(please describe tests)*.
   
   *(or)*
   
   This change added tests and can be verified as follows:
   
   *(example:)*
     - *Added integration tests for end-to-end deployment with large payloads (10MB)*
     - *Extended integration test for recovery after broker failure*
   
   ### Does this pull request potentially affect one of the following parts:
   
   *If `yes` was chosen, please highlight the changes*
   
     - Dependencies (does it add or upgrade a dependency): (yes / no)
     - The public API: (yes / no)
     - The schema: (yes / no / don't know)
     - The default values of configurations: (yes / no)
     - The wire protocol: (yes / no)
     - The rest endpoints: (yes / no)
     - The admin cli options: (yes / no)
     - Anything that affects deployment: (yes / no / don't know)
   
   ### Documentation
   
     - Does this pull request introduce a new feature? (yes / no)
     - If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
     - If a feature is not applicable for documentation, explain why?
     - If a feature is not documented yet in this PR, please create a followup issue for adding the documentation
   

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services