dpv91788 opened a new issue, #7947:
URL: https://github.com/apache/storm/issues/7947

   In the IWorkerHook there is a default method
   ```
   default void start(Map<String, Object> topoConf, WorkerUserContext context) {
           start(topoConf, context);
   }
   ```
   That ends up calling its self. I think the intention was to have it default 
to calling the deprecated method
   ```
   default void start(Map<String, Object> topoConf, WorkerTopologyContext 
context) {
           // NOOP
   }
   ```
   In order for that to work I beleive the first default method needs to be 
changed to:
   ```
   default void start(Map<String, Object> topoConf, WorkerUserContext context) {
           start(topoConf, (WorkerTopologyContext)context);
   }
   ```
   
   If you write a test for example like
   ```
        @Test
        void testWorkerHook(@Mock WorkerUserContext workerUContext) {
                IWorkerHook wHook = new IWorkerHook() {                 
                        private static final long serialVersionUID = 
3766266493839497755L;
   
                        @Override
                        public void shutdown() {}
                };
                
                wHook.start(Collections.emptyMap(), workerUContext);
        }
   ```
   
   It will result in a java.lang.StackOverflowError


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

To unsubscribe, e-mail: dev-unsubscr...@storm.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to