Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-3567

AsynchronousLogShipper#forceFlush should time out

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.4.1.3, 10.5.1.1
    • 10.4.1.3, 10.5.1.1
    • Replication
    • None

    Description

      If the network connection to the slave is lost, ObjectOutputStream#writeObject may be blocked for 2 minutes before failing (not configurable TCP property).

      Currently, ALS#forceFlush sends a chunk of log to the slave using the client thread. The client thread cannot be blocked for 2 minutes before giving up. Rather, it should notify the log shipper that it has to send log immediately, and then wait for a short while (until notified or e.g. maximum 5 seconds). If the log shipper has not been able to empty some space in the log buffer by then, replication should be stopped.

      Attachments

        1. derby-3567-1c.diff
          4 kB
          Oystein Grovlen
        2. derby-3567-1b.diff
          4 kB
          Oystein Grovlen
        3. derby-3567-1a.stat
          0.2 kB
          Jorgen Loland
        4. derby-3567-1a.diff
          4 kB
          Jorgen Loland

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jorgenlo Jorgen Loland
            jorgenlo Jorgen Loland
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment