Re: Feedback request on minor JMX interface incompatibility for CASSANDRA-15937

2020-08-19 Thread Jon Meredith
Thanks for the feedback, given three +1s and no objections then I'll
move on to get it merged.

I'm satisfied with the code and David Capwell has completed his
review. If another contributor with more experience with how JMX is
used in the community could look (particularly somebody with operator
experience) that would be greatly appreciated.

On Thu, Aug 6, 2020 at 5:56 AM Benedict Elliott Smith
 wrote:
>
> +1
>
> On 06/08/2020, 10:07, "Michael Semb Wever"  wrote:
>
>
> > 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
>
> Thanks for giving this visibility and demonstrating we are serious about 
> the beta test cycle.
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
>
>
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
>

-
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org



Re: Feedback request on minor JMX interface incompatibility for CASSANDRA-15937

2020-08-06 Thread Benedict Elliott Smith
+1

On 06/08/2020, 10:07, "Michael Semb Wever"  wrote:


> 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

Thanks for giving this visibility and demonstrating we are serious about 
the beta test cycle.

-
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org




-
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org



Re: Feedback request on minor JMX interface incompatibility for CASSANDRA-15937

2020-08-06 Thread Michael Semb Wever


> 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

Thanks for giving this visibility and demonstrating we are serious about the 
beta test cycle.

-
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org



Re: Feedback request on minor JMX interface incompatibility for CASSANDRA-15937

2020-07-29 Thread David Capwell
>
> 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  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 "/" 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
>
>


Feedback request on minor JMX interface incompatibility for CASSANDRA-15937

2020-07-29 Thread Jon Meredith
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 "/" 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