virajjasani edited a comment on pull request #3264:
URL: https://github.com/apache/hbase/pull/3264#issuecomment-843969438


   > > meanwhile, does this apply to other branches?
   > 
   > @bharathv This patch doesn't apply to other branches. master branch 
doesn't have appendExecutor at all. I am still trying to understand how 
appends/sync works in master branch.
   
   That's what I was trying to bring up in one of our internal discussion. 
After bumping Disruptor version on branch-1, our current 
   Disruptor c'tor is deprecated and the one recommended does pass only 
`ThreadFactory` in place of `Executor`. That's what is being used by master and 
branch-2.
   Disruptor 3.4.2 uses their custom internal `BasicExecutor`:
   ```
   public class BasicExecutor implements Executor
   {
       private final ThreadFactory factory;
       private final Queue<Thread> threads = new ConcurrentLinkedQueue<>();
   
       public BasicExecutor(ThreadFactory factory)
       {
           this.factory = factory;
       }
   
       @Override
       public void execute(Runnable command)
       {
           final Thread thread = factory.newThread(command);
           if (null == thread)
           {
               throw new RuntimeException("Failed to create thread to run: " + 
command);
           }
   
           thread.start();
   
           threads.add(thread);
       }
   
       @Override
       public String toString()
       {
           return "BasicExecutor{" +
               "threads=" + dumpThreadInfo() +
               '}';
       }
   
       private String dumpThreadInfo()
       {
           final StringBuilder sb = new StringBuilder();
   
           final ThreadMXBean threadMXBean = 
ManagementFactory.getThreadMXBean();
   
           for (Thread t : threads)
           {
               ThreadInfo threadInfo = threadMXBean.getThreadInfo(t.getId());
               sb.append("{");
               sb.append("name=").append(t.getName()).append(",");
               sb.append("id=").append(t.getId()).append(",");
               
sb.append("state=").append(threadInfo.getThreadState()).append(",");
               sb.append("lockInfo=").append(threadInfo.getLockInfo());
               sb.append("}");
           }
   
           return sb.toString();
       }
   }
   
   ```


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


Reply via email to