[ 
https://issues.apache.org/jira/browse/AXIS2C-1326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Lazarski resolved AXIS2C-1326.
-------------------------------------
    Resolution: Won't Fix

Note that this issue concerns a thread factory and it doesn't get used in the 
new http/2 transport. 

The Axis2/C http/2 transport relies on nghttp2's built-in multiplexing, which 
handles concurrency at the protocol level without needing a thread per request. 
                                                

Marked as won't fix for the following reasons: 
 
  1. Architectural scope: This isn't a bug fix - it's a fundamental redesign of 
the threading 
  model. The current "thread pool" is a thread factory by design (despite the 
naming).        
  2. HTTP/2 alternative: The HTTP/2 transport (AXIS2C-1328) provides 
protocol-level           
  multiplexing that eliminates the need for many concurrent threads for client 
requests.      
  3. Implementation cost: A proper thread pool implementation would require:    
              
    - New data structures (job queue, worker array)                             
              
    - Synchronization primitives                                                
              
    - API changes (breaking compatibility)                                      
              
    - Updates to all callers                                                    
              
  4. Age and inactivity: 16 years old with no patches or follow-up.             
              
  5. Workaround exists: Users needing true thread pool semantics can implement 
their own or   
  use external thread pool libraries, then dispatch work to Axis2/C.            
              
                                                                                
              
 I have documented that axutil_thread_pool is a thread factory
   rather than a traditional thread pool.  

> Improvment to Axis2/C client side thread pool
> ---------------------------------------------
>
>                 Key: AXIS2C-1326
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1326
>             Project: Axis2-C
>          Issue Type: Improvement
>          Components: core/clientapi
>            Reporter: Damitha N.M. Kumarage
>            Priority: Major
>
> Currently Axis2/C client engine don't make use of the thread pool facility 
> even if we pass one.
> It just request threads from the thread pool and may exhaust all available 
> threads until
> blocking the main thread at some point waiting for new thread which is not 
> what
> the user desire by passing a thread pool. This limitation could be addressed 
> by not requesting
> threads from the passed thread pool but instead passing the job to the thread 
> pool(probably thread
> method and data). Then the thread pool handle the jobs without never blocking 
> the main thread.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to