Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-12770

Triangle algorithm does not handle unmarshalling errors

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 9.4.21.Final, 11.0.9.Final, 12.0.1.Final
    • Core
    • None
    • Undefined

      TriangleDistributionInterceptor assumes that once a command is sent to one or more remote nodes, the target nodes that stay in the cluster will process the command after a finite amount of time.

      This is generally correct: JGroups guarantees that the message destination receives the message unless it leaves the cluster. But if there is an error unmarshalling the command, the command cannot be processed, and the TriangleOrderManager doesn't mark the command's sequence number as delivered.

      Not only that, but TriangleDistributionManager sends commands from the primary owner to the backups using JGroupsTransport.sendTo*(). The primary does not know when a backup failed to unmarshall the command, and cannot send another command to skip the sequence number.

            Unassigned Unassigned
            dberinde@redhat.com Dan Berindei (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: