>
> I think the pragmatic thing to do is fix it now, and I'd strongly
> prefer to do that but wanted to check if there are any objections or
> things I hadn't considered?


+1 from me, should fix.

On Wed, Jul 29, 2020 at 11:59 AM Jon Meredith <jmeredit...@gmail.com> wrote:

> Following up on Mick's email about interface incompatible changes,
> CASSANDRA-15937 is ready for review. In my opinion, this just fixes
> some bugs in CASSANDRA-7544 patch that slipped through the original
> review, but before we review & merge fixes I wanted to ask if anybody
> had any objections to merging it at this stage.
>
> The ticket has more details, but to recap when InetAddressAndPort was
> introduced in CASSANDRA-7544 so that nodes can share the same IP
> address with different storage ports, new versions of status Mbeans
> were added that included the port so as not to break anything that
> didn't expect a port number. Unfortunately the change introduced
> inconsistencies in how the host address is formatted between the old
> and new versions. It also updated some per-connection metrics which
> are also affected.
>
> Before CASSANDRA-7544, describing host addresses either used
> InetAddress.toString which formats as "<resolved>/<numeric>" or
> InetAddress.getHostAddress which just provides a numeric address.
> InetAddressAndPort was introduced with only a toString() method that
> just provided the numeric address and port number, but did not provide
> an equivalent getHostAddress/getHostAddressAndPort methods.  The
> updated versions of all the JMX endpoints all called toString and
> dropped the resolved names.
>
> CASSANDRA-15937 adds an implementation of getHostAddressAndPort and
> reverts the getHostAddress to toString conversions, giving consistent
> formatting between the two versions, but with the port number.  This
> has the following impact (with a couple of other minor bugs fixed).
>
> 1) AllEndpointStats, SimpleStates, Connection message tracking,
> TimeoutsPerHost now include the [host]/ip:port in the WithPort version
> 2) Correct LoadMap to omit port (fixes backward compatibility)
> LoadMapWithPort to include port (which was missing)
> 3) Ownership - update WithPort to include the [host]/ip:port version
> 4) Scores - update WithPort to [host]/ip:port version
>
> It's a shame we didn't discover/resolve it before we cut beta1 as it
> does change things by introducing "[host]/" in some places, however
> this is only in 4.0 related fields that were just introduced.
>
> The alternatives to merging I can see are
>
> 1) Do nothing for the 4.0 release and have the new WithPort versions
> broken until we fix in a new major.
> 2) Introduce a third-version of the naming with things fixed
> (WithPort_2 or something awful)
> 3) Reduce scope - don't 'fix' all the bare host addresses, just fix
> LoadMap as it is the only one that is actually *wrong*, rather than
> different. Perhaps the resolved name before the slash is annoying to
> people.
>
> I think the pragmatic thing to do is fix it now, and I'd strongly
> prefer to do that but wanted to check if there are any objections or
> things I hadn't considered?
>
> Cheers, Jon.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
>
>

Reply via email to