[ 
https://issues.apache.org/jira/browse/DERBY-3359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12564363#action_12564363
 ] 

Jørgen Løland commented on DERBY-3359:
--------------------------------------

Thanks for writing such a detailed implementation suggestion, Narayanan. This 
should make it easy to discuss the suggested solution and review the code later!

I have only one concern with this, regarding workToDo case b):

Basically, what you're saying, is that if the log becomes 80% full, the client 
thread should be used to ship log records. This choice has at least the 
following consequences: 
* The log buffer can never get fuller than 90% (with the current 10 
LogBufferElements)
* We start increasing the client response time even in cases where the log 
produced by the transaction that client is involved in would fit in the buffer.

Based on this, I think workToDo case b) could simply be reduced to on b.3, i.e. 
notify the log shipper thread that it has to wake up no matter what. By doing 
that, we would still need the forceFlush method, but the client thread would 
not be involved in log shipping until the buffer is 100% full.

> The log shipper needs to be modified to vary the shipping intervals 
> dynamically (based on load)
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3359
>                 URL: https://issues.apache.org/jira/browse/DERBY-3359
>             Project: Derby
>          Issue Type: Sub-task
>            Reporter: V.Narayanan
>            Assignee: V.Narayanan
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to