morningman opened a new pull request #7754:
URL: https://github.com/apache/incubator-doris/pull/7754


   # Proposed changes
   
   Issue Number: close #xxx
   
   ## Problem Summary:
   
   If an load task has a relatively short timeout, then we need to ensure that
   each RPC of this task does not get blocked for a long time.
   And an RPC is usually blocked for two reasons.
   
   1. handling "memory exceeds limit" in the RPC
       
       If the system finds that the memory occupied by the load exceeds the 
threshold,
       it will select the load channel that occupies the most memory and flush 
the memtable in it.
       this operation is done in the RPC, which may be more time consuming.
   
   2. close the load channel
   
       When the load channel receives the last batch, it will end the task.
       It will wait for all memtables flushes to finish synchronously. This 
process is also time consuming.
   
   Therefore, this PR solves this problem by.
   
   1. Use timeout to determine whether it is a high-priority load task
   
       If the timeout of an load task is relatively short, then we mark it as a 
high-priority task.
   
   2. not processing "memory exceeds limit" for high priority tasks
   3. use a separate flush thread to flush memtable for high priority tasks.
   
   ## Checklist(Required)
   
   1. Does it affect the original behavior: (No)
   2. Has unit tests been added: (No Need)
   3. Has document been added or modified: (Yes)
   4. Does it need to update dependencies: (No)
   5. Are there any changes that cannot be rolled back: (No)
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at 
[[email protected]](mailto:[email protected]) by explaining why you 
chose the solution you did and what alternatives you considered, etc...
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



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

Reply via email to