Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix AbstractManagedChannelImplBuilder#maxInboundMessageSize(int) ABI #8607

Merged
merged 1 commit into from Oct 15, 2021

Commits on Oct 15, 2021

  1. Fix AbstractManagedChannelImplBuilder#maxInboundMessageSize(int) ABI

    In refactoring described in grpc#7211, the implementation of #maxInboundMessageSize(int)
    (and its corresponding field) were pulled down from internal AbstractManagedChannelImplBuilder
    to concrete classes that actually enforce this setting. For the same reason, it wasn't ported
    to ManagedChannelImplBuilder (the #delegate()).
    
    Then AbstractManagedChannelImplBuilder was brought back to fix ABI backward compatibility,
    and temporarily turned into a ForwardingChannelBuilder, ref PR grpc#7564. Eventually it will
    be deleted, after a period with "bridge" ABI solution introduced in grpc#7834.
    
    However, restoring AbstractManagedChannelImplBuilder unintentionally made ABI of
    pre-refactoring builds expect it to be a method of AbstractManagedChannelImplBuilder,
    and not concrete classes, ref grpc#8313.
    
    The end goal is to keep #maxInboundMessageSize(int) only in concrete classes that enforce it.
    To fix method's ABI, we temporary reintroduce it to the original layer it was removed from:
    AbstractManagedChannelImplBuilder. This class' only intention is to provide short-term
    ABI compatibility. Once we move forward with dropping the ABI, both fixes are no longer
    necessary, and both will perish with removing AbstractManagedChannelImplBuilder.
    sergiitk committed Oct 15, 2021
    Copy the full SHA
    06e81fa View commit details
    Browse the repository at this point in the history