AsynchronousLogShipper#workToDo is blocked while the log shipper sends a log 
chunk
----------------------------------------------------------------------------------

                 Key: DERBY-3526
                 URL: https://issues.apache.org/jira/browse/DERBY-3526
             Project: Derby
          Issue Type: Bug
    Affects Versions: 10.4.0.0, 10.5.0.0
            Reporter: Jørgen Løland


The replication log shipper thread synchronizes on 'this' both when shipping 
log records (shipALogChunk) and when it waits between log shipments. 

Transaction threads may try to wake up the log shipper because log has arrived 
that should be shipped (i.e., through the method workToDo). These threads 
should not have to wait for the monitor if the log shipper is currently busy 
shipping log. The solution is to have two monitors - one for log shipment and 
one for waiting between log shipment.

This may seem like a minor issue, but if the TCP connection between master and 
slave is lost e.g. because a network cable has been unplugged, the log shipper 
will block for 2 minutes on ObjectOutputStream#writeObject.

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