Project

General

Profile

Bug #9472

change the AppServerConnectionPool from a push to a pull model

Added by Constantin Asofiei over 1 year ago. Updated over 1 year ago.

Status:
Test
Priority:
Normal
Target version:
-
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
reviewer:
production:
No
env_name:
topics:

History

#1 Updated by Constantin Asofiei over 1 year ago

Legacy services (WEB, REST, SOAP) are posting the tasks to a number of workers which are managed by AppServerConnectionPool in a push mode. This was supposed to manage the pool of workers in a priority queue, so the concurrent request load would be distributed evenly. But this is not seem to be the case.

Changing the workers to a pull model from a global queue of tasks (still managed by AppServerConnectionPool) should improve this.

#3 Updated by Constantin Asofiei over 1 year ago

  • % Done changed from 0 to 100
  • Assignee set to Constantin Asofiei
  • Status changed from New to Review
  • reviewer Greg Shah added

Created task branch 9272a from trunk rev 15629.

The changes are in 9272a/15630 - this can be reviewed.

The idea here is that we need both a pull and push method:
  • push is required when a task is dependent on the worker (like running a persistent proc and after that functions/procs on it)
  • pull can be used for normal non-persistent calls

The same will apply if/when we move the agent request to a pull method: push must be allowed to allow requests targeting that agent to be posted.

#4 Updated by Constantin Asofiei over 1 year ago

9472a/15631 add checking for tasks (from the pool queue or worker's private queue) in a single synchronized block.

I've tested SOAP persistent procs and they work OK.

#5 Updated by Constantin Asofiei over 1 year ago

Greg, please review.

#6 Updated by Greg Shah over 1 year ago

  • Status changed from Review to Internal Test

Code Review Task Branch 9472a Revisions 15630 and 15631

The changes look good to me.

#7 Updated by Constantin Asofiei over 1 year ago

  • Status changed from Internal Test to Merge Pending

I'm merging this to trunk now.

#8 Updated by Constantin Asofiei over 1 year ago

Branch 9472a was merged to trunk rev 15641 and archived.

#9 Updated by Greg Shah over 1 year ago

  • Status changed from Merge Pending to Test

Also available in: Atom PDF